Сначала хотелось реверсить Delphi 6 или 7, но потом я посмотрел на эти дебри в отладчике и понял что это не для меня, я даже декомпилятор установил, но даже простые крекми я не смог осилить, спасибо ООП в часности и другим "приколам" которые генерит Delphi.
И я решил пойти другими путями и вспомнил про язык ассемблера и про сайт https://crackmes.one и решил качать только крекми на ассемблере:
crackmes.de's tropes_safe_cracker_1 by trope
Этот крекми это "сейф", для открытия которого нужно ввести правильную комбинацию из кнопок и нажать кнопку Open. Сначала код крекми в отладчике показался мне тоже какими-то дебрями, но потом я начал вспоминать как пишутся такие крекми, что нужно чтобы сгенерировать окно и как распознавать нажатие кнопок. Потом я вышел на проверку комбинации и постепенно я начал понимать всё больше и больше.
В итоге оказалось у программы 2 главных функции, которые вызываются при нажатии кнопок. Нажимаем "Open":
| 0040108D | E8 41000000 | call safe.4010D3 |
Нажимаем кнопки 1-5:
| 0040106F | E8 3D000000 | call safe.4010B1 |
Нажимаем кнопки и 1-5 и функция добавляет код нажатого символа в конец строки в глобальную переменную по адресу 403000. Нажимаем оpen и вызывается функция по адресу 4010D3 в которой происходит проверка комбинации. Ничего трудного в этой функции нет, код на ассемблере легко читается и это самая база, поэтому не будем далее рассматривать что там происходит. Можете сами глянуть в отладчике или скачать на сайте решение.
Комментариев нет:
Отправить комментарий