• XSS.stack #1 – первый литературный журнал от юзеров форума

Патчинг API Spy 2.5

Хел

HDD-drive
Пользователь
Регистрация
30.11.2008
Сообщения
25
Реакции
0
[ Введение ]

Итак однажды мне попалась программа под названием API Spy 2.5. Это программа шпион API функций которые вызываются из программ. Но какая неудача - программка требовала регистрацию. Но это оказалась нам не помеха.

Нам понадобятся:

OllyDbg
PEiD

Скачать программу можно тут:
Код:
http://cracklab.ru/_dl/new/apis3225.rar

[ Go, Go, Go ]

Итак запускаем программу и видим следующее:

http://img123.imageshack.us/img123/2149/32144894ct2.jpg

Проверим запакована ли она сама PEiD'ом.

http://img123.imageshack.us/img123/7474/73051041xr0.jpg

Программа ничем не запакована и написана на С++. Ок продолжаем наше исследование.

Кликаем на кнопку Register внизу:

http://img123.imageshack.us/img123/2319/90006298up3.jpg

Вводим данные например SoulFreaker в качестве имени и 31337 в качестве серийника.
Видим месагбокс с информацией что серийник не верный.
Грузим программу в олли.

Вообще можно поставить бряки на различные функции программы считывания из эдитбокса или на окошко сообщения о неверной регистрации, вызвав ПКМ->Search for->All intermodular calls.

Но мы поступим по другому и сделаем следующее:

ПКМ->Search for->All referenced text strings

И там поищем строку о неверном серийнике:

ПКМ->Search for text->provided is incorrect

Видим ее расположение:

http://img123.imageshack.us/img123/6194/73665602ic1.jpg

Смотрим код чуть выше:
Код:
004018BC  |> \0AC0          OR AL,AL
004018BE  |.  74 02         JE SHORT apis32.004018C2
Поставим бряк на адрес 004018BC нажав F2 на нужном адресе.
Жмем F9 и вводим регистрационные данные указанные выше.
Активируется бряк.
Жмем F8 и видим что по адресу 004018BE активирован прыжок на адрес где выводится сообщение о неверной регистрации.

http://img123.imageshack.us/img123/649/53098824bm7.jpg

Чтож, тут можно поступить разными способами, например фишить серийник, патчить функцию проверки либо патчить условные переходы в которых идет проверка серийника (а в данном случае их 5).

http://img123.imageshack.us/img123/9141/59464887gv2.jpg

Но чтобы не геморриться с патчингом кучи вызовов мы пропатчим функцию по адресу 00405040:

Вначале функции введем следующее:
Код:
xor al, al
inc al
retn

http://img339.imageshack.us/img339/4886/58408445qu7.jpg
http://img339.imageshack.us/img339/1808/36960072tv2.jpg

Ввиду того что прыжок на адрес где лежит информация о неверной информации активировался только когда флаг Z будет активным, мы его насильно сделали неактивным, то есть равным 0 и соответственно прыжок на неверную регистрацию никогда не осуществится.

http://img339.imageshack.us/img339/4831/29569169ct0.jpg

Теперь сохраняем измененные байты в бинарник:

ПКМ->Copy to executable->All modifications

[ Заключение ]

В принципе способ довольно стандартный (немного коряво сделанный, но лень разбираться в 5 местах переходах на проверку серийника, лучше былобы фишить серийник, но опять таки лень поборола меня) и не требующий значительных усилий, и я лишь просто хотел показать какова защита на сегодня большинства программ.

© Хел

+++

Кряк к ней:

http://www.helkern.co.cc/tools/api.spy.2.5-patch.zip
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх