Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 лаба КА.doc
Скачиваний:
4
Добавлен:
07.07.2019
Размер:
79.36 Кб
Скачать
  1. При изучении программы в текстовом режиме были обнаружены следующие текстовые строки:

║; ш0 ║` ╕ ═!║N f╕NETSf ╢ b f┴└ 2р ┴тЎf=ш"'╓t ║W ш ├┤ ═!├Type yer attempt: $

Right!$ Wrong!$

  1. Примерный адрес начала области данных: 0000003E.

  2. Адреса начала и окончания обнаруженных текстовых строк:

0000003E-0000005F.

  1. Адрес окончания работы программы: 00000061.

  2. Приблизительный размер области кода программы: 41.

Приблизительный размер области данных: 25.

  1. Процедура по адресу 00000036 выполняет:

Заносит значение 009 в старший регистр AX - ah.

Команды, относящиеся к этой процедуре:

mov ah, 009

int 21

retn

  1. Группа команд по адресам 00000006-0000000D:

mov dx,00160 ;" `"

mov ax,00A00 ;" "

int 021

выполняет:

ввод символа с клавиатуры,

  1. Данные, вводимые пользователем, заносится по адресу: dx.

  2. Длина вводимых данных равна: 1, потому что:

используется 21-ое прерывание

  1. Группа команд, выводящая сообщение о ложном пароле:

and al,00A ;" "

or ax,07257 ;"rW"

outsw

outsb

  1. Группа команд, выводящая сообщение о правильном пароле:

and al,00A ;" "

or ax,06952 ;"iR"

push 02174 ;"!t"

  1. Группа команд, относящихся к процедуре проверке пароля:

cmp eax,0D62722E8

  1. Назначение регистра ECX в процедуре проверки пароля:

хранит введенное значение пароля.

Цикл процедуры проверки пароля выполнятся 6 раз.

  1. Начальное значение регистра EAX: 05354454E.

  2. Для того чтобы пароль оказался верным, регистр EAX должен принять значение, равное: 0D62722E8.

  3. Назначение пароля в алгоритме проверки:

складывается побайтно со значением введенного символа.

  1. Алгоритм атаки на пароль

по адресу 0000002D: 7403 замена je на jne.