Шаг 25 - Как обходят пароли

Итак, в прошлом шаге нам нужно было ввести 1, чтобы получить надпись Yes input. Будем считать, что это пароль. Но имея отладчик все это выглядит совсем уж просто. Загружаем в отладчик нашу программу и доходим до ввода символа, в ответ на то, что нужно ввести символ вводим, скажем, 7. Заведомо ошибочный символ. И доходим до JE:

25_1.gif (3428 b)

А теперь опаньки и меняем JE на обратную операцию. Тo есть на такую, которая поведет себя ровно наоборот (JNE)

25_2.gif (3268 b)

И Вы видите, что теперь переход есть, если мы пойдем дальше, то увидим этот Yes input:

25_3.gif (3435 b)

Так вот этот совсем тривиальный ход, как ни странно, очень часто срабатывает и в программах для Windows тоже. Надо просто поменять направление операции после сравнения и все. Конечно, если Вы будете что-то такое делать в программах для Windows, то нужен другой отладчик. Например, SoftIce. Если будет настроение, я расскажу о нем, и покажу на примере, что это все работает. Конечно проблемы есть, как найти именно то сравнение.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 05.12.2001