Сейчас на форуме: vasilevradislav, site-pro, johnniewalker, NIKOLA, vsv1, r0lka (+6 невидимых) |
![]() |
eXeL@B —› Софт, инструменты —› mPack - mario PACKer |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 25 июня 2006 18:26 · Личное сообщение · #1 mPack - mario PACKer simple Win32 PE Executable compressor Coded in Delphi 5! Proof of Concept that a Packer can be done in Delphi! mPack version 0.0.2 © DeltaAziz Забавная штука если это пакер то он ни хрена жмет если протектор то отстойный ![]() ![]() ![]() |
|
Создано: 25 июня 2006 22:05 · Личное сообщение · #2 |
|
Создано: 26 июня 2006 09:14 · Личное сообщение · #3 |
|
Создано: 26 июня 2006 09:30 · Личное сообщение · #4 |
|
Создано: 26 июня 2006 11:54 · Личное сообщение · #5 |
|
Создано: 26 июня 2006 12:00 · Личное сообщение · #6 |
|
Создано: 26 июня 2006 12:13 · Личное сообщение · #7 |
|
Создано: 26 июня 2006 12:38 · Личное сообщение · #8 lord_Phoenix пишет: но все равно можно обойти %) Были слухи, что эта возможность будет оставлена лдя фаерволов и антивирей, у них будут ропознавательные знаки и им путь будет открыт, больше вроде никак, если по закону ![]() cleric пишет: Марио? какой-то? Ну 555 не написано, так что мжно только теоретизировать PE_Kill пишет: Погугли по слову Dep. 57 600 000 ![]() ----- Недостаточно только получить знания:надо найти им приложение ![]() |
|
Создано: 26 июня 2006 12:46 · Личное сообщение · #9 Rascal пишет: Были слухи, что эта возможность будет оставлена лдя фаерволов и антивирей, у них будут ропознавательные знаки и им путь будет открыт, больше вроде никак, если по закону а еще для некоторых протов/пакеров..и для тех кто знает как это открыто для протов/пакеров ;) ----- Тут не могла быть ваша реклама ![]() |
|
Создано: 26 июня 2006 13:16 · Поправил: Rascal · Личное сообщение · #10 |
|
Создано: 26 июня 2006 14:48 · Личное сообщение · #11 |
|
Создано: 26 июня 2006 14:58 · Личное сообщение · #12 |
|
Создано: 26 июня 2006 15:10 · Личное сообщение · #13 |
|
Создано: 26 июня 2006 15:23 · Поправил: Rascal · Личное сообщение · #14 pavka Да ну, там ещё такая фигня, которую как раз уже дофиксиваю: 004010AC NOP
Тольо надоело падать с доступом по адресу 0x27, как-то палит ведь ----- Недостаточно только получить знания:надо найти им приложение ![]() |
|
Создано: 26 июня 2006 15:43 · Личное сообщение · #15 Вау! У меня после упаковки калькулятор стал черно-белым! Рульный пакер, делает прогу стильной. ![]() ----- MicroSoft? Is it some kind of a toilet paper? ![]() |
|
Создано: 26 июня 2006 15:47 · Поправил: Rascal · Личное сообщение · #16 Чё-то он со стилями там кучевряжет, сволочь ![]() [EDITED] Окно маленькое походу из-за мьюекса, ибо достаточно просто запустить второй вариант и опана, лезем в диспетчер задач вырубать ![]() ----- Недостаточно только получить знания:надо найти им приложение ![]() |
|
Создано: 26 июня 2006 16:11 · Личное сообщение · #17 Хе, скрин с рамками, обращаем внимание на добавление тонких границ к краям проги.... ![]() ----- The blood swap.... ![]() |
|
Создано: 26 июня 2006 17:22 · Поправил: Rascal · Личное сообщение · #18 Итак, на ОЕП попал, тока прога не распаковалась полностью ![]() Переход на оеп: 00361897 MOV DWORD PTR SS:[EBP+18B6],EBP
[ADDED] Усё, мона писать скрипт. Пакер не выдержал ![]() ----- Недостаточно только получить знания:надо найти им приложение ![]() |
|
Создано: 26 июня 2006 19:07 · Личное сообщение · #19 |
|
Создано: 26 июня 2006 19:18 · Личное сообщение · #20 Это примерно то же самое что SkD Undetectabler 2.0 Так сказать вариации на тему ![]() ![]() ![]() |
|
Создано: 26 июня 2006 21:12 · Личное сообщение · #21 pavka пишет: Если сам пакер то ИАТ там не тронута только востановить переходники! Она в другом участке памяти. Ясно, что копируется из самого модуля, но чё-то не понятно, как перенаправить указатели в хидере. И я не присмотрелся, формат правильный. Перед именами функций 2 байта для union видел. А вообще мне интересно написать скрипт, там буду заменять относительные прыги на обычные импортные и писать туда из таблицы указатель на правильный апи адрес, потом импрек и фсё ок ![]() ----- Недостаточно только получить знания:надо найти им приложение ![]() |
|
Создано: 26 июня 2006 21:16 · Личное сообщение · #22 |
|
Создано: 26 июня 2006 22:12 · Личное сообщение · #23 pavka OEP - согласен IAT - мы не сможем запустить прогу в другой системе. В памяти лежит именно IT, её бы прикрутить PS: что интересно, автор предусмотрел опции пакера, ибо можно обойти редирект импорта, хотя хз, может это такое наказание за использование отладчика (00351711 CMP EAX,1) ![]() ----- Недостаточно только получить знания:надо найти им приложение ![]() |
|
Создано: 27 июня 2006 06:40 · Личное сообщение · #24 Rascal 00401154 - FF25 40815200 jmp dword ptr ds:[528140] ; kernel32.GetModuleFileNameA 0040115A |. 8BC0 mov eax,eax 0040115C - FF25 3C815200 jmp dword ptr ds:[52813C] ; kernel32.GetModuleHandleA 00401162 |. 8BC0 mov eax,eax 00401164 - FF25 38815200 jmp dword ptr ds:[528138] ; kernel32.GetProcAddress и т.д ![]() |
|
Создано: 27 июня 2006 16:09 · Личное сообщение · #25 Rascal вот еще вариант ! Немного модифицируем процедуру и скопируем табличку в свободное место примерно так.. 005338AB $ 50 push eax 005338AC . 8BC4 mov eax,esp 005338AE . 60 pushad 005338AF . 8BD8 mov ebx,eax 005338B1 E8 04000000 call mPack_.005338BA 005338B6 0000 add byte ptr ds:[eax],al 005338B8 3900 cmp dword ptr ds:[eax],eax 005338BA $ 5D pop ebp 005338BB . 8B6D 00 mov ebp,dword ptr ss:[ebp] 005338BE . 8B7B 04 mov edi,dword ptr ds:[ebx+4] 005338C1 BE 60465300 mov esi,mPack_.00534660 005338C6 90 nop 005338C7 90 nop 005338C8 90 nop 005338C9 8B06 mov eax,dword ptr ds:[esi] 005338CB . 33D2 xor edx,edx 005338CD . B9 02000000 mov ecx,2 005338D2 . F7E1 mul ecx 005338D4 . D1E8 shr eax,1 005338D6 . 3BF8 cmp edi,eax 005338D8 . 75 0A jnz short mPack_.005338E4 005338DA . 0AD2 or dl,dl 005338DC . 75 04 jnz short mPack_.005338E2 005338DE . EB 09 jmp short mPack_.005338E9 005338E0 . EB 02 jmp short mPack_.005338E4 005338E2 > EB 10 jmp short mPack_.005338F4 005338E4 > 83C6 08 add esi,8 005338E7 .^ EB E0 jmp short mPack_.005338C9 005338E9 > 8B46 04 mov eax,dword ptr ds:[esi+4] 005338EC . 8903 mov dword ptr ds:[ebx],eax 005338EE . 61 popad 005338EF . 58 pop eax 005338F0 . 8B00 mov eax,dword ptr ds:[eax] 005338F2 . FFE0 jmp eax 005338F4 > 8B46 04 mov eax,dword ptr ds:[esi+4] 005338F7 . 8903 mov dword ptr ds:[ebx],eax 005338F9 . 61 popad 005338FA . 58 pop eax 005338FB . 83C4 04 add esp,4 005338FE . 8B00 mov eax,dword ptr ds:[eax] 00533900 . FFE0 jmp eax Все работает ![]() ![]() |
|
Создано: 27 июня 2006 16:16 · Личное сообщение · #26 003519ED kerne
Вот IT, её бы перекрутить в прогамму, поменять в хидере указатель на IT, IAT и при каждом запуске загрузчик будет подставлять правильные адреса апи в IAT. У тебя же эти адреса не меняются загрузчиком, если ты не поправил IT. ----- Недостаточно только получить знания:надо найти им приложение ![]() |
|
Создано: 27 июня 2006 16:22 · Личное сообщение · #27 Ты смотришь не туда ! Забудь ты про это! Там не нужно ни чего прикручивать там все есть! 005280F0 7C809737 kernel32.GetCurrentThreadId 005280F4 7C91188A ntdll.RtlDeleteCriticalSection 005280F8 7C9010ED ntdll.RtlLeaveCriticalSection 005280FC 7C901005 ntdll.RtlEnterCriticalSection 00528100 7C809FA1 kernel32.InitializeCriticalSection 00528104 7C809B14 kernel32.VirtualFree 00528108 7C809A81 kernel32.VirtualAlloc 0052810C 7C80995D kernel32.LocalFree 00528110 7C8099BD kernel32.LocalAlloc 00528114 7C80B859 kernel32.VirtualQuery 00528118 7C80A0C7 kernel32.WideCharToMultiByte 0052811C 7C809CAD kernel32.MultiByteToWideChar 00528120 7C80C6E0 kernel32.lstrlenA 00528124 7C810311 kernel32.lstrcpynA 00528128 7C80C729 kernel32.lstrcpyA 0052812C 7C801D4F kernel32.LoadLibraryExA 00528130 7C80A405 kernel32.GetThreadLocale 00528134 7C801EEE kernel32.GetStartupInfoA 00528138 7C80AC28 kernel32.GetProcAddress 0052813C 7C80B529 kernel32.GetModuleHandleA 00528140 7C80B357 kernel32.GetModuleFileNameA 00528144 7C80D47E kernel32.GetLocaleInfoA 00528148 7C910331 ntdll.RtlGetLastWin32Error 0052814C 7C812C8D kernel32.GetCommandLineA 00528150 7C80AA66 kernel32.FreeLibrary 00528154 7C813559 kernel32.FindFirstFileA 00528158 7C80EFD7 kernel32.FindClose 0052815C 7C81CAA2 kernel32.ExitProcess 00528160 7C810F9F kernel32.WriteFile 00528164 7C862B8A kernel32.UnhandledExceptionFilter 00528168 7C810DA6 kernel32.SetFilePointer 0052816C 7C81F850 kernel32.SetEndOfFile 00528170 7C937A40 ntdll.RtlUnwind 00528174 7C80180E kernel32.ReadFile 00528178 7C81EAE1 kernel32.RaiseException 0052817C 7C812CA9 kernel32.GetStdHandle 00528180 7C810C8F kernel32.GetFileSize 00528184 7C811069 kernel32.GetFileType 00528188 7C801A24 kernel32.CreateFileA 0052818C 7C809B77 kernel32.CloseHandle 00528190 00000000 00528194 77D5FA46 user32.GetKeyboardType 00528198 77D5EC98 user32.LoadStringA 0052819C 77D7050B user32.MessageBoxA 005281A0 77D5EC40 user32.CharNextA 005281A4 00000000 005281A8 77DC7883 advapi32.RegQueryValueExA 005281AC 77DC761B advapi32.RegOpenKeyExA 005281B0 77DC6BF0 advapi32.RegCloseKey 005281B4 00000000 005281B8 771165C4 oleaut32.VariantChangeTypeEx 005281BC 7713D348 oleaut32.VariantCopyInd 005281C0 771148C0 oleaut32.VariantClear 005281C4 77114C3B oleaut32.SysStringLen 005281C8 77114850 oleaut32.SysFreeString 005281CC 7713C99D oleaut32.SysReAllocStringLen 005281D0 77114B59 oleaut32.SysAllocStringLen 005281D4 00000000 005281D8 7C809BF5 kernel32.TlsSetValue 005281DC 7C809750 kernel32.TlsGetValue 005281E0 7C8099BD kernel32.LocalAlloc 005281E4 7C80B529 kernel32.GetModuleHandleA 005281E8 7C80B357 kernel32.GetModuleFileNameA 005281EC 00000000 005281F0 7C838FB9 kernel32.lstrcatA 005281F4 7C810F9F kernel32.WriteFile 005281F8 7C802530 kernel32.WaitForSingleObject 005281FC 7C80B859 kernel32.VirtualQuery 00528200 7C810DA6 kernel32.SetFilePointer 00528204 7C81F850 kernel32.SetEndOfFile 00528208 7C80180E kernel32.ReadFile 0052820C 7C9010ED ntdll.RtlLeaveCriticalSection 00528210 7C809FA1 kernel32.InitializeCriticalSection 00528214 7C810082 kernel32.GlobalUnlock 00528218 7C8125C9 kernel32.GlobalReAlloc 0052821C 7C838F36 kernel32.GlobalHandle 00528220 7C810119 kernel32.GlobalLock 00528224 7C80FE2F kernel32.GlobalFree 00528228 7C80FF2D kernel32.GlobalAlloc 0052822C 7C812851 kernel32.GetVersionExA 00528230 7C80A405 kernel32.GetThreadLocale 00528234 7C80AC28 kernel32.GetProcAddress 00528238 7C80B529 kernel32.GetModuleHandleA 0052823C 7C80B357 kernel32.GetModuleFileNameA 00528240 7C80D47E kernel32.GetLocaleInfoA 00528244 7C910331 ntdll.RtlGetLastWin32Error 00528248 7C810C8F kernel32.GetFileSize 0052824C 7C827373 kernel32.GetDiskFreeSpaceA 00528250 7C809737 kernel32.GetCurrentThreadId 00528254 7C812BE6 kernel32.GetCPInfo 00528258 7C825F62 kernel32.FormatMessageA 0052825C 7C83761C kernel32.EnumCalendarInfoA 00528260 7C901005 ntdll.RtlEnterCriticalSection 00528264 7C91188A ntdll.RtlDeleteCriticalSection 00528268 7C801A24 kernel32.CreateFileA 0052826C 7C81E4BD kernel32.CreateEventA 00528270 7C80D293 kernel32.CompareStringA 00528274 7C809B77 kernel32.CloseHandle 00528278 00000000 0052827C 77D560D5 user32.SetDlgItemTextA 00528280 77D3E2AE user32.SendMessageA 00528284 77D7050B user32.MessageBoxA 00528288 77D5EC98 user32.LoadStringA 0052828C 77D421AE user32.LoadIconA 00528290 77D38F75 user32.GetSystemMetrics 00528294 77D452A4 user32.GetDlgItem 00528298 77D46CC9 user32.EndDialog 0052829C 77D3C4D4 user32.EnableWindow 005282A0 77D488E1 user32.DialogBoxParamA 005282A4 77D3E666 user32.DestroyWindow 005282A8 00000000 005282AC 7CA73FB3 shell32.DragQueryFileA 005282B0 00000000 005282B4 7638311E comdlg32.GetOpenFileNameA что тебе еще нужно вставить! Пройдись внимательно по процедуре у тебя она 003218AB ![]() |
|
Создано: 27 июня 2006 16:45 · Личное сообщение · #28 pavka Бляха-муха, это есть IAT, там уже адреса, полученные загрузчиком виндов!!!. Теперь представим, что перенесли прогу в другой сервиспак, видим следующее - загрузчик грузит, но IT находит левую, в принципе ничего не меняет, а таблица, которую показываешь ты, мы получили в других виндах и она не изменилась. При запуске ппрога при вызове по этим адресам вызывает совсем не то!!! А чтобы было всё ок достаточно прикрутить IT, показанную в предыдущем посте, и загрузчик все адреса подставил бы прваильные. А так прога пахать в другой системе не будет!!! ----- Недостаточно только получить знания:надо найти им приложение ![]() |
|
Создано: 27 июня 2006 17:25 · Личное сообщение · #29 |
|
Создано: 27 июня 2006 18:43 · Личное сообщение · #30 |
. 1 . 2 . >> |
![]() |
eXeL@B —› Софт, инструменты —› mPack - mario PACKer |