XPACK

eXeL@B DVD

Материал из Справочник исследователя программ

Версия от 17:46, 23 марта 2012; Veliant (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Честно сказать я не знаю точного названия данного пакера. Назвал его по встречающейся сигнатуре XPXAXCXK. Как правило, используется для шифрования малвари, и достаточно распространен. Вся его прелесть заключается в заморфленном коде распаковщика, разбавленном различными вызовами API. Еще одной отличительной особенностью является умение сжимать не только exe и dll, но и sys файлы.


Распаковка exe и dll

Будет описана чуть позже


Распаковка sys

На точке входа файл должен выглядеть примерно так:

Xpack sys EntryPoint.PNG

Смотрим всю функцию до ret и ищем единственный вызов call eax. Это переход в расшифрованную функцию основного распаковщика. Ставим breakpoint. В syser'е это можно сделать нажатием F9, стоя на адресе, либо командой bpx в консоли.

Xpack sys GoEncoded1.PNG

И отпускаем на исполнение. Прервавшись, заходим в функцию. Должны увидеть код, похожий на этот

Xpack sys EncodedEntry.PNG

Точно таким же образом скроллим вниз в поисках следующего кода

Xpack sys SetBP.PNG

Данный код особой смысловой нагрузки не несет, но он имеет один важный переход, отмеченный комментарием. Это позволяет сэкономить время при поиске нужного нам кода. Смотрим куда он ведет

Xpack sys SetBpOut.PNG

Ближайший call ведет в функцию, которая подготавливает уже загруженный распакованный MZ-файл к выполнению - настраивает импорт и релоки. Поэтому смело ставим бряк на этот call и отпускаем выполняться.

Прервавшись смотрим в окно стека. В ячейке [esp] лежит адрес начала распакованного образа, а в [esp+4] размер файла.

Xpack sys Unpacked.PNG

Дампим распакованную область

Xpack sys Dump.png

Кстати, откуда взял название. Если прерваться на начале цикла, откуда ведет переход, то увидим следующее

Xpack sys cmpBP.PNG

На этом всё, драйвер распакован, импорт и релоки восстанавливать нет необходимости.

Источник — «https://exelab.ru/faq/XPACK»