Далее нажимаем правую кнопку и переходим на вкладку references to
Описание
Изучим панель инструментов. Первая слева кнопка - открыть исполняемый файл. Горячая клавиша: [F3]. Затем идут "Перезагрузить файл - [Ctrl + F2]" (загружает последний открывавшийся файл) и "Закрыть файл - [Alt + F2]". Следом - пара кнопок "Выполнить - [F9]" и "Пауза - [F12]". С ними все должно быть понятно. Далее по списку режимы трассировки: · Step in - [F7] - исполняет одну команду за раз. · Step over - [ F8 ] - также исполняет одну команду за раз, но при обработке вызовов старается выполнить подпрограмму за один шаг, не передавая ей управление. Но! Управление все же передается в подпрограмму, если на вызов установлена точка останова, или в ней генерируются исключительные ситуации (прерывания). · Trace into - [ Ctrl + F11 ] - режим похож на анимацию, только окна отладчика при этом не обновляются, и ведутся логи изменения регистров, памяти и т. п. Trace into выполняет процесс со входом в подпрограммы (как при step in) В окне Debugging Options -> Trace [ Alt + O ] можно изменить настройки · Trace over - [ Ctrl + F12 ] - то же, что и trace into, но подпрограммы выполняются за один шаг, как при step over. · Execute till RET - [ Ctrl + F9 ] - выполнять программу до инструкции RET. В окне Debugging Options -> Trace [ Alt + O ] можно отметить пункт "After executing till RET, step over RET", чтобы останавливать выполнение программы на следующей за RET команде. Иначе останов будет осуществляться перед RET. Далее идут кнопки, открывающие окошки с различной инфой (логи, подгружаемые модули, память процесса, ветви процесса, описатели, окна и т. д. и т. п.), с которыми мы будем знакомиться при появлении в этом необходимости. А сейчас перейдем к практической части. Ход работы
1) Открываем ollydebuger, в вкладке file нажимаю open и выбираем программу (EXE файл PE формат) согласно варианту в папке «Варианты заданий». (рисунок 2.1)
Рисунок 2.1 - открытый exe файл в программе olledebuger 2. Далее в окне данных нажимаем правую кнопку и переходим на вкладку поиск по имени, далее открывается окно (рисунок 2.2) , в котором ищем поле отвечающее за ввод текста.
Рисунок 2.2 - окно name Далее нажимаем правую кнопку и переходим на вкладку references to 4) Нажимаем на команду в окне двойным щелчком, после чего нас переносит к месту использования функции ввода текста GetWindowsTextA, ставим точку останова (рисунок 2.3). Рисунок 2.3 - точка останова в окне команд
5) Далее запускаем программу и нажимаем F8 пока не откроется окно ввода пароля, после вводим любой символ (рисунок 2.4)
Рисунок 2.4 - окно ввода пароля
6) После чего в окне содержимого слов в шестнадцатиричном формате нажимаем правую кнопку и переходим в вкладку go to и пишем адрес указанный в точки останова (рисунок 2.5) Рисунок 2.5 - переход с помощью go to
7) Далее в окне hex dump выделяется символ который мы ввели, с помощью двойного щелчка исправляем его на 0A и нажимаем F8. 8) После чего нажимаем F8 до тех пор пока не наткнемся на команду CMP (Рисунок 2.6), здесь сравнивается регистр ESI с значением 7, для того чтобы ввести нужное нам значение в поле регистры находим необходимый и двойным щелчком исправляем его.
Рисунок 2.6 - ввод нужного значения в регистр 9) После чего нажимаем F8 до тех пор пока не наткнемся на команду CMP где сравниваются 2 регистра BL и DL, в BL значение которое мы ввели, а в DL значение с которым сравниваем, изменяем значение двойным щелчком
10) Далее повторяем пункт 9 до тех пор пока не закончится сравнение всех регистров, после чего вносим символы хранящиеся в регистрах с которыми сравниваем в окно hex dump и видим в окне AACII расшифрованный пароль (Рисунок 2.7) Рисунок 2.7 - результат расшифровки паро Тестирование
Во время выполнения работы мы узнали что нужный пароль «ИльиЧ», теперь необходимо протестировать, действительно ли с помощью него можно будет пройти защиту программы. Как видно на рисунке 3.1 наш пароль действительно подходит.
Рисунок 3.1 – Проверка работоспособности пароля Заключение В рамках данной лабораторной работы был рассмотрен отладчик OlleDebuger где пройдя по программе, мы нашли место, где происходит дешифровка пароля и расшифровали его, после чего снова запустили программу, ввели правильный пароль и получили подтверждение о правильности прохода через пароль. Список используемых источников
1) ООП_учебное_пособие.word
Популярное: Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (416)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |