[ Введение ]
Итак однажды мне попалась программа под названием API Spy 2.5. Это программа шпион API функций которые вызываются из программ. Но какая неудача - программка требовала регистрацию. Но это оказалась нам не помеха.
Нам понадобятся:
OllyDbg
PEiD
Скачать программу можно тут:
https://cracklab.ru/_dl/new/apis3225.rar
[ Go, Go, Go ]
Итак запускаем программу и видим следующее:
https://img123.imageshack.us/img123/214 … 894ct2.jpg
Проверим запакована ли она сама PEiD'ом.
https://img123.imageshack.us/img123/747 … 041xr0.jpg
Программа ничем не запакована и написана на С++. Ок продолжаем наше исследование.
Кликаем на кнопку Register внизу:
https://img123.imageshack.us/img123/231 … 298up3.jpg
Вводим данные например SoulFreaker в качестве имени и 31337 в качестве серийника.
Видим месагбокс с информацией что серийник не верный.
Грузим программу в олли.
Вообще можно поставить бряки на различные функции программы считывания из эдитбокса или на окошко сообщения о неверной регистрации, вызвав ПКМ->Search for->All intermodular calls.
Но мы поступим по другому и сделаем следующее:
ПКМ->Search for->All referenced text strings
И там поищем строку о неверном серийнике:
ПКМ->Search for text->provided is incorrect
Видим ее расположение:
https://img123.imageshack.us/img123/619 … 602ic1.jpg
Смотрим код чуть выше:
004018BC |> \0AC0 OR AL,AL 004018BE |. 74 02 JE SHORT apis32.004018C2
Поставим бряк на адрес 004018BC нажав F2 на нужном адресе.
Жмем F9 и вводим регистрационные данные указанные выше.
Активируется бряк.
Жмем F8 и видим что по адресу 004018BE активирован прыжок на адрес где выводится сообщение о неверной регистрации.
https://img123.imageshack.us/img123/649/53098824bm7.jpg
Чтож, тут можно поступить разными способами, например фишить серийник, патчить функцию проверки либо патчить условные переходы в которых идет проверка серийника (а в данном случае их 5).
https://img123.imageshack.us/img123/914 … 887gv2.jpg
Но чтобы не геморриться с патчингом кучи вызовов мы пропатчим функцию по адресу 00405040:
Вначале функции введем следующее:
xor al, al inc al retn
https://img339.imageshack.us/img339/488 … 445qu7.jpg
https://img339.imageshack.us/img339/180 … 072tv2.jpg
Ввиду того что прыжок на адрес где лежит информация (info) о неверной информации активировался только когда флаг Z будет активным, мы его насильно сделали неактивным, то есть равным 0 и соответственно прыжок на неверную регистрацию никогда не осуществится.
https://img339.imageshack.us/img339/483 … 169ct0.jpg
Теперь сохраняем измененные байты в бинарник:
ПКМ->Copy to executable->All modifications
[ Заключение ]
В принципе способ довольно стандартный (немного коряво сделанный, но лень разбираться в 5 местах переходах на проверку серийника, лучше былобы фишить серийник, но опять таки лень поборола меня) и не требующий значительных усилий, и я лишь просто хотел показать какова защита на сегодня большинства программ.
(c) Хел
PS
крэк к ней:
https://www.helkern.co.cc/tools/api.spy.2.5-patch.zip
- Подпись автора
...если долго вглядываться в Бездну, то она начнет вглядываться в Вас...