Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Ассемблер? Это просто! Учимся программировать


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 148
∙ повысить рейтинг »
Evgen aka Chuma
Статус: 5-й класс
Рейтинг: 0
∙ повысить рейтинг »
quirck
Статус: 1-й класс
Рейтинг: 0
∙ повысить рейтинг »

∙ Assembler

Номер выпуска: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, то после каждого нажатия клавиши, её код будет отображаться в памяти. Т.е. это наша функция, которая нам нужна.
За ней идет код:
Код (Assembler) :: выделить код
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, будет показано содержимое стека, см. рисунок.

Найдя механизм защиты, теперь можно:
- ввести правильное слово:
- заставить этот механизм сравнивать эталонное слово с самим собой;
- изменить условный переход, так, чтобы при вводе не правильного слова, выдавалось правильное сообщение.
Ну вот и всё.
Удачи!

Консультировал: Зенченко Константин Николаевич (Модератор)
Дата отправки: 31.10.2017, 17:29
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное