Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2014- СП 3.0 ЛАБЫ ОБЯЗАТ.doc
Скачиваний:
99
Добавлен:
01.03.2016
Размер:
896 Кб
Скачать
    1. Выполнение работы

      1. Подготовка текстовых файлов для работы

По аналогии с предыдущей лабораторной работой, нам понадобятся текстовые файлы, которые мы будем анализировать и сравнивать.

Первый файл – это распечатка расширенного дампа файла coff1.exe. Его мы получим следующими действиями.

Используйте объектный файл coff1.obj, созданный в прошлой лабораторной работе. Выполните его компоновку консольной командой

\masm32\bin\Link /SUBSYSTEM:CONSOLE /OPT:NOREF coff1.obj

В результате создастся файл coff1.exe, который и является объектом исследования в данной лабораторной работе.

Выполните команду

dumpbin /all coff1.exe > coff1.exe.DUMP

В результате создастся файл coff1.exe.DUMP. Откройте его в редактореWord. Для лучшей читаемости файла ориентацию страницы в нем установите в «Альбомную» и сохраните его под именемexe.DUMP.doc. Он будет распечатан и включен в отчет по работе. В дальнейшем мы будем называть этот файл «дамп».

Второй файл – это двоичный образ файла coff1.exe.

Откройте программу HexWorkshop(вы ею пользовались в прошлой лабораторной работе), и в ней откройте файлcoff1.exe. ВыполнитеFile–Export… Появится окноExportAs. Выберите тип айла экспортаRTF(*.rtf),а имя задайтеexe.bin.rtf. После нажатия Сохранить вы получите файл требуемыйexe.bin.rtf. Откройте его воWord, задайте ориентацию страницы «Альбомная», сохраните и распечатайте для включения в отчет. Этот файл в дальнейшем будем называть «бинарник».

      1. Исследование структуры ехе-файла

Исследование выполняется по аналогии с предыдущей лабораторной работой. Мы будем восстанавливать смысловые части ехе-файла в бинарнике.

Кладём перед собой две распечатки – дамп и бинарник. Находим в дампе очередную смысловую часть, например, FILEHEADERSVLUES. Сравнивая данные, находим в бинарнике начало этой части и (это важно!) ее окончание. Проводим в бинарнике разделяющие линии. Подписываем в бинарнике найденную часть на свободном поле справа. И так по всем смысловым частям дампа. Помним о разном представлении чисел в «позиционном» способе и «физическом» (объяснялось в прошлой лабе).

Не пропустите область «Заглушка MSDOS», подпишите ее. Найдите и выделите «РЕ-сигнатуру», подпишите ее выноской.

Вы обнаружите, что между смысловыми частями в бинарнике есть довольно обширные пустые области, заполненные нулями. Подпишите и их – «Пустая область №1», «…№2» и т.д.

Составьте карту (структуру) в виде таблицы с заголовком:

Название смысловой части – Смещение в exe-файле.

Размеченные дамп, бинарник и структуру ехе-файла поместите в отчет.

      1. Исследование выполнения программы под отладчиком

Откройте отладчик OllyDbg(для более устойчивой работы лучше открывать его с правами администратора). В нём откройте файлcoff1.exe. Обратите внимание, что при этом открывается пустое черное окно консольного приложения.

Выполните программу пошагово.

Сначала сделаем это без захода в вызываемые процедуры. Нажимаем клавишу F8 – выполняется очередная команда – наблюдаем результат. Так делаем примерно 27 раз (на 25м нажатии в черном окне появится текст. Запомните, какая команда фрейма кода была при этом выполнена). Когда выполнится командаExitProcess(E8B9000000), программа закончится. Вернуться к исходному состоянию (сразу после открытияcoff1.exe) можно черезDebug–Restart(Ctrl-F2).

Повторим то же самое, но нажатиями F7. Вы увидите выполнение всех команд, выполнение которых отладчик не демонстрировал при выполнении очереднойCALL. Общее число шагов выполнения программы получится раза в два больше, конечно.

Создать скриншот окна OllyDbgв положении, когда очередная выполняемая команда находится по адресу 401000. Скриншот поместить в отчет по работе.