Преамбула
Попросили показать самый простой пример по реверсингу. Ну ладно, сделал простейшую программу, окно где надо ввести пароль:
Ввели правильно, получаем окно одобрямса:
Ввели неверно, программа отправляет на повторный ввод с сообщением об ошибке:
Если нажать Cancel — программа просто завершится.
Сам CrackMe сделан на базе прошлого примера окна типа InputBox
(копия), не стал даже с закрытием «пароля» «звездочками» заморачиваться, говорю же, очень простой CrackMe, естественно, без всякой упаковки и навесных защит.
Вообще, пароль можно подсмотреть, открыв экзешник, например, в просмотровщике Far Manager по F3:
Прямо как в некоторых старых DOS-программах, где защита от копирования была скорее защитой от дурака, или в форках некоторых приставочных игр под DOS, где таким же образом можно было получить код от уровня.
Но мы пойдем другим путем, как завещал великий Ленин! Хотя способ будет не сильно далеким от «подсмотра», чтоб было слегка посложнее и интереснее — не будем пользоваться отладчиком, а воспользуемся дизассемблированием. В отладчике вместо одного шага (простого подсмотра пароля) будет полтора, а так все же веселее.
И задача, естественно, модифицировать программу так, чтобы подходил любой пароль.
Читать далее
Ссылки
1. Исходник CrackMe
2. Бинарный файл
3. Чтоб два раза не вставать: Разница между инструкциями test
и cmp
Копия в PDF