Дисассемблеры и отладчики

Страницы работы

Содержание работы

Министерство образования и науки РФ

Федеральное агентство по образованию

Государственное образовательное учреждение

высшего профессионального образования

 «Комсомольский-на-Амуре Государственный Технический Университет»

Факультет компьютерных технологий

Кафедра МОП ЭВМ

ЛАБОРАТОРНАЯ РАБОТА 1

по курсу «ОСРР»

Выполнил:                                                                                                         Неделько Н.И.

Проверил:                                                                                                          Трещев И.А.

Вариант:                                                                                                            13

Комсомольск-на-Амуре

2006

Тема:          «Дисассемблеры  и  отладчики».

Цель:           Научиться работать с отладчиком и дисассемблером.

Задание:     Вам выдан рабочий модуль программы (COM файл). При запуске           этой программы производится запрос пароля, после чего дается заключение о правильности прохода через пароль. Ваша задача:

1)  Используя отладчик AFD или TD пройти по программе, найти место, где происходит дешифровка пароля и расшифровать его, после чего снова запустить программу, ввести правильный пароль и получить подтверждение о правильности прохода через пароль.

2)  Используя дизассемблер SOUSER

-  дизассемблировать выданную программу

-  автоматически построить блок схему алгоритма ее работы

-  найти в тексте программы место проверки пароля и подавить проверку

-  заново ассемблировать программу и представить ее преподавателю, продемонстрировав, что программа теперь не запрашивает пароль ( или успешно завершается при любом пароле).

3)  Оформить электронный отчет, в котором отразить:

-  титульный лист;

-  тему лабораторной работы и задание на лабораторную работу;

-  описание этапов дешифровки пароля и экранные формы отладчика, использованные при дешифровке пароля;

-  описание этапов дизассемблирования программы и экранные формы дизассемблера, использованные при этом, в отчет включить УЧАСТОК дизассемблированной программы, в котором происходит дешифровка и обработка пароля;

-  описание этапов автоматического построения блок-схемы алгоритма программы, в отчет включить УЧАСТОК блок-схемы алгоритма, в котором происходит дешифровка и обработка пароля;

-  описание приемов, примененных для подавления обработки пароля, в отчет включить УЧАСТОК дизассемблированной программы измененный Вами с целью подавления обработки пароля;

-  описание порядка ассемблирования программы;

-  вид экрана после срабатывания откорректированной программы;

Все экранные формы снимать с экрана и вносить в отчет, используя программу SNIPPER, выданную Вам преподавателем.

Электронный отчет представить на защиту. Знать приемы работы с отладчиком AFD или TD и дизассемблером SOUSER.

Вам выдан рабочий модуль программы (COM файл). При запуске этой программы производится запрос пароля, после чего дается заключение о правильности прохода через пароль. Ваша задача:

1) Используя отладчик AFD или TD пройти по программе, найти место, где происходит дешифровка пароля и расшифровать его, после чего снова запустить программу, ввести правильный пароль и получить подтверждение о правильности прохода через пароль.

2) Используя дизассемблер SOUSER

- дизассемблировать выданную программу

- автоматически построить блок схему алгоритма ее работы

- найти в тексте программы место проверки пароля и подавить проверку

- заново ассемблировать программу и представить ее преподавателю, продемонстрировав, что программа теперь не запрашивает пароль ( или успешно завершается при любом пароле).

Алгоритм работы программы:

Вводится пароль, потом одна буква зашифрованного пароля, потом происходит дешифровка с помощью команды XOR, сравнивается с символом введенным пользователем. Если пароль совпал то выводится сообщение об успехе.

Текст программы:

loc_4:               │                              │

┌────────────────────┴────────────────────┐         │

│   mov     ah,9                          │<────────┘

│   mov     dx,offset data_7              │

│   int     21h                           │

│   mov     dx,offset data_6              │

│   int     21h                           │

│   mov     dx,offset data_7+2            │

│   int     21h                           │

│   mov     cx,5                          │

│   mov     si,data_1e                    │

└────────────────────┬────────────────────┘

locloop_5:           │

┌────────────────────┴────────────────────┐

┌──>│   mov     bl,data_9[si]                 │

│   │   xor     bl,7Ch                        │

│   └────────────────────┬────────────────────┘

│   ┌────────────────────┴────────────────────┐

│   │   cmp     byte ptr ds:[17Bh][si],bl     │

│   └────────────────────┬────────────────────┘

│                        ^

│                     /     \  loc_6

│                   <   jne   >─────────────────────────┐

│                     \     /                           │

│                        v                              │

│   ┌────────────────────┴────────────────────┐         │

│   │   inc     si                            │         │

│   └────────────────────┬────────────────────┘         │

│   ┌────────────────────┴────────────────────┐         │

└───┤   loop    locloop_5                     │         │

└────────────────────┬────────────────────┘         │

┌────────────────────┴────────────────────┐         │

│   mov     ah,9                          │         │

│   mov     dx,offset data_10+0Eh         │         │

│   int     21h                           │         │

└────────────────────┬────────────────────┘         │

Результат работы программы:

Первым шагом оттрассировали программу в TD (см. рис. 1.).

Рис. 1. Трассировка в TD

Вторым шагом дисассемблировали программу в sources (см. рис. 2.).

:

Рис. 2. Дисассемблирование программы

Третьим шагом изменяем код программы (см. рис. 3.).

Рис. 3. Изменение кода

Четвертым шагом скомпилируем программу с помощью tasm, tlink и запустили ее на выполнение. Выдается сообщение о успешном выполнение задания (см. рис. 4.).

Рис. 4. Компоновка и сборка с помощью tasm, tlink

Список использованных источников:

1. Фролов А.В., Фролов Г.В. Библиотека системного программиста. Т. 1. Часть 1, 2, 3. Операционная система MS-DOS. М: ДИАЛОГ-МИФИ, 1991, 1993

2. Фролов А.В., Фролов Г.В. Библиотека системного программиста. Т. 2. Аппаратное обеспечение IBM PC. Часть 1, 2. М: ДИАЛОГ-МИФИ, 1992

3. Фролов А.В., Фролов Г.В. Библиотека системного программиста. Т. 3. Программирование видеоадаптеров CGA, EGA и VGA. М: ДИАЛОГ-МИФИ, 1992

4. Фролов А.В., Фролов Г.В. Библиотека системного программиста. Т. 6. Защищенный режим процессоров Intel 80286/80386/80486. М: ДИАЛОГ-МИФИ, 1993

5. Фролов А.В., Фролов Г.В. Библиотека системного программиста. Т. 8. Локальные сети персональных компьютеров. Использование протоколов IPX, SPX, NETBIOS. М: ДИАЛОГ-МИФИ, 1993

Похожие материалы

Информация о работе

Тип:
Отчеты по лабораторным работам
Размер файла:
104 Kb
Скачали:
0