Сейчас на форуме: _MBK_ (+7 невидимых) |
![]() |
eXeL@B —› Основной форум —› Помогите найти OEP (ExeCryptor) |
. 1 . 2 . 3 . >> |
Посл.ответ | Сообщение |
|
Создано: 25 июля 2007 11:09 · Личное сообщение · #1 Доброго времени суток, ув. знатоки! Падаю перед вами на коленочки и очень сильно прошу помочь с распаковкой проги упакованой бякой под названием EXECryptor. По туториалам удалось восстановить импорт, но к сожалению не удалось разобраться как дойти до OEP. Вернее скорее всего я до него доходил, но не сумел понять что это он ибо похоже, что байты скрадены. Ссылка на прогу на разных обменниках: slil.ru/24663145 rapidshare.com/files/44899776/TradeBot.rar.html ifolder.ru/2782974 Размер файла 1,1 метра. PS: Если все же кто-то будет смотреть её, то может глянет хоть одним глазком какой алгоритм шифрации пакетов там используется? Верно ли мое предположение, что там BlowFish? Собственно конечной целью является не взлом программы, а выяснение алгоритма шифрации, но это я уже сам скорее всего смогу сделать. ![]() |
|
Создано: 25 июля 2007 11:19 · Личное сообщение · #2 |
|
Создано: 25 июля 2007 11:20 · Личное сообщение · #3 |
|
Создано: 25 июля 2007 11:47 · Личное сообщение · #4 |
|
Создано: 25 июля 2007 12:17 · Личное сообщение · #5 |
|
Создано: 26 июля 2007 11:24 · Личное сообщение · #6 http://exelab.ru/f/action=vthread&forum=1&topic=9470 Вот этот топик тебе точно нужон будет! ----- One death is a tragedy, one million is a statistic. ![]() |
|
Создано: 27 июля 2007 04:27 · Личное сообщение · #7 |
|
Создано: 27 июля 2007 08:17 · Личное сообщение · #8 |
|
Создано: 27 июля 2007 09:44 · Личное сообщение · #9 |
|
Создано: 27 июля 2007 09:59 · Личное сообщение · #10 У меня Windows XP SP2 Я пробовал на 3-х разных машинах. Везде один результат. Падает при запуске. Вот лог от Оли Log data Address Message >> Status: EP break deleted 008E488E INT3 command at TradeBot.008E488E 008E4BED INT3 command at TradeBot.008E4BED 008E17B6 INT3 command at TradeBot.008E17B6 0078C0BC Access violation when reading [77D5F3C6] 77D5F3C6 Access violation when executing [77D5F3C6] 008E76AE INT3 command at TradeBot.008E76AE 008E1BE6 INT3 command at TradeBot.008E1BE6 7C80B870 Access violation in KERNEL32 ignored on request 76390000 Module C:\WINDOWS\system32\IMM32.DLL 69450000 Module C:\WINDOWS\system32\faultrep.dll 769C0000 Module C:\WINDOWS\system32\USERENV.dll 76360000 Module C:\WINDOWS\system32\WINSTA.dll 5B860000 Module C:\WINDOWS\system32\NETAPI32.dll 76F50000 Module C:\WINDOWS\system32\WTSAPI32.dll 77920000 Module C:\WINDOWS\system32\SETUPAPI.dll 77B40000 Module C:\WINDOWS\system32\Apphelp.dll 5B860000 Unload C:\WINDOWS\system32\NETAPI32.dll 69450000 Unload C:\WINDOWS\system32\faultrep.dll 76360000 Unload C:\WINDOWS\system32\WINSTA.dll 769C0000 Unload C:\WINDOWS\system32\USERENV.dll 76F50000 Unload C:\WINDOWS\system32\WTSAPI32.dll 77920000 Unload C:\WINDOWS\system32\SETUPAPI.dll 008E488E INT3 command at TradeBot.008E488E 008E4BED INT3 command at TradeBot.008E4BED 008E56B3 Access violation when reading [545C706F] Process terminated, exit code C0000005 (-1073741819.) ![]() |
|
Создано: 27 июля 2007 11:30 · Поправил: r99 · Личное сообщение · #11 |
|
Создано: 27 июля 2007 13:13 · Личное сообщение · #12 |
|
Создано: 27 июля 2007 14:20 · Поправил: Demon666 · Личное сообщение · #13 r99 пишет: в Total Commander сравниваю 2 бинарных файла - но опция редактирования не пашет Хз. я его сравниловку не юзаю, но может быть файл открыт другой программой, который ты пытаешься редактировать, а та прога запрещает его редактировать.., или файл является только для чтения, короче бывает такое иногда из-за тупых ограничений в прогах… [ADD] Хм.. ща посмотрел точно, не редактирует непонятно толи он вообще не умеет или в его адцких настройках чего-то надо включить, если он не умеет бинарики редактировать, то непонятно че его пиарят кругом, уже 1о лет кодят и только treeview включили – жесть…%) r99 пишет: Чем можно еще редактировать при сравнении 2-х файлов? r99 Посмотри вот чуток, там вроде как все и обсуждали, может, че подберешь для себя http://exelab.ru/f/action=vthread&forum=3&topic=8400 http://exelab.ru/f/action=vthread&forum=1&topic=8483 http://www.exelab.ru/f/action=vthread&forum=1&topic=7109 Я пользую частенько Araxis Merge… ----- ЗЫ: истЕна где-то рядом, Welcome@Google.com ![]() |
|
Создано: 27 июля 2007 19:24 · Личное сообщение · #14 pavka пишет: страный адрес kernel для второго пака А есть сборочные паки,не корпоративные или родные,они первыми вышли на рынок. r99 пишет: Чем можно еще редактировать при сравнении 2-х файлов? hiew.7.26 позволяет править,два окна открыл,сравнивай и правь ----- Чтобы юзер в нэте не делал,его всё равно жалко.. ![]() |
|
Создано: 28 июля 2007 08:13 · Личное сообщение · #15 Похоже можно с этой фигней боротся вот так! Распаковали как обычно Затем рестарт! Ставим мемори бряк на запись в секцию криптора в данной проге 0074b000 брякнулись F8 копирум секцию и вставлям в дамп . Прот начинает заполнят свою табличку в соответствии с осью, правда в этом случае мы нарываемся на проверку и получаем месагу что файл покоцан , но это не большая проблемма.. ![]() |
|
Создано: 28 июля 2007 10:55 · Личное сообщение · #16 r99 Посмотрел фаил распакованный тобой. Понял, что ты дописал стыренные байты с ОЕР вручную. 004A9830 > 55 PUSH EBP 004A9831 8BEC MOV EBP,ESP 004A9833 83C4 F0 ADD ESP,-10 004A9836 B8 B8944A00 MOV EAX,TradeBot.004A94B8 004A983B E8 D8D0F5FF CALL TradeBot.00406918 004A9840 -E9 F0822B00 JMP TradeBot.00761B35 Адрес куда прыгать этим джампом откуда взят? В нераспакованный проге пытался смотреть куда прыгаем после 00406958 C3 RETN (предполагаю что ты там подсмотрел куда идёт возврат), но дойти до него не могу, отладчик палится. ![]() |
|
Создано: 28 июля 2007 15:19 · Личное сообщение · #17 |
|
Создано: 28 июля 2007 22:58 · Личное сообщение · #18 |
|
Создано: 28 июля 2007 23:55 · Личное сообщение · #19 |
|
Создано: 29 июля 2007 00:28 · Личное сообщение · #20 |
|
Создано: 29 июля 2007 01:07 · Личное сообщение · #21 |
|
Создано: 29 июля 2007 04:45 · Личное сообщение · #22 |
|
Создано: 29 июля 2007 08:08 · Личное сообщение · #23 RSI В твоем файле нетоко ОЕР восстановлена. Каким образом ты это восстановил? 004A9828 > 55 PUSH EBP 004A9829 8BEC MOV EBP,ESP 004A982B 83C4 EC ADD ESP,-14 //Почему здесь -14, а не -10? 004A982E B8 B8944A00 MOV EAX,unpacked.004A94B8 004A9833 E8 E0D0F5FF CALL unpacked.00406918 004A9838 A1 645D4600 MOV EAX,DWORD PTR DS:[465D64] //Вот отсюда 004A983D 8B00 MOV EAX,DWORD PTR DS:[EAX] 004A983F E8 9C10FCFF CALL unpacked.0046A8E0 004A9844 A1 645D4600 MOV EAX,DWORD PTR DS:[465D64] 004A9849 8B00 MOV EAX,DWORD PTR DS:[EAX] 004A984B BA 88984A00 MOV EDX,unpacked.004A9888 ; ASCII "TradeBot" 004A9850 E8 830CFCFF CALL unpacked.0046A4D8 004A9855 8B0D 7A0F4A00 MOV ECX,DWORD PTR DS:[4A0F7A] ; unpacked.006366B8 004A985B A1 645D4600 MOV EAX,DWORD PTR DS:[465D64] 004A9860 8B00 MOV EAX,DWORD PTR DS:[EAX] 004A9862 8B15 94C64900 MOV EDX,DWORD PTR DS:[49C694] ; unpacked.0049C6E0 004A9868 E8 8B10FCFF CALL unpacked.0046A8F8 004A986D A1 645D4600 MOV EAX,DWORD PTR DS:[465D64] 004A9872 8B00 MOV EAX,DWORD PTR DS:[EAX] 004A9874 E8 FF10FCFF CALL unpacked.0046A978 004A9879 E8 A2ACF5FF CALL unpacked.00404520 //До сюда не понятно. Поставил бряки на доступ ко всем секциям, кроме двух в которых лежит код проги и импорт. Ни один бряк не сработал. Ты метаморф разгребал? ![]() |
|
Создано: 29 июля 2007 12:09 · Личное сообщение · #24 Ой ребята. Спасибо Вам огромное всем. Не знал что просьба ньюба в распаковке вызовет такой резонанс. Вообщем всем Вам респект и уважуха! А теперь о грустном. r99 В той версии которую ты дал вроде все работает, но в одном из ключевых кусков если ставить бряк то падаешь до Access Violation. Причем если это место пройти без остановки то все нормально. А очень хочется туда попасть ибо там явно самое то, что нужно сидит. Собственно вот это место. 004A8B01 8BC7 MOV EAX,EDI 004A8B03 E8 88FBFFFF CALL TradeBot.004A8690 004A8B08 33C0 XOR EAX,EAX Если зайти в этот CALL и там пару раз перейти по безусловным прыжкам, то пападаем вот в такое место 00797FC8 9C PUSHFD 00797FC9 891C24 MOV DWORD PTR SS:[ESP],EBX 00797FCC 87DD XCHG EBP,EBX 00797FCE 8BEB MOV EBP,EBX 00797FD0 871C24 XCHG DWORD PTR SS:[ESP],EBX 00797FD3 E8 E6DA0000 CALL TradeBot.007A5ABE 00797FD8 2A9E B0E4E877 SUB BL,BYTE PTR DS:[ESI+77E8E4B0] 00797FDE 21FD AND EBP,EDI 00797FE0 FF4B 18 DEC DWORD PTR DS:[EBX+18] Если дальше трейсить по F8, то ловим аксесс виолатион. В то же время если стоя на адресе 004A8B01 нажать F9 то программа нормально продолжает работу. Но она уже умудряется изменить пакет А мне собственно говоря и нужно выцепить этот алгоритм. Что делать не знаю ![]() RSI Твой вариант выглядит очень красиво. Даже секции все переименованы, потоков лишних нету, но не работает. Просто ввести любой логин и пароль нажать OK и получаем Access Violation Программа явно обращается в область памяти в которой ничего нет ![]() pavka Спасибо тебе огромное за твои советы. Я параллельно пытаюсь все таки разобраться как распаковать этот протектор. Надеюсь ты и дальше будешь помогать новичкам типа меня в этом нелегком деле! Ещё раз спасибо всем, что вы тратите свое время на помощь новичкам. Не откажите и на сей раз. Очень хочется довести дело до конца. ![]() |
|
Создано: 29 июля 2007 12:23 · Личное сообщение · #25 |
|
Создано: 29 июля 2007 12:25 · Личное сообщение · #26 |
|
Создано: 29 июля 2007 12:27 · Личное сообщение · #27 Trinok пишет: Если дальше трейсить по F8, то ловим аксесс виолатион. Трейсить по F7 ;) RSI В оригинале наверное ч.з ebx 00774767 8B0D A0CD4A00 mov ecx,dword ptr ds:[4ACDA0] ; TradeBot.006366B8 0077476D 8B03 mov eax,dword ptr ds:[ebx] 0077476F 68 881E7900 push TradeBot.00791E88 ------------------------------------------------ 0078A74D 8B03 mov eax,dword ptr ds:[ebx] ; TradeBot.0049C6E0 0078A74F 68 739A7B00 push TradeBot.007B9A73 0078A754 ^ E9 8AF0FCFF jmp TradeBot.007597E3 хотя если говорят что запускается то без разницы ![]() |
|
Создано: 29 июля 2007 12:29 · Личное сообщение · #28 |
|
Создано: 29 июля 2007 14:19 · Личное сообщение · #29 |
|
Создано: 29 июля 2007 14:27 · Поправил: kioresk · Личное сообщение · #30 Trinok, в твоем варианте для работы программы нужны 3 секции: 1. poly1: 0063A000 — 0063B000 flgd5j64
Причем эти секции должны быть не проинициализированы, т.е. сдамплены сразу после их заполнения и исправления адресов криптором. Иначе из-за отличий в адресах API-функций распакованный файл не будет работать на других системах. Кроме того, в распакованном RSI файле нет 3-й нужной секции (poly3). Добавь ее сам: 1. Настрой Olly (Options, Debugging options, Events, Make first pause at, System breakpoint) и отключи все Exceptions 2. Открой запакованный файл 3. Удали бряк на EP (Alt + B, Del) 4. Открой карту памяти (Alt + M) 5. Поставь бряк на запись в память секции poly3 (Правый щелчок на секции, Set memory breakpoint on write) 6. Запусти программу (Shift + F9) — остановишься на заполнении секции (rep movsb) 7. Снимаешь бряк на запись с секции (Alt + M, правый щелчок на секции, Remove memory breakpoint) 8. Возвращаешся в окно дизасма и переходишь в конец цикла заполнения (Alt + C, F4 на первой строке после jmp ...) 9. Заново ставишь бряк на запись в память 10. Shift + F9 — остановишься на исправлении адресов в секции (mov [esi], eax) 11. Снимаешь бряк 12. F4 на первую строку после jg ... После этого дампь эту секцию и вставляй в распакованный файл. Тоже самое тебе нужно проделать для секции poly2, поскольку в распакованном файле она проинициализирована. ![]() |
. 1 . 2 . 3 . >> |
![]() |
eXeL@B —› Основной форум —› Помогите найти OEP (ExeCryptor) |