![]() |
[email protected] —› Протекторы —› EXE32Pack 1.3x -> SteelBytes |
Посл.ответ | Сообщение |
|
Создано: 04 июля 2005 14:47 · Личное сообщение · #1 Значит - жертва эксперимента http://www.axitech.hu/nettransport/downloads/NT2Setup_multi.exe . Казалось бы,что тут распаковывать - OEP находится легко,далее зациклил на команде... JMP EAX ; EAX = OEP = 0048EA40 ...снял дамп.При восстановлении импорта в ImpRec каким-то мерзким образом отказывалась определяться одна функция.Посмотрел через "Dissassemdle/Hex View" - вроде оказалась библиотека mfc42.dll/108A - ладно,вписал её туда вручную.В итоге,дамп отказывается запускаться. Начав ковырять,выяснил,что,с одной стороны,программа вызывает функцию GetFileAttributesA и,если возвращаемое значение -1, нас направляют на ExitProcess.С другой стороны,чуть ниже вызывается некая функция,которая возвращает в регистре AL либо ноль,либо единицу.Если это ноль, нас опять откоммандировывают на ExitProcess.И таких мест несколько,а может и больше... Смешно то,что даже оригинальный исполняемый файл перестаёт запускаться,если изменить его название (это как раз тот случай,когда функция GetFileAttributesA возвращает значение 0xFFFFFFFF (-1) . Собственно вопрос : "Что делать?" И где можно найти статью об этом (те две ссылки,что я нашёл,оказались битыми) ? ----- the Power of Reversing team ![]() |
|
Создано: 04 июля 2005 15:01 · Личное сообщение · #2 |
|
Создано: 04 июля 2005 15:10 · Личное сообщение · #3 |
|
Создано: 04 июля 2005 15:25 · Личное сообщение · #4 Mario555 пишет: Думаю к пакеру это всё отношения не имеет, просто дополнительные проверки добавленные автором проги ...в натуре что-ли,а я уже было подумал,что эта штука позаковыристее ASProtect'а ![]() Mario555 пишет: для начала попробовать переименовать дамп так как называется исходный файл ...пробовал - тогда программа вылетает по второму варианту,описанному мною выше. ValdiS пишет: Ведь так не интересно, азарта нет... ...извини,конечно,откуда мне было знать ![]() Попробую ещё поковырять... ----- the Power of Reversing team ![]() |
|
Создано: 04 июля 2005 15:54 · Личное сообщение · #5 DillerInc пишет: Попробую ещё поковырять... Проблема в libcrypto.dll. Она возвращает 0, а нужно 1. Запакована тем же пакерером что и сама прога. Первая проверка: 00461996 CALL DWORD PTR SS:[ESP+24] 0046199A ADD ESP,14 0046199D CMP AL,1 [если 0- не прыгаем 0046199F JE SHORT NetTrans.004619B7 004619A1 MOV EAX,DWORD PTR SS:[ESP+30] 004619A5 PUSH EAX 004619A6 CALL DWORD PTR DS:[<&msvcrt.free>]; msvcrt.free 004619AC ADD ESP,4 004619AF PUSH -64 004619B1 CALL DWORD PTR DS:[<&kernel32.ExitProces>; kernel32.ExitProcess 004619B7 PUSH 0 004619B9 CALL DWORD PTR DS:[<&kernel32.GetModuleH>; kernel32.GetModuleHandleA Вторая проверка: 00461A64 CALL DWORD PTR SS:[ESP+24] 00461A68 ADD ESP,14 00461A6B CMP AL,1 тоже самое 00461A6D JE SHORT NetTrans.00461A85 00461A6F MOV ECX,DWORD PTR SS:[ESP+30] 00461A73 PUSH ECX 00461A74 CALL DWORD PTR DS:[<&msvcrt.free>] ; msvcrt.free 00461A7A ADD ESP,4 00461A7D PUSH -65 00461A7F CALL DWORD PTR DS:[<&kernel32.ExitProces>; kernel32.ExitProcess 00461A85 MOV EDX,DWORD PTR SS:[ESP+18] 00461A89 PUSH EDX 00461A8A CALL DWORD PTR DS:[<&kernel32.FreeLibrar>; kernel32.FreeLibrary ![]() |
|
Создано: 04 июля 2005 15:57 · Личное сообщение · #6 DillerInc, в дампе по адресам 46199f и 461a6d делаешь JMP, имя дампа меняешь на имя оригинального EXE-шника. И радуешься жизни. А сам EXE32Pack 1.3x -> SteelBytes распаковывается в течении пары минут. DillerInc пишет: При восстановлении импорта в ImpRec каким-то мерзким образом отказывалась определяться одна функция. У меня все в норме сразу же... ![]() ----- Сколько ни наталкивали на мысль – все равно сумел увернуться ![]() |
|
Создано: 04 июля 2005 15:59 · Личное сообщение · #7 |
|
Создано: 04 июля 2005 16:05 · Личное сообщение · #8 |
|
Создано: 04 июля 2005 18:35 · Личное сообщение · #9 ValdiS пишет: Так бы и писал, что "программа уже ломаная, а я хочу начиться распаковывать". Ведь так не интересно, азарта нет... Что нарыл еще? не хочешь, не смотри! хватит флудить, блин, это не чат! притензии к содержанию сообщения могут предъявлять только администратор и модераторы, коим ты не являешься! DillerInc на вопросы, не касающиеся топика, можешь не отвечать или в ПМ. И это касается всех участников. ;) NIKOLA Разговоры о погоде, времени и т.п. в ПМ. ----- once you have tried it, you will never want anything else ![]() |
|
Создано: 04 июля 2005 18:48 · Личное сообщение · #10 ValdiS пишет: в дампе по адресам 46199f и 461a6d делаешь JMP, имя дампа меняешь на имя оригинального EXE-шника. И радуешься жизни ...ну,так и я могу ![]() Проблема в том,что в моём случае она падает ещё в каком-то месте,и у меня уже заканчивается терпение ковыряться в этой дряни. Главное - это то,что я теперь имею представление о такой вещи как EXE32Pack ![]() gloom Моё уважение ![]() ----- the Power of Reversing team ![]() |
|
Создано: 04 июля 2005 19:31 · Личное сообщение · #11 |
|
Создано: 04 июля 2005 22:52 · Личное сообщение · #12 |
|
Создано: 05 июля 2005 00:04 · Личное сообщение · #13 NIKOLA пишет: Может дамп кривой или импорт ...дамп я снимал с помощью PETools,зациклившись на команде JMP EAX . Та неопределившаяся функция находилась в самом низу "дерева", т.е. в самом нижнем thunk. И была она в этом thunk только одна. Я определил её как mfc42.dll/108A . Если не трудно,посмотри,пожалуйста,что у тебя там. P.S. Может кто знает какую-нибудь программу,запакованную EXE32Pack,которая "нормально" распаковывается ? Ну,чтобы был хоть какой-то положительный опыт ![]() ----- the Power of Reversing team ![]() |
|
Создано: 05 июля 2005 00:16 · Личное сообщение · #14 |
|
Создано: 05 июля 2005 09:26 · Личное сообщение · #15 DillerInc Проверь свой IAT: для mfc42.dll должно быть 249h определившихся функций. Приаттачь его. У меня такой же, как у NIKOLA. DillerInc пишет: Та неопределившаяся функция находилась в самом низу "дерева" Не знаю, у меня они все подряд шли, скорее всего это ошибка... ![]() DillerInc пишет: ...дамп я снимал с помощью PETools Я использовал Лорда, размер моего дампа - 1 339 392 байт (без восстановленного импорта), 1 343 488 байт - с импортом. Секцию пакера я не удалял. ----- Сколько ни наталкивали на мысль – все равно сумел увернуться ![]() |
|
Создано: 05 июля 2005 13:55 · Личное сообщение · #16 NIKOLA пишет: Отладчик то какой ? ...всё тот же - SoftIce ![]() ValdiS пишет: Проверь свой IAT: для mfc42.dll должно быть 249h определившихся функций ...посмотрел у себя - так и есть.Получается,что та последняя функция у меня ни к селу,ни к городу.Ну,я её и отчикал.Затем в HIEW поменял нужные условные переходы на безусловные. И далее идёт кульминационный момент - дамп,сделанный с помощью PETools,отказывается в таком случае работать,выдавая ошибку: "такой-то файл is not a valid Win32 application" . Дамп же,сделанный с помощью LordPE,благополучно запускается!! Вот уж не знаю - первый раз у меня такое с PETools ![]() В общем,благодарю всех за участие и поддержку ![]() ----- the Power of Reversing team ![]() |
|
Создано: 05 июля 2005 14:07 · Личное сообщение · #17 DillerInc пишет: Вот уж не знаю - первый раз у меня такое с PETools У меня было, из-за чего такое происходит не знаю сам. Поэтому снимаю дамп и Лордом, и PETools, и даже Олькой (правда, ее дамп всегда больше по размеру). Как говориться, на всякий пожарный... ![]() ----- Сколько ни наталкивали на мысль – все равно сумел увернуться ![]() |
|
Создано: 05 июля 2005 14:22 · Личное сообщение · #18 |
![]() |
[email protected] —› Протекторы —› EXE32Pack 1.3x -> SteelBytes |
Эта тема закрыта. Ответы больше не принимаются. |