<< Все статьи по взлому Кейген для Password Agent от самих разработчиков Обсудить эту статью >>
Автор:FEUERRADER [AHTeam]
Уровень:Для начинающих
Программа:Password Agent 2.2.1
Размер:1,17 Мб
Язык:Borland Delphi 6.0 - 7.0
Тип защиты:Ограничения по версиям
Инструменты:TRW2000 (или SoftIce), DeDe

Вступление: попалась тут прожка Password Agent. Не самая последняя версия, ну да это и не очень важно. Вечер надо было коротать и я решил ее поковырять. Не запакована, ограничения в ней, как я понял по функциональности в версиях - Lite, Full...

Исследование: за регистрацию отвечает пункт меню "Enter key Code...". При нажатии OK Выходит MessageBox. В принипе все нам на руку, MessageBox и сериал, ломай не хочу... Но давайте не будем идти, как всегда стандартным ходом! Ведь крякер должен мыслить изощеренно!

Итак, загрузим файл в DeDe. Тыкаем интуитивно на TfrmEnterLicense. Действительно, это тот диалог для ввода сериала. Автор был не оригинален в выборе имени для формы. Теперь смотрим события для этой формы:
lblInfoDblClick
ButHelpClick
FormKeyDown
FormCreate
Хм, но для кнопки ОК нет события... как так? Не знаю даже, что теперь и делать... Смотрю событие lblInfoDblClick:
004CAC22   E84173FCFF             call    00491F68
004CAC27 84C0 test al, al
004CAC29 743F jz 004CAC6A
004CAC2B 66B84100 mov ax, $0041
004CAC2F E83473FCFF call 00491F68
004CAC34 84C0 test al, al
004CAC36 7432 jz 004CAC6A
004CAC38 8D55F4 lea edx, [ebp-$0C]

* Possible reference to control txtName : TEdit
004CAC3B 8B83F8020000 mov eax, [ebx+$02F8]
...
004CAC57 E868A4FFFF call 004C50C4
004CAC5C 8B55FC mov edx, [ebp-$04]

* Possible reference to control txtSerial : TEdit
004CAC5F 8B8310030000 mov eax, [ebx+$0310]
004CAC65 E8064FFAFF call 0046FB70
Да тут похоже проверка кода, но что это за контрол? Да это простой TLabel со всякими надписями о том как зарегистрироваться! Т.е. при двойном клике на этом сообщении происходит событие с фигурированием введенных данных в полях сериала и нашего имени. Это подозрительно :)

А теперь запоминаем, где начинается это событие - 4CAC22. Запустим TRW2000, затем Browse->PwAgent.exe->Load. Ставим бряк на bpx 4CAC22. Открываем окно с вводом сериала. Вводим наше имя и что угодно как серийник. Теперь жмем не ОК, а дважды кликаем Label, что выше полей для ввода. Выплыл TRW2000. Видим (как можно убедиться выше) 2 условных перехода. Проходим все CALL по F10 и меняем переходы на противоположные (читайте FAQ от FEUERRADER & MozgC, если не знаете, как это делается). После второго перехода на 4CAC36 ничего интересного не видно, так что пустим программу на выполнение - жмем F5. Ух ты! В поле ввода серийного номера вписался какой-то код. Для имени FEUERRADER, он был *975*845* (код специально затерт знаком "*"). Жмем теперь ОК и нам говорят, что мы купили Password Agent :) Да, такого откровенного идиотизма, за который автор просит почти $30 я еще не видел нигде :)

Лечение: получается, изменив всего два байта мы создадим keygen? Именно! Ну, так как все предельно просто, то вот байты для патчинга:
=========вырежь=тут=========
Difference(s) between pwagent.exe & cracked.exe
PwAgent.exe
000CAC30: 3F 00
000CAC37: 32 00
=========вырежь=тут=========
Заключение: неужели есть еще такие простаки, которые дают бесплатно кейген за 30 баксов :) Видимо, есть...


<< Все статьи по взлому Обсудить эту статью >>

ALIEN Hack Team - http://ahteam.org
Только для образовательных целей