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

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


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

Распаковка HASP-Envelope

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

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

Автор: MeteO <meteo@null.net>

Используемые инструменты


Iceext v0.56, Hiew, S-Ice 3.0

Распаковать envelope от HASP'a проще простого, и делается за один запуск exe-шника.
Защиту конвертом HASP'a можно легко опознать по секции .protect

Шаг первый


В Hiew ставим int 3 на точку входа в exe-шник, предварительно запомнив исходный байт
точки входа. В стандартной защите он равен 55 (push ebp). Также смотрим на секции,
которые могут быть пошифрованы. Обчно гадятся секции .text, .data и .rdata. В последней
загаженной секции смотрим примерный адрес последних шифрованных байт и запоминаем их.
Тут скрывается одна маленькая хитрость, которой мы потом воспользуемся.

Шаг второй


В Sice ставим I3here on, запускаем программу, вылетаем в отладчик. Восстанавливаем
исходный байт и делаем откат на эту инструкцию

r eip=eip-1; eb cs:eip 55

Ставим два брекпойнта: один на esp-4 (bpm esp-4) и второй на адрес последних
пошифрованных байт(bpm CryptedData w). Запускаемся и вылетаем на записи расшифрованного
байта. Сносим этот брекпойнт и ставим новый на функцию VirtualProtect, вылетаем
на ней и видим что в этот момент все секции у нас полностью расшифрованы.

Дампим файл на диск.

Шаг третий (восстановление импортов)


Восстановить импорты в защищенном exe-шнике тоже просто:
достаточно поискать в секции .protect байты 8b 45 f4 8b 40 0c для HASP API до v11 или
8b 45 f4 83 c0 14 для HASP API v11 и поставить точку останова на этот адрес.
При остановке мы имеем адрес таблицы импорта, и запоминаем его. Удаляем этот
брекпойнт.

Шаг четвертый (восстановление OEP)


У нас осталась невосстановленной точка входа, но помним что у нс осталась последняя
точка останова - а именно обращение в стек esp-4, и с этой радостной мыслью запускаем
далее программу и останавливаемся на выталкивание в стек точки входа и переход на
оригинальное тело exe-шника. Запоминаем OEP, сносим брекпойнт и выходим из
программы.

Шаг пятый: Похудение


Из бумажки, на которой мы записали OEP и адрес таблицы импорта мы переносим данные
на задампленное тело, отрезаем секцию .protect, сносим значение количества Fixup
и корректируем размер файла.

Вот и все, от exe-шника отрезаны лишние 450кил, и наслаждаемся дальнейшим
анализом программы на предмет наличия вызовов ключа.

(c)2004 by MeteO //UCLabs, www.dongle.ru - A dongle removal services.


Обсуждение статьи: Распаковка HASP-Envelope >>>


Комментарии к статье: Распаковка HASP-Envelope

setty 20.10.2005 14:34:04
ну пачаму ты неможеш подробней описать штоб было понятно нетолько какие шаги надо делать, а и откуда эти шаги беруца
---
MeteO 18.11.2005 07:07:49
Данные шаги взяты в процессе многих анализов упакованных HASP\’ом продуктов. Что еще непонятно?

Есть вопросы - пиши service@dongle.ru
---

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



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


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