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

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


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

Перевод туториала к TMG Ripper Studio

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

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

Автор: Zarelle and FLogic <zarelle@mail.ru>

Как сделать генератор регистрационных ключей к WinZip v8.0
с помощью TMG Ripper Studio.


В этом тексте показано, как можно извлечь алгоритм создания правильного регистрационного ключа из WinZip. Предполагается, что у вас есть некоторый опыт в области отладки приложений.

Шаг 1:
Запустите программу и с помощью отладчика найдите вызов функции, вычисляющей правильный ключ. При выполнении я заметил кое-что интересное по адресу 407А97:

push eax
push edi
call 407b47

EAX указывает на буфер, в который будет помещен правильный регистрационный ключ, EDI указывает на введенное имя. Трассировка функции, расположенной по адресу 407B47, покажет, что в программе используются довольно простой алгоритм вычисления ключа и устаревшая функция sprintf (расположена по адресу 467AB4). В Win32 API есть функция wsprintfA, поэтому в кейген отсюда её включать не требуется.
Ниже описаны действия, которые необходимо предпринять для добавления этого фрагмента программы в кейген.


Шаг 2:
Запустите Ripper Studio, нажмите "Browse", укажите расположение файла и загрузите его в Ripper Studio. Появится сообщение, похожее на следующее:

Reading 05h sections from file.
Found 18Eh imported functions.


Шаг 3:
Требуется извлечь код, который начинается с адреса 407B47. Введите это значение в поле "Virtual address". В поле "Identifier" введите имя метки, которая будет указывать на начало скопированного фрагмента программы в дизассемблированном коде. При обращении к этой метке в кейгене будет вызываться скопированный код. Можете, например, указать значение "Keygen".


Шаг 4:
Функция sprintf не должна быть включена в скопированный код. Для этого укажите её адрес в поле "Endpoint" (нажмите кнопку "Add" и введите 467AB4 в открывшемся окне).


Шаг 5:
Теперь нажмите "Start trace", и в окне отобразится дизассемблированный код функции вычисления ключа.
В списке ссылок на данные (data-references) появятся два пункта. Выберите первый.
В поле "File view" теперь будут показаны байты, которые располагаются по выбранному адресу, а во втором поле отобразится соответствующий код.
В области просмотра данных (data-view) показано, что это спецификатор формата для функции sprintf, поэтому этот указатель следует сохранить как строку.
Ripper Studio автоматически определяет большую часть ссылок на строки, поэтому переключатель "String" должен быть уже включён. Выберите следующий пункт списка ссылок на данные. В области просмотра данных (data-view) вы увидите много нолей, и это не поможет при определении типа ссылки. Однако в окне просмотра кода будет показано, что это - ссылки на DWORD.
Так как переключатель уже установлен в состояние "Dword" и выбран последний пункт списка, все, что вы должны сделать - это нажать "Process datarefs".


Шаг 6:
Нажмите кнопку "Save to .asm ", чтобы сохранить проект как файл.


Шаг 7:
Закройте Ripper Studio и откройте сохраненный файл в текстовом редакторе.
Замените переход по адресу 467AB4 вызовом функции "wsprintfA" и добавьте интерфейс пользователя.
В файле TMGRS-EX.ASM (который поставляется вместе с Ripper Studio) находится работающий пример кода.
Части, которые написаны ЗАГЛАВНЫМИ БУКВАМИ, созданы Ripper Studio, все остальное писалось нами вручную.

\Chafe
\Translating for Russians – Zarelle(С помощью FLogic’а)



Обсуждение статьи: Перевод туториала к TMG Ripper Studio >>>


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



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


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