![]() |
eXeL@B —› Вопросы новичков —› Execryptor 2.2.4 - нужна помощь |
Посл.ответ | Сообщение |
|
Создано: 26 августа 2007 18:03 · Личное сообщение · #1 Программа (1.50 Mb): www.kernelpro.com/files/AdvancedVirtualComPort.zip Запакована EXECryptor. DIE определил: Эвристика - EXECryptor 2.2.x-2.3.x По внешней базе сигнатур(недавно пробегала в форуме) - EXECryptor 2.2.4. Язык: Microsoft Visual C. Самые полезные статьи,которые нашел: 1) Статья PE_KILL'а в rar статьях 2)Статья от Haggar "ExeCryptor 2.2.4": www.reversing.be/article.php?story=20061129191447423 3)Статья от Deroko "Unpacking And Dumping ExeCryptor And Coding Loader" arteam.accessroot.com/tutorials.html?fid=136 Все мои попытки найти OEP и расшифровать импорт окончились неудачей. Вопросов очень много, но буду задавать их понемногу,может некоторые сами пропадут. Итак,начну с OEP. Пытался найти OEP найти так,как написано у Haggar "ExeCryptor 2.2.4". Но там,где в статье "вот мы оказались на OEP", я оказываюсь в другом месте.Насколько я понял, я оказался на коде ,вставленном протом, который показывает наг-скрин. Что дальше делать, я не знаю. Пробовал делать по статье Дероко. OEPFinder(из статьи) говорит, что EIP 40a1e1,stolen bytes 8714. Дальше пишется,что восстановите байты и вы увидите jmp. Аттачусь Олей к процессу, и вижу: 0040A1E1 XCHG DWORD PTR SS:[ESP],EDX
И байты на месте, и jmp нигде не видно. Метод описанный в статье PE_KILL очень не надежный(по моему мнению).Хотя,если будет найден и расшифрован импорт,можно и попробовать поперебирать сигнатуры.Но я думаю это будет очень долго... Что дальше делать? Может есть еще какие нибудь полезные статьи? ![]() |
|
Создано: 26 августа 2007 18:36 · Личное сообщение · #2 http://www.exelab.ru/f/action=vthread&forum=1&topic=9276&p age=1 С низу четвертый пост как найти ОЕР, а лучше прочитай весь топик. 0040E916 55 PUSH EBP --> ОЕР 0040E917 8BEC MOV EBP,ESP 0040E919 6A FF PUSH -1 0040E91B 68 E0364100 PUSH Avcp.004136E0 0040E920 68 10E94000 PUSH Avcp.0040E910 ; JMP to msvcrt._except_handler3 0040E925 64:A1 00000000 MOV EAX,DWORD PTR FS:[0] 0040E92B 50 PUSH EAX 0040E92C 64:8925 00000000 MOV DWORD PTR FS:[0],ESP 0040E933 83EC 68 SUB ESP,68 0040E936 53 PUSH EBX 0040E937 56 PUSH ESI 0040E938 57 PUSH EDI 0040E939 8965 E8 MOV DWORD PTR SS:[EBP-18],ESP 0040E93C 33DB XOR EBX,EBX 0040E93E 895D FC MOV DWORD PTR SS:[EBP-4],EBX 0040E941 6A 02 PUSH 2 0040E943 FF15 A8144100 CALL DWORD PTR DS:[4114A8] ; msvcrt.__set_app_type 0040E949 59 POP ECX 0040E94A 830D 18664100 FF OR DWORD PTR DS:[416618],FFFFFFFF 0040E951 830D 1C664100 FF OR DWORD PTR DS:[41661C],FFFFFFFF 0040E958 FF15 A4144100 CALL DWORD PTR DS:[4114A4] ; msvcrt.__p__fmode 0040E95E 8B0D 0C664100 MOV ECX,DWORD PTR DS:[41660C] ![]() |
|
Создано: 27 августа 2007 01:49 · Поправил: tempread · Личное сообщение · #3 |
|
Создано: 27 августа 2007 06:35 · Личное сообщение · #4 |
|
Создано: 27 августа 2007 11:31 · Личное сообщение · #5 И так задача, распаковать сей замечательный продухт (остальное мне делать лениво).... 1. Найти ОЕП можно с помощью скрипта гребаного паффки. 2. Восстановить импорт можно с помощью скрипта ПЕКилла (версия 1.9) 3. Сдампить можно последним ПЕТулсом 4. Прикрутить импорт с помощью ипрека 5. Удалить ТЛС и сделать секции Writeble После всего этого результат (может на запустится потому как на разных осях не пробовал, если не запустится то нужно отдельно дампить секции говнопрота до инициализации, как это сделать написано kioresk'ом на форуме): rapidshare.com/files/51563260/Dumped_.rar.html И отдельно импорт если дамп не запустится: rapidshare.com/files/51563392/import.rar.html ----- StarForce и Themida ацтой! ![]() |
|
Создано: 27 августа 2007 11:33 · Личное сообщение · #6 |
|
Создано: 27 августа 2007 11:35 · Личное сообщение · #7 tempread пишет: Как восстанавливать TLS на MS VC программах? Ни как его там нету! поэтому просто занули, как ты и хотел. Есди не запускается значит: 1) Плохой дамп 2) Не весь импорт восстановил 3) Неправильное OEP ( или не восстановил спертый код... ) Если распакованный вариант Maximus, тебя не устроит - пиши, выложу свой. ![]() |
|
Создано: 27 августа 2007 11:41 · Личное сообщение · #8 |
|
Создано: 27 августа 2007 13:38 · Поправил: tempread · Личное сообщение · #9 Maximus Взял свой дамп,Ваш импорт - дамп запустился. Как Вы восстанавливали импорт? Почему у Вас такой импорт маленький? Я взял размер импорта как у вас, восстановил его плагином. Но там же(имеется ввиду,в пямяти в таблице импорта) еще много чего то есть,причем плагин его в функции превращает. Или плагин превращает в фунции все,что ему не подставишь? Я брал за импорт: RVA start=11000 RVA end = 151c0(где то так) У меня,при запуске скрипта ExeCryptor.2.x.IAT.Rebuilder-PE_Kill.txt,несколько сотен записей восстанавливается,потом появляется MessageBox о том,что память по адресу FFFFFFFF не читаема(при нажатии на OK, опять появляется это окно). 1. Найти ОЕП можно с помощью скрипта гребаного паффки. Имеется ввиду скрипт ExecryptStoepMSVCedit.txt ? ![]() |
|
Создано: 27 августа 2007 14:34 · Личное сообщение · #10 >Как Вы восстанавливали импорт? Взял скрипт пекила версию 1.9, вписал туда начало импорта и конец (и ту и другую цифру посмотрел в импреке, тупа нажав кнопку IATAutoSearch, хотя и визульно видно, что вроде определено правильно) >Почему у Вас такой импорт маленький? Дык это, импорт то вроде не маленький. Хотя может я и погорячился с импортом ![]() >память по адресу FFFFFFFF Ну это понятно откуда, там в секции импорта есть ячейки со значением -1 >Имеется ввиду скрипт ExecryptStoepMSVCedit.txt ? У меня он называется "EXECRIPTOR VMOEPfinder.txt" Запустил скрипт стоя на TLS, ввел все данные, на 5-ю или 6-ю итерацию скрипт мне нашел ОЕП (как ОЕП приблизительно должен выглядеть посмотрел на другой С проге)... ----- StarForce и Themida ацтой! ![]() |
|
Создано: 27 августа 2007 14:54 · Личное сообщение · #11 Вот так выглядит окончание таблицы импорта(если взять цифры Maximus'а): 00411538 77D51ADF user32.AppendMenuA
Так совпало,что в окончании не попорченный импорт. По каким признакам можно определить окончание импорта? По 16 нулям? ![]() |
|
Создано: 27 августа 2007 15:17 · Поправил: tempread · Личное сообщение · #12 |
|
Создано: 27 августа 2007 15:55 · Личное сообщение · #13 tempread методика стара как мир, бряк на esp-4... Скриптос + коментарии паффки http://www.exelab.ru/f/action=vthread&forum=1&topic=9470&p age=0 Да и ваще, хочешь узнать побольше про говнапрот, жмакай сюда http://www.exelab.ru/f/action=userinfo&user=293 ----- StarForce и Themida ацтой! ![]() |
|
Создано: 27 августа 2007 22:23 · Поправил: RSI · Личное сообщение · #14 Maximus пишет: дык нету там спертого кода, все начало целое.... Ну это я решил в целом рассказать про то и из-за чего обычно бывают тарблы ![]() tempread пишет: По каким признакам можно определить окончание импорта? Обычно должно быть 8 нулевых байт ( 2 DWORD ), на этом и будет конец IAT ( кроме некоторых борландовских прог). 00411540 >8A 42 AB 71 6A 40 AB 71 66 2B AB 71 D4 4F AB 71 ЉB«qj@«qf+«qФO«q 00411550 >F4 2B AB 71 91 3B AB 71 39 96 AB 71 70 2E AD 71 ф+«q‘;«q9–«qp.q 00411560 00 00 00 00 00 00 00 00 B0 14 40 00 70 15 41 00 ........°@.pA. 00411570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00411580 00 00 00 00 00 00 00 00 56 E2 40 00 C0 10 40 00 ........Vв@.А@. т.е. 41155С это последняя ячейка из IAT. ![]() |
|
Создано: 28 августа 2007 00:53 · Поправил: tempread · Личное сообщение · #15 Начал изучать распакованную программу. Пробовал с серийником что-нибудь сделать,хотя бы пропатчить - не смог, для меня слишком код запутанный. Тогда решил пропатчить регистрационную информацию - количество лицензий и количество портов, ну и что бы прога думала ,что она лицензионная. Вроде сделал, в about пишется то,что нужно, но по факту ограничения остались. Начал смотреь, откуда берутся количество лицензий и портов. Оказалось что прога делает CreateFileW, а потом ReadFile, и через такой pipe(вроде так) берет эту информацию у сервиса "KernelPro Advanced Virtual COM Port service". Т.е. нужно этот сервис ковырять. А сервис оказался тоже накрыт ExeCryptor'ом. Но я ж уже с большим багажом знаний! И за 7(!) минут без единой запинки распаковал файл! Причем там и краденные байты были, целых 15 байт. Но они востановились элементарно,посмотрел какое начало у уже распакованной первой программы(предположил,что версии компиляторов должны быть одинаковы),недостающие цыфры подсмотрел в стеке на temp OEP. Краденные байты леглы ровненько от jmp(на код прячущий украденные байты) до начала не украденных байт. Импорт восстановил скриптом от PE_KILL'а. OEP находил устанавливая поочередно бряк на запись то на секцию данных, то на секцию кода. Остановил сервис, заменил файлик сдапленным.Запустил сервис,он запустился. Потом запустил первую прогу, что мне помогали сдампить - и она нормально с сервисом общается. Так что осталось добить регистрацию, и с программой можно заканчивать ![]() Еще возник вопрос по поводу "сделать секции Writeble" как написал Maximus. Я этого не делал,вроде все работает. Когда нужно такое делать, и какие именно секции нужно делать writeble? P.S. С красивостями(делать импорт в ту же секцию,где он был, отрезание секций прота, забивание нулями секций) еще не разбирался, и так от количества информации голова пухнет ![]() ![]() |
|
Создано: 28 августа 2007 06:43 · Личное сообщение · #16 |
|
Создано: 28 августа 2007 09:45 · Личное сообщение · #17 |
|
Создано: 28 августа 2007 10:35 · Поправил: tempread · Личное сообщение · #18 PE_Kill Скрипты очень простые. Maximus в этой теме уже давал ссылку,повторяю(скрипт внутри архива с видео-тутором): EXECRIPTOR VMOEPfinder.txt - http://exelab.ru/f/action=vthread&forum=1&topic=9470 OEP_MSVC.rar ExecryptStoepMSVC.txt - Вот тут http://exelab.ru/F/action=vthread&forum=1&topic=9276&page= 3 жива вот эта ссылка: http://rapidshare.com/files/43525100/OEP_MSVC.rar В этой же теме выложена подправленная версия скрипта: http://www.exelab.ru/f/files/68d1_18.07.2007_CRACKLAB.rU.tgz ![]() |
|
Создано: 29 августа 2007 14:24 · Личное сообщение · #19 tempread, Еще возник вопрос по поводу "сделать секции Writeble" как написал Maximus. Я этого не делал,вроде все работает. Когда нужно такое делать, и какие именно секции нужно делать writeble? Точно не помню, но по-моему начиная с версии 2.3 криптор стал править заголовок и менять аттрибуты секций. Writable делай секции кода, данных и крипторовские секции. ![]() |
|
Создано: 29 августа 2007 15:56 · Личное сообщение · #20 О, kioresk, помоги челу с этой прогой вот в этой теме http://www.exelab.ru/f/action=vthread&forum=1&topic=9769 ----- StarForce и Themida ацтой! ![]() |
|
Создано: 29 августа 2007 17:11 · Личное сообщение · #21 |
|
Создано: 30 августа 2007 11:07 · Личное сообщение · #22 С распакованным сервисом возникли проблемы,описанные тут: http://www.exelab.ru/f/action=vthread&forum=1&topic=9769&p age=-1 ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Execryptor 2.2.4 - нужна помощь |
Эта тема закрыта. Ответы больше не принимаются. |