Автор: | 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 баксов :) Видимо, есть...
|
|