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

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


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

Простая распаковка пакеров с помощью TRW2000

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

Массу крэкерских инструментов, видеоуроков и статей вы сможете найти на видеокурсе от нашего сайта. Подробнее здесь.

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


 Инструменты: TRW2000 1.22-1.23, PEditor 1.7 by Y0da
 

Вступление: все, должно быть, знают, что программу можно распаковать разными путями. Сейчас я покажу способ, который описал автор TRW2000 - Liu Tao Tao.
Суть его метода проста: пакеры, обычно, добавляют одну или более секций в файл, который запаковывается. Возможно, если вы отыщите JMP, ведущий на код в другую секцию, то этот JMP может вести на ОЕР. К примеру, UPX добавляет 1 новую секцию, а ASPack - две. Сколько секций добавляют другие пакеры - Вы сами можете узнать. Для этого откройте любой файл в PEditor. Находим значение NumberOfSections, оно равно 0008. Т.е. 8 секций сейчас в файле. Теперь запакуем файл тем пакером, который Вы хотите распаковывать. Теперь снова откройте этот файл в PEditor и таким же образом посмотрите количество секций. Пусть, теперь оно равно 0009. Значит пакер добавил 1 (0009-0008=0001) секцию. Сейчас в этой секции хранится так называемая unpacking routine - циклы, с помощью которых пакер уже в память распаковывает программу. Так вот, TRW2000 просто будет трассировать до того момента, пока не начнется выполнение кода в новой секции...

Практика: как же это сделать с помощью TRW, если я не знаю ОЕР?

Распаковка UPX (1 секция)

Запустите TRW2000. С помощью кнопки Browse найдите файл, который будете распаковывать. Нажмите Load и TRW2000 появится с остановкой на первой инструкции (на точке входа = EntryPoint = EP). Теперь введите команду PNEWSEC, которая и будет выполнять трассировку. Ждем... время зависит от размера программы. Появился TRW2000, т.е. начинается код в новой секции. Остановившись, мы теперь должны сделать дамп уже распакованной программы, будем считать, что нас остановили на ОЕР. Для этого, если у Вас зарегистрированная версия TRW2000 введите MAKEPE c:\dump.exe. Этой командой восстановится импорт сразу у дампа. Или в незарегистрированной - PEDUMP.

Распаковка ASPack (2 секции)

Запустите TRW2000. Укажите файл, который будете распаковывать. Нажмите Load и TRW2000 остановит прогу на первой инструкции. Теперь введите команду PNEWSEC, которая и будет выполнять трассировку. Ждем... время зависит от размера программы. Появиляется TRW2000, т.е. начинается код в новой секции. Так как секции упаковщика 2, то мы второй раз вводим PNEWSEC и снова ждем. Остановившись, мы теперь должны сделать дамп уже распакованной программы, будем считать, что нас остановили на ОЕР. Для этого, если у Вас зарегистрированная версия TRW2000 введите MAKEPE c:\dump.exe. Этой командой импорт будет уже корректным в дампе. Или в незарегистрированной - PEDUMP.

Другие упаковщики (Х секций)

Технология абсолютно такая же, как написано выше. Отличие лишь в том, сколько раз ставить PNEWSEC. Делаете PNEWSEC столько раз, сколько секций добавляет пакер, которым упакована программа.

Заключение: метод эффективен только для некоторых пакеров и совсем не работает с крипторами (ASProtect, TElock, Armadillo, PECrypt...). Да и то я наблюдал, что PNEWSEC вообще не срабатывал на ASPack.

Регистрилку для TRW2000 можно найти тут

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



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

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



Обсуждение статьи: Простая распаковка пакеров с помощью TRW2000 >>>


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



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


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