РАССЫЛКИ ПОРТАЛА RFPRO.RU Лучшие эксперты в разделе Номер выпуска: | 1665 | Дата выхода: | 02.11.2017, 13:45 | Администратор рассылки: | Лысков Игорь Витальевич (Старший модератор) | Подписчиков / экспертов: | 46 / 17 | Вопросов / ответов: | 1 / 1 | Консультация # 191566: Здравствуйте! Прошу помощи в следующем вопросе: Подскажите пожалуйста, как правильно надо делать это задание? Прикрепляю отчет и саму программу. В отчете написано само задание и те действия докуда я смогла дойти. Я понимаю что нужно делать дальше, но мне кажется что у меня неправильно дальше срабатывает или даже вообще не срабатывает программа.... Консультация # 191566: Здравствуйте! Прошу помощи в следующем вопросе: Подскажите пожалуйста, как правильно надо делать это задание? Прикрепляю отчет и саму программу. В отчете написано само задание и те действия докуда я смогла дойти. Я понимаю что нужно делать дальше, но мне кажется что у меня неправильно дальше срабатывает или даже вообще не срабатывает программа. Дата отправки: 28.10.2017, 13:24 Вопрос задал: ter4nastya (Посетитель) Всего ответов: 1 Страница онлайн-консультации » Консультирует Зенченко Константин Николаевич (Модератор): Здравствуйте, ter4nastya!
Запускаем OllyDbg вместе с отлаживаемой программой. Переходим в режим:
View names (Просмотр названий) (Ctrl+N) - отображает таблицу, содержащую все имена (экспорт, импорт, библиотека, определяемые пользователем) определяемые или используемые в текущем модуле. Находим функцию, которая читает информацию с поля ввода пароля, в данном случае - GetWindowTextA. Находим её в коде и ставим брейкпоинт. Нам важен второй параметр, передаваемый в функцию, т.к. функция может вызываться из нескольких мест, если ПКМ-нуть на регистре EDI выбрать поле Follow in Dump, то после каждого нажатия клавиши, её код будет отображаться в памяти. Т.е. это наша функция, которая нам нужна. За ней идет код:
cmp byte ptr [edi+esi-1], 0Ah jnz short loc_4012FE cmp esi, 7 jnz short loc_4012D5 xor eax, eax lea ecx, [esp+20h+var_14] loc_4012AD: mov dl, [ecx] mov bl, [edi+eax] xor dl, 25h cmp bl, dl jnz short loc_4012D5 inc eax add ecx, 4 cmp eax, 5 jl short loc_4012AD Первый смр, проверяет нажата ли клавиша Enter, т.е. закончен ли ввод. Второй смр, проверяет количество введенных символов, Enter записывается в память кодами 0Dh и 0Ah, т.е. в пароле 5-ть символов. Выполняя код в шаговом режиме наблюдаем за регистром ЕСХ, как только он измениться, ПКМ-каем и выбираем пункт Folow in Stack, будет показано содержимое стека, см. рисунок.
 Найдя механизм защиты, теперь можно: - ввести правильное слово: - заставить этот механизм сравнивать эталонное слово с самим собой; - изменить условный переход, так, чтобы при вводе не правильного слова, выдавалось правильное сообщение. Ну вот и всё. Удачи!
Оценить выпуск | Задать вопрос экспертам главная страница | стать участником | получить консультацию техническая поддержка Дорогой читатель! Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно! МЫ РАБОТАЕМ ДЛЯ ВАС! |
Комментариев нет:
Отправить комментарий