eXeL@B —› Программирование —› АнтиОбфускатор |
. 1 . 2 . 3 . 4 . >> |
Посл.ответ | Сообщение |
|
Создано: 04 декабря 2008 18:02 · Поправил: Модератор · Личное сообщение · #1 Какие есть методы по борьбе с обфускацией ? Цель написать анализатор заменяющий 10 обфусцированных команд в одну настоящую. Для этого наверное нужно делить по блокам , а потом уже в них искать смысл и изменения. Бывает что между командами лежит просто мусор , который даже не используется =) Поэтому пока что эту часть я хочу просто опустить .. и отследить одну команду выполненую 10 или более команд без изменения смысла той самой одной. У кого нить есть информация с РАН фаха Кибернетики ? Там професора пишут ух какие тексты. ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
|
Создано: 04 декабря 2008 19:06 · Личное сообщение · #2 |
|
Создано: 04 декабря 2008 19:27 · Личное сообщение · #3 |
|
Создано: 04 декабря 2008 19:33 · Личное сообщение · #4 |
|
Создано: 04 декабря 2008 21:24 · Личное сообщение · #5 mak пишет: Цель написать анализатор заменяющий 10 обфусцированных команд в одну настоящую. mak пишет: я о програмном методе фиксирующем изменения логики масивов из кода а в чем проблема? если именно из 10 команд, именно 1, то проверь как изменились регистры и пр., одна команда - это не 5 обфусцированных.. или конкретней объясни что нужно ----- invoke OpenFire |
|
Создано: 04 декабря 2008 21:50 · Личное сообщение · #6 |
|
Создано: 05 декабря 2008 15:02 · Поправил: Hexxx · Личное сообщение · #7 Как я себе представляю деобфускацию: берем обфусцированный код и команда в команду транслируем его в сишный код. Типа было: mov eax, 0x10 mov ecx, 0x40 sub ecx, eax mov ebx, ecx Транслируем в си: unsigned long eax,ebx,ecx; eax=0x10; ecx=0x40; ecx-=eax; ebx=ecx; далее компилируем полученый сишный код любым нормальным оптимизирующим компилером с включенной полной оптимизацией. На выходе получаем бинарь в котором: mov ebx, 0x30 Занимаемся анализом нового бинаря где все просто и уютно. ----- Реверсивная инженерия - написание кода идентичного натуральному |
|
Создано: 05 декабря 2008 16:07 · Личное сообщение · #8 |
|
Создано: 05 декабря 2008 18:03 · Личное сообщение · #9 |
|
Создано: 05 декабря 2008 18:05 · Личное сообщение · #10 |
|
Создано: 05 декабря 2008 18:20 · Личное сообщение · #11 |
|
Создано: 05 декабря 2008 19:00 · Личное сообщение · #12 HexRays почему-то не хавает команды fpu (типо fsin), пишет такие команды в asm-блоке, добавляет какие-то непонятные макросы (__MKCSHR__ -аналог асмового shr ). и полученый с-код надо еще долго править, чтобы скомпилился. Может кто сталкивался с такими задачами, подскажите как сделать эффективнее и быстрее. |
|
Создано: 05 декабря 2008 19:04 · Личное сообщение · #13 задача стоит не ручная , а програмная , поэтому хексрэйс в баню))) У меня есть оптимизатор на АСМЕ , но без исходников , нужно его разобрать и глянуть что там. 7591_05.12.2008_CRACKLAB.rU.tgz - opti1.zip ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
|
Создано: 05 декабря 2008 23:51 · Поправил: kioresk · Личное сообщение · #14 Hexxx пишет: берем обфусцированный код и команда в команду транслируем его в сишный код. Транслировать в сишный код не обязательно, тем более что иногда перевести алго на си автоматом без ручного вмешательства не получается. Когда копал Code Virtualizer'а, то попалась интересная статья http://www.woodmann.com/forum/showthread.php?t=12015 об оптимизации обфуцированного кода хендлов ее вм. Там для разбора обфуцированного кода применяется набор синтаксических правил, описанный в формате BNF. Выгода в том, что не надо самому писать код, анализирующий команды. Т.е. описывается набор правил по которым в дальнейшем автоматом генерируется код, разбирающий их. Поэтому, хоть что именно ты ковыряешь и не знаю, но имхо может лучше копать в эту сторону. |
|
Создано: 06 декабря 2008 00:04 · Личное сообщение · #15 kioresk оч интересно , как раз по теме ты ))) P.S. выше оптимизатор работает только в директории масма , на нем лежит пекомпакт , вот унпаченная версия , кому интересно 4fe7_05.12.2008_CRACKLAB.rU.tgz - opti_unpacked.exe ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
|
Создано: 06 декабря 2008 01:23 · Личное сообщение · #16 Немного инфы по формату BNF - включено Appendix B BNF Grammar для МАСМ и Описание стандарта ISO/IEC 14977:1996(E) Extended BNF Надо только разобрать , или оптимизировать для универсальности не только к Code Virtualizer , для этого данные бнф формата и понадобятся. Хотя по идее должно быть и для другого подходяще 65cb_05.12.2008_CRACKLAB.rU.tgz - bnf.rar ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
|
Создано: 06 декабря 2008 13:27 · Личное сообщение · #17 |
|
Создано: 06 декабря 2008 13:52 · Личное сообщение · #18 заметил конечно ) мой глаз видит то что не нужно )) Варианты может да , но можно составить таблицы разныйх варинтов , в них выявить общие направления , далее не что остались вынести в дополнительный анализ, то есть детектить по сигнатуре но особым образом и потом уже использовать маленькое дополнение , тоесть остаток табличный. ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
|
Создано: 06 декабря 2008 19:27 · Личное сообщение · #19 |
|
Создано: 07 декабря 2008 14:28 · Личное сообщение · #20 |
|
Создано: 08 декабря 2008 13:38 · Личное сообщение · #21 Вопрос общий для реверсинга протекта и малвары. И если заниматься вопросами деобфускации не на коленке, то стоит имхо обратить внимание на работы бельгийских товарищей diablo.elis.ugent.be/obfuscation и Red Team (Riverside Research Institute). Вот кусок предлагающейся по вопросу топика инфы rapidshare.com/files/171388363/deobfus.ZIP.html ----- 127.0.0.1, sweet 127.0.0.1 |
|
Создано: 08 декабря 2008 14:50 · Личное сообщение · #22 |
|
Создано: 08 декабря 2008 17:12 · Личное сообщение · #23 |
|
Создано: 08 декабря 2008 22:15 · Личное сообщение · #24 |
|
Создано: 27 декабря 2008 16:31 · Личное сообщение · #25 скомпильте ПЛЗ , у меня нет всех нужных хидеров , как всегда вообщем. Компилнг с выводом асм листинга пожалуста и без всяких проверок стэка и всяких других вещей. чисто исходник и все. Сэнкс 0032_27.12.2008_CRACKLAB.rU.tgz - oreans.rar ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
|
Создано: 28 декабря 2008 14:36 · Личное сообщение · #26 |
|
Создано: 28 декабря 2008 15:56 · Личное сообщение · #27 |
|
Создано: 28 декабря 2008 16:41 · Личное сообщение · #28 |
|
Создано: 28 декабря 2008 19:25 · Поправил: progopis · Личное сообщение · #29 mak пишет: Си же универсален А кто тебе сказал что там Си? Он там есть, но не всё: Code:
GCC у меня и так стоял. Соберу остальное - попробую скомпилить. Добавлено: Code:
Перевожу на русский: не хватает двух файлов - y.tab.c и y.tab.h Добавлено: А ещё заявлют о полной совместимости между Bison и YACC... Bison генерит файл parser.asm.tab.c, а должен y.tab.c Ну допустим переименовал. Вторая проблема - параметр -lfl. Он отвечает за линковку файла вместе со статической библиотекой flex'а, только вот линковщик этот параметр не знает... |
|
Создано: 28 декабря 2008 22:15 · Личное сообщение · #30 |
. 1 . 2 . 3 . 4 . >> |
eXeL@B —› Программирование —› АнтиОбфускатор |