Сейчас на форуме: Rio (+5 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› EXECryptor 2.4.1 + OllyDbg |
Посл.ответ | Сообщение |
|
Создано: 05 февраля 2008 04:29 · Поправил: xa0c · Личное сообщение · #1 Добрый день, господа исследователи программ. Для начала хочу сказать, что я не кракер и программ до недавнего момента не ломал (это чтоб словами страшными поаккуратней в ответ сыпали ![]() Что имеется: Сам предмет тут: http://www.lr-keeper.com/files/lrkeeper011.zip http://www.lr-keeper.com/files/lrkeeper011.zip (оффсайт) На программке висит последний EXECryptor. Задача: иметь возможность эту программку трассировать в Olly. Что было опробовано: Unpacker от RSI (последняя паблик версия): распаковывает, но антиотладку(как и сообщения "Debuger Detected" не убирает). Штук 5 разных дебагеров (включая softice с плагином IceExt v0.7), 3 из которых не нужно было даже запускать - программа вопила "Debuger Detected" + уже не помню точно сколько разных сборок Olly. Каков результат: удалось лишь запустить одновременно чистый(без плагинов) Olly Execryptor Edition. Установлены настройки эксцепшенов(все доступные галочки, плюс кастом): Custom[0]=0EEDFADE,0EEDFADE Custom[1]=C0000003,C0000003 Custom[2]=C000001D,C000001D Custom[3]=C000001E,C000001E бряк поставлен системный. При загрузке файла в такой олли, вываливается эксцепшен "0xc0000005". Если верить туториалам, то сие означает сбой в таблице IAT или TLS, можно было бы сказать "неправильная распаковка", но на оригинальном exe та же беда. В принципе, распакованый анпакером файл можно править как угодно и если бы не обфускация самого интересного куска кода, ради которого, собственно и затевалось данное исследование, то дебагер бы и не понадобился... ![]() |
|
Создано: 05 февраля 2008 07:06 · Поправил: Maximus · Личное сообщение · #2 xa0c хм, я так понял код заморфлен, думаю вряд ли тебе поможет отладчик, потому как там между 2-мя нормальными командами 500 мусорных лежит. Представь себе сколько ты будешь ЭТО трейсить. Что бы убрать Debug Detected тебе нужен Phantom 1.20 Плугин для Olly. Ставится на ЧИСТУЮ ольку. ----- StarForce и Themida ацтой! ![]() |
|
Создано: 05 февраля 2008 07:20 · Поправил: xa0c · Личное сообщение · #3 Фантом был первым, что я опробовал. Не помогает. Прога разрешает запустить дебагер только если юзать патченый Olly. А насчёт заморфленности... Ну да, я уже морально подготовился к тому, что трейсить нужно будет много, но так всё равно получится быстрее, чем читать морфированый код в windasm'e и пытаться понять что он делает, плюс пытаться пореже попадать на заглушки (HexRays показал там энное количество null subs). Что именно заморфировано(что должно быть) я примерно представляю (по старым версиям), так что трейс для меня единственный вариант. ![]() |
|
Создано: 05 февраля 2008 11:52 · Личное сообщение · #4 |
|
Создано: 05 февраля 2008 14:34 · Личное сообщение · #5 |
|
Создано: 05 февраля 2008 23:18 · Поправил: xa0c · Личное сообщение · #6 Большое спасибо за ответы. Должу пока что о промежуточных результатах(что получилось у меня). По поводу Olly, то какие сборки проверялись и какие плагины использовались: Сам Olly: 1) OllyDbg 1.10 with XP TSRh Style ( h**p://www.exelab.ru/download.php?action=list&n=MTA= ) 2) OllyDbg 1.10 Rus ( h**p://www.exelab.ru/download.php?action=list&n=NTA= ) 3) Original Olly ( h**p://www.ollydbg.de/odbg110.zip ) phant0m plugin: h**p://www.exelab.ru/f/action=vthread&forum=1&topic=7529&p age=20 1) PhantOm.1.20.fix (posted by Bronco) 2) PhantOm.plugin.1.20.fix (posted by Gideon Vi) 3) PhantOm.1.20, Original (h**p://hellspawn.nm.ru/works/PhantOm.plugin.1.20.zip) В настройках самого Olly поставил игнор на все ошибки (0..F), в настройках плагина стояли все галочки, кроме "hook GetTickCount" и "remove EP break". Первая при установке выдавала всё тот же "С0000005" эксцепшен, вторая просто закрывала Olly. Итог: скрыть всё равно не получилось. Может, конечно, нужно было подобрать какое-то определённое сочетание галочек, но, так как я довольно слабо представляю себе назначение каждой из них, то брутфорс обеспечил бы мне 2^10 разных вариантов %) По поводу совета RSI... Это удивительно, но всё и правда работает. Только вот мне бы хотелось не просто копипастом сделать(этим инструментом я уже владею в совершенстве ![]() P.S. Система Win2003SP1+Outpost(но в нём дебагерам разрешено изменять чужие процессы). Добавлено(6.02, 2:48): Вот ведь... Оно не даёт трейсить морфированные куски кода. Либо "process terminated", либо эксцепшен "unable to read memory", либо вообще непонятно что за эксцепшен "external exception"... Причём, это происходит как при использовании int3, так и при использовании memory брейкпоинтов... ![]() |
|
Создано: 06 февраля 2008 12:06 · Личное сообщение · #7 |
|
Создано: 06 февраля 2008 21:39 · Личное сообщение · #8 RSI пишет: Думаю с автотрейсом заколебешься, лучше трейси ручками. Эмм... А F7/F8 это автотрейс?.. Тогда "ручками" — это в смысле "глазками"? ![]() К слову сказать, если трейсить не заходя в процедуры (F8, Step Over) то морфированый код проходит нормально: вижу, что в оперативке появляются неправильный/правильный ключи, но вот стОит только попытаться найти то место, в котором эти ключи сравниваются ("углубиться", нажать F7), как через пару шагов либо терминэйт, либо какой-нибудь эксцепшен. Промелькнула мысль: читать из оперативки значение правильного ключа и перезаписывать им своё, неправильное, но, опять же - момент, в который производить такой финт ушами найти не могу... (Если кому интересно, то трейсить пытаюсь начать с адреса 0058C53E) Так же, там создаётся какой-то параллельный поток, который, если верить туториалам, является потоком криптора, проверяющий целостность exe. Впрочем, состояние этого потока (активный, остановленный или вообще убитый) абсолютно ни на что не влияет... Странно... о_О Позже попробую под WinXP. Сейчас под рукой только server. P.S. А трейc "по F8" со стороны выглядит как цикл (или рекурсия): программа выполняет идентичные куски кода, вызывает одни и те же процедуры... о_О ![]() |
|
Создано: 07 февраля 2008 07:42 · Личное сообщение · #9 |
|
Создано: 07 февраля 2008 10:45 · Личное сообщение · #10 |
|
Создано: 11 марта 2008 03:49 · Поправил: NoName · Личное сообщение · #11 |
|
Создано: 06 июня 2008 11:02 · Личное сообщение · #12 |
![]() |
eXeL@B —› Вопросы новичков —› EXECryptor 2.4.1 + OllyDbg |