Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 3 апреля!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

АРХИВ ФОРУМА eXeL@B
https://exelab.ru/f/

   

FEUERRADER ASPR Stolen Bytes recovery tool v1.0 Написал эту тулзу, чтоб не


FEUERRADER ASPR Stolen Bytes recovery tool v1.0 Написал эту тулзу, чтоб не долбаться с mutated stolen bytes.
Работает ПОКА только с Delphi прогами.

Инструкция: дампите аспровую прогу (в которой есть мутированные спертые байты!). Находите tempOEP (это адрес первого call’a начиная с ЕР - ну в который аспр входит). TempOEP показывает, например, AsprDbg. Импорт можете не восстанавливать и дамп может не запускаться, это не имеет значения.
Жмете Get Stolen Bytes. Получаете спертые байты с адресами и прочим.

Это первая версия, может есть ошибки!
Пробуйте: http://feuerrader.nm.ru/SBRec10.rar
RideX :: FEUERRADER пишет:
цитата:
Написал эту тулзу, чтоб не долбаться с mutated stolen bytes.


Спасибо, нужная штуковина!

Гость :: Ну ты гений!

-= ALEX =- :: FEUERRADER где столько времени берешь на написание тулз ? я вот все свободное время (пару часов в день) трачу на написание протектора а также другой работы...

FEUERRADER :: RideX пишет:
цитата:
Спасибо, нужная штуковина!


Дык, а в действии? :)
-= ALEX =-
Выходные же. Вот и занялся кодингом.

GRADY$ :: Super!!!

infern0 :: извиняюсь за тон, но хули там в аспре для дельфовых прог восстанавливать ? push ebp, mov ebp, esp, mov eax, some_tbl, add esp, some_val ? это за 20 секунд руками делается...

Gloomy :: FEUERRADER
А можно в лист-боксе ширину строк сделать побольше а то вообще не видно что там написано

nice :: FEUERRADER
Спасибо, рулезная утилита, а исходники не дашь глянуть?

infern0
На дельфи у меня в коллекции около 7 разного рода ОЕР от 9 байт, до 45

nice :: FEUERRADER
Она только с 11 крадеными байтами работает?
А я уже губу раскатал...

infern0 :: nice пишет:
цитата:
На дельфи у меня в коллекции около 7 разного рода ОЕР от 9 байт, до 45


ну тогда любой пример сложнее того что я написал в студию.

Madness :: infern0
›ну тогда любой пример сложнее того что я написал в студию.
Там еще бывает 1-несколько push reg или loop: push 0; push 0; dec ecx; jnz loop (или что-то вроде этого), но в ~95% случаев ты прав.

__cr__ :: infern0 пишет:
цитата:
nice пишет:
цитата:
На дельфи у меня в коллекции около 7 разного рода ОЕР от 9 байт, до 45

ну тогда любой пример сложнее того что я написал в студию.


Особенно интересно увидеть ту прогу, где 45 байт
(на _ДЕЛЬФИ_ естессно)

2Madness:

цитата:
Там еще бывает 1-несколько push reg или loop: push 0; push 0; dec ecx; jnz loop


Такой цикл все равно не потянет на 45 байт.

nice :: infern0
Ну что же смотри (www.tradesoft.ru)
45:
PUSH EBP
MOV EBP,ESP
ADD ESP,-12C
PUSH EBX
XOR EAX,EAX
MOV [EBP][-120],EAX
MOV [EBP][-124],EAX
MOV [EBP][-118],EAX
MOV [EBP][-11C],EAX
MOV [EBP][-14],EAX
MOV EAX,00333333
CALL ...

32:
PUSH EBP
MOV EBP,ESP
ADD ESP,-1C
PUSH EBX
XOR EAX,EAX
MOV [EBP][-1C],EAX
MOV [EBP][-18],EAX
MOV [EBP][-14],EAX
MOV EAX,[00407C14]
MOV B,[EAX],001
MOV EAX,0033333
CALL ...

38 bytes:
0066B131 55 PUSH EBP
0066B132 8BEC MOV EBP,ESP
0066B134 6A FF PUSH -1
0066B136 68 C0716C00 PUSH opera.006C71C0
0066B13B 68 D8B96600 PUSH opera.0066B9D8
0066B140 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
0066B146 50 PUSH EAX
0066B147 64:8925 00000000 MOV DWORD PTR FS:[0],ESP
0066B14E 83EC 58 SUB ESP,58
0066B151 53 PUSH EBX
0066B152 56 PUSH ESI
0066B153 57 PUSH EDI
0066B154 8965 E8 MOV DWORD PTR SS:[EBP-18],ESP

22 bytes:

0057B0F8 ‹Module› $ 55 PUSH EBP
0057B0F9 . 8BEC MOV EBP,ESP
0057B0FB . 83EC 18 SUB ESP,18
0057B0FE . 53 PUSH EBX
0057B0FF . 56 PUSH ESI
0057B100 . 57 PUSH EDI
0057B101 . 33C0 XOR EAX,EAX
0057B103 . 8945 E8 MOV DWORD PTR SS:[EBP-18],EAX
0057B106 . 8945 EC MOV DWORD PTR SS:[EBP-14],EAX
0057B109 . B8 78A95700 MOV EAX,a.0057A978

Для любителей Олли, уже дописываю статью про аспр, где подробно процесс востановления будет описан.

Гость :: nice пишет:
цитата:
Для любителей Олли, уже дописываю статью про аспр


А где эту статью можно будет глянуть?
Дай адрес на свой сайт

nice :: Гость
Посмотри, это только процентов 40 правда, остальное дома:
http://hice.antosha.ru/AsProtect.rar

Гость :: nice - благодарен!
Надеюсь скоро все выложишь!

Гость :: кстати, nice, зайди сюда, может чем поможешь нам? (долбаем одну прогу!)

-= ALEX =- :: nice’у огромный респект ! по поводу проги сей ниче сказать не могу, вернее промолчу, что-то тянет FEUR. проги странные клепать...

FEUERRADER :: Да...жаль что Вам идея не понравилась. Больше не буду развивать этот проект.
Может кто подскажет, в инструкции add esp, X , в каких случаях X=-C, а в каких X=-10 ? Есть ли тут закономерность?

nice
А статья твоя по аспру будет не плохая. Жаль, что не дописал про импорт.

P.S. А стриппер что делает с мутированными байтами? Как он их высчитывает?
У меня просто стриппер не работает, хотя ХР :(

infern0 :: FEUERRADER пишет:
цитата:
Да...жаль что Вам идея не понравилась. Больше не буду развивать этот проект.
Может кто подскажет, в инструкции add esp, X, в каких случаях X=-C, а в каких X=-10 ? Есть ли тут закономерность?

nice
А статья твоя по аспру будет не плохая. Жаль, что не дописал про импорт.

P.S. А стриппер что делает с мутированными байтами? Как он их высчитывает?
У меня просто стриппер не работает, хотя ХР :(


идея понравилась. реализация подвела :)
а стриппер просто их копирует в отдельную секцию и ставит OEP на их начало. И все.

ViViseKtor :: Это точно. Идея отличная. И развивать стоит.

FEUERRADER :: infern0 пишет:
цитата:
идея понравилась. реализация подвела :)


Дык подскажи, как сделать лучше.
infern0 пишет:
цитата:
а стриппер просто их копирует в отдельную секцию и ставит OEP на их начало. И все.


Можешь кинуть мне на мыло (feuerrader(at)nm(dot)ru) эту секцию с восстановленными стриппером мутированными байтами? А лучше маленькую (в пару десятков Кб в архиве) прожку распакованную стриппером.
Буду благодарен.

infern0 :: FEUERRADER пишет:
цитата:
Дык подскажи, как сделать лучше.


лучше - в теории это писать анализатор кода который выкинет все барахло и оставит только полезную нагрузку. Проблема усугубляется тем что аспр заходит в call поэтому надо выцепить только инструкции до call (те которые он стирает). Как это красиво сделать - я не знаю. Хотя я восстанавливаю байты одним проходом в айсе по мутированному коду. Следишь за балансом стека и выписываешь на листик команды. Минут 10-15 на все уходит.

FEUERRADER пишет:
цитата:
лучше маленькую (в пару десятков Кб в архиве) прожку распакованную стриппером


тогда дай мне ее запакованную, т.к. самого аспра у меня нет.
или в аську - там поговорим.

nice :: FEUERRADER
В статье я всё допишу и про импорт и про востановление спертых байт

Проект мне тоже интересен, но как это сделать я не знаю :(
Может из Деде попытаться выдрать алгоритм дезассемблирования.
Можно делать так выдрать сначала всё, кроме «основных» мусорных команд jmp и т.п.
потом уже создав более компактный список пройтись по нему разок, и так пока не сведем к минимуму,
да в конечном итоге человек 10 команд и сам может под ОЕП подогнать чем такой цикл проходить






   
Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS