Сейчас на форуме: Rio (+5 невидимых)

 eXeL@B —› Вопросы новичков —› EXECryptor 2.4.1 + OllyDbg
Посл.ответ Сообщение

Ранг: 2.7 (гость)
Активность: 0=0
Статус: Участник

Создано: 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 та же беда.

В принципе, распакованый анпакером файл можно править как угодно и если бы не обфускация самого интересного куска кода, ради которого, собственно и затевалось данное исследование, то дебагер бы и не понадобился...




Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 05 февраля 2008 07:06 · Поправил: Maximus
· Личное сообщение · #2

xa0c
хм, я так понял код заморфлен, думаю вряд ли тебе поможет отладчик, потому как там между 2-мя нормальными командами 500 мусорных лежит. Представь себе сколько ты будешь ЭТО трейсить.

Что бы убрать Debug Detected тебе нужен Phantom 1.20
Плугин для Olly. Ставится на ЧИСТУЮ ольку.

-----
StarForce и Themida ацтой!




Ранг: 2.7 (гость)
Активность: 0=0
Статус: Участник

Создано: 05 февраля 2008 07:20 · Поправил: xa0c
· Личное сообщение · #3

Фантом был первым, что я опробовал. Не помогает. Прога разрешает запустить дебагер только если юзать патченый Olly.

А насчёт заморфленности... Ну да, я уже морально подготовился к тому, что трейсить нужно будет много, но так всё равно получится быстрее, чем читать морфированый код в windasm'e и пытаться понять что он делает, плюс пытаться пореже попадать на заглушки (HexRays показал там энное количество null subs).
Что именно заморфировано(что должно быть) я примерно представляю (по старым версиям), так что трейс для меня единственный вариант.




Ранг: 154.2 (ветеран), 66thx
Активность: 0.080
Статус: Участник
REVENGE Crew

Создано: 05 февраля 2008 11:52
· Личное сообщение · #4

Проверь настройки PhantOm'а и убедись, что при загрузке программы в отладчик в логе (Alt+L) упоминается о загруженном драйвере. А чтобы облегчить отладку замени:

61EA84: 00 00 00 00 -> 01 00 00 00
646EC4: 0F 95 45 F7 -> C6 45 F7 00




Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

Создано: 05 февраля 2008 14:34
· Личное сообщение · #5

xa0c
а лучше просто измени команду с OEP на JMP 006586B9 и тогда антиотладка идет лесом, пробовал запускать на чистой ольке - все работает!



Ранг: 2.7 (гость)
Активность: 0=0
Статус: Участник

Создано: 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... Это удивительно, но всё и правда работает. Только вот мне бы хотелось не просто копипастом сделать(этим инструментом я уже владею в совершенстве ), а понять почему нужно менять jmp на этот адрес и как этот адрес найти(автор клепает новые версии раз в 1.5 недели и каждый раз просить "помощь зала" некрасиво). При попытке после OEP нажать F7 и посмотреть что же мы благодаря решению RSI "перепрыгиваем" вся система зависает. Причём, зависает хитро: всё вроде бы работает, но ни одну программу ни закрыть ни запустить. Спасает только ctrl+alt+del и "Завершение сеанса" (это чтоб не перезагружаться). Почему так происходит - не понятно...

P.S. Система Win2003SP1+Outpost(но в нём дебагерам разрешено изменять чужие процессы).


Добавлено(6.02, 2:48):
Вот ведь... Оно не даёт трейсить морфированные куски кода. Либо "process terminated", либо эксцепшен "unable to read memory", либо вообще непонятно что за эксцепшен "external exception"... Причём, это происходит как при использовании int3, так и при использовании memory брейкпоинтов...



Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

Создано: 06 февраля 2008 12:06
· Личное сообщение · #7

А ты не ставь игнор на все исключения, иначе не будет срабатывать SEH и тогда вылазить ошибки.
Думаю с автотрейсом заколебешься, лучше трейси ручками.

xa0c пишет:
вся система зависает

Наверное все-таки из-за оси или софта, на WinXp SP2 все нормально переходит.



Ранг: 2.7 (гость)
Активность: 0=0
Статус: Участник

Создано: 06 февраля 2008 21:39
· Личное сообщение · #8

RSI пишет:
Думаю с автотрейсом заколебешься, лучше трейси ручками.

Эмм... А F7/F8 это автотрейс?.. Тогда "ручками" — это в смысле "глазками"?

К слову сказать, если трейсить не заходя в процедуры (F8, Step Over) то морфированый код проходит нормально: вижу, что в оперативке появляются неправильный/правильный ключи, но вот стОит только попытаться найти то место, в котором эти ключи сравниваются ("углубиться", нажать F7), как через пару шагов либо терминэйт, либо какой-нибудь эксцепшен. Промелькнула мысль: читать из оперативки значение правильного ключа и перезаписывать им своё, неправильное, но, опять же - момент, в который производить такой финт ушами найти не могу... (Если кому интересно, то трейсить пытаюсь начать с адреса 0058C53E)
Так же, там создаётся какой-то параллельный поток, который, если верить туториалам, является потоком криптора, проверяющий целостность exe. Впрочем, состояние этого потока (активный, остановленный или вообще убитый) абсолютно ни на что не влияет... Странно... о_О

Позже попробую под WinXP. Сейчас под рукой только server.

P.S. А трейc "по F8" со стороны выглядит как цикл (или рекурсия): программа выполняет идентичные куски кода, вызывает одни и те же процедуры... о_О




Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 07 февраля 2008 07:42
· Личное сообщение · #9

xa0c
Автотрейс это автотрейс (есть в ольке такая возможность), а F7/F8 это и есть ручками..

-----
StarForce и Themida ацтой!





Ранг: 154.2 (ветеран), 66thx
Активность: 0.080
Статус: Участник
REVENGE Crew

Создано: 07 февраля 2008 10:45
· Личное сообщение · #10

Потоки криптора тебе не нужны, отключи их исправив данные по указанным ранее адресам.



Ранг: 6.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 11 марта 2008 03:49 · Поправил: NoName
· Личное сообщение · #11

Кто нибудь подскажет как обойти проверку CRC в памяти ? RC1 Пропатчил File CRC check , Memory сказал не найден после запуска пишет File Corrupted Я понимаю этим занимаются потоки криптора можна более детально о их отключении рассказать ?

Заранее спасибо!



Ранг: 39.1 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 06 июня 2008 11:02
· Личное сообщение · #12

NoName
http://www.exelab.ru/f/action=vthread&forum=1&topic=6273&p age=21
Подробнее не куда.....


 eXeL@B —› Вопросы новичков —› EXECryptor 2.4.1 + OllyDbg
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати