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

ВИДЕОКУРС ВЗЛОМ
выпущен 12 ноября!


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

Исследование и распаковка ПО, модифицированного UPX Protector 1.0

Обсудить статью на форуме

Очень удобно, когда все крэкерские инструменты, книги и статьи в одном месте. Используйте сборник от EXELAB - вот тут.

Автор: FEUERRADER <feuerrader@nm.ru>


        Цель: исследование UPX Protector 1.0
 Инструменты: ProcDump 1.6.2
 

Описание: что он могёт:
1) распознается PEiD
2) скрэмблит заголовок, что обеспечивает защиту от UPX -d
3) защиту от скрипта ProcDump
4) cloaking секций (что это?)
5) меняет точку входа и ОЕР (об этом читай ниже)

Исследование: основное отличие от других скрэмблеров - изменение точки входа и ОЕР, что влекет за собой защиту от скрипта по распаковке UPX у ProcDump. В чем же это заключается: у не модифицированного UPXPR файла точка входа 40CED0h, а у пакованного 40CEE2h. Смотрите:

 .0040CED0:   pushad                             <- EP нетронутого UPXPR
 .0040CED1:   mov       esi,00040B000 ;" @- "
 .0040CED6:   lea       edi,[esi][0FFFF6000]
 .0040CEDC:   push      edi
 .0040CEDD:   or        ebp,-001 ;" "
 .0040CEE0:   jmps     .00040CEF2   -------- (1)
 .0040CEE2:   jmps     .00040CED0   -------- (2) <- EP модифицированного
 .0040CEE4:   nop

Идет обычный джамп на ЕР. Точно такая же ситуация с ОЕР:

 .0040D01E: 61              popad
 .0040D01F: EB11            jmps  00040D032      <- джамп на джамп :)
 .......тут HIEW напутал с опкодами.......
 .0040D032: E9C16AFFFF      jmp   0FFFF8EF8      <- это уже на ОЕР

И какова же тут защита от ProcDump? Посмотрим скрипт по распаковке UPX:

L1=OBJR
L2=LOOK 61,E9
L3=BP
L4=STEP

Т.е. ищутся байты 61E9, ну а там "дело техники". А в модифицированном UPXPR файле этих байтов нет.
Там идет 61EB......E9????0000 (см.выше). А теперь создаем свой скрипт против UPX Protector 1.0 by Blind Angel!

Добавляем в script.ini в раздел [INDEX]:

 P1F=Aspack 2.12       <- это было до нас
 P20=UPX Protector 1.0 <- Pxx - заменяем на следующее после P1F!

Теперь добавим новую секцию:

 [UPX Protector 1.0]
 L1=OBJR
 L2=LOOK E9,?,?,?,?,00,00
 L3=BP
 L4=STEP
 OPTL1=00000000
 OPTL2=01010001
 OPTL3=01010001
 OPTL4=00030000
 OPTL5=00000000

Будет теперь искаться джамп, ведущий на ОЕР. Теперь, если PEiD показывает UPX Protector 1.0, смело пользуйтесь этим скриптом. Кстати, в аннотации к UPXProtector написано, что "UPXPR защищает от скрипта ProcDump, но не защищает от ручной распаковки и изменений в скрипте".

Вывод: эта короткая статейка, думаю, показывает как легко создать свой скрипт для ProcDump.

Спасибо за интерес к этой статье!



Все права защищены ©  2003 

С ЭТОЙ СТРАНИЦЫ КОПИРОВАНИЕ ЗАПРЕЩЕНО АВТОРОМ!!!
Эту статью НЕЛЬЗЯ помещать на какие-либо сайты!!!



Обсуждение статьи: Исследование и распаковка ПО, модифицированного UPX Protector 1.0 >>>


Материалы находятся на сайте https://exelab.ru



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


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