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

Для выполнения этой (и следующей) работы нам понадобятся следующие программные инструменты:

  1. Консоль cmd.exe. Она доступна как стандартная программа Windows, тут проблем никаких.

  2. байтовый редактор файлов. Вы вправе использовать любой доступный, но мы, перебрав пяток разных, остановили свой выбор на программе Hex Workshop v6.7 фирмы BreakPoint Software Ltd, что и вам рекомендуем. Скачайте и установите ее на свой компьютер.

Кроме программных инструментов, нам понадобятся цветные маркеры. Не фломастеры, дающие густую закраску, а широкие маркеры, дающие прозрачный след. Мы ими будем выделять текст на распечатках и нужно, чтобы выделенный маркерами текст легко читался. Нам понадобятся маркеры, как минимум, трёх цветов – патриотичные желтый с голубым и какой-нибудь отличающийся третий, можно любой на ваш выбор.

      1. Изготовление файлов для сравнений

В этой работе мы будем исследовать ту же программу, что и в прошлой лабе – coff1.asm и всякие дополнительные файлы, которые мы будем изготавливать из неё.

Первое, что нам понадобится – это созданный в прошлой лабораторной работефайл расширенного листингаcoff1.asm.elst. Договоримся в дальнейшем называть его для краткости «листинг». Он у нас есть.

Второй файл, который нам понадобится – это объектный файл coff1.obj. Он тоже есть в прошлой лабораторной работе, поэтому создавать его снова нет необходимости, берём оттуда. Собственно, он – это и есть объект нашего исследования. Но его исследовать в состоянии «как есть» крайне неудобно, практически невозможно, по той простой причине, что он – двоичный, а структуру его мы не знаем. Поэтому будем вскрывать его внутренности другими средствами..

С этой целью сейчас мы из него создадим второй и третий файлы, с которыми мы и будем фактически работать.

Второй файл, назовем его«расширенный дамп объектного файла», получается так.

Сначала создадим командный файл dump.bat:

@echo DUMPBIN %1

@dumpbin /all %1 > %1.dump

Pause

И затем выполнить dump coff1.obj. Будет создан текстовый файл coff1.obj.dump. Создайте из него документ coff1.dump.doc, потому что вам придется его распечатывать, размечать, а это лучше делать с документом Worda, чем с неформатированным текстом. Файл coff1.dump.doc – это и есть «расширенный дамп». Договоримся в дальнейшем называть его для краткости словом «дамп».

Третий файл, назовём его «двоичное представление объектного файла», создается с помощью hex-редактора Hex Workshop.

Откройте Hex Workshop, в нём откройте файл coff1.obj. Не спутайте – именно obj, а не asm! Любые открытые в этом редакторе файлы внешне выглядят одинаково. Этому редактору «глубоко фиолетово», какого типа файл, он любой файл открывает просто как цепочку байт, поэтому будьте внимательны. Выполните File – Export…, Имя файла – coff1.bin.rtf, тип файла – RTF(*.rtf). Откройте coff1.bin.rtf в Word, ориентируйте страницу «по-альбомному» (нам в документе понадобится свободное поле справа для дописок), сохраните файл. Готово. Файл coff1.bin.rtf – это и есть третье требующееся нам «двоичное представление объектного файла». Файл в нем показывается в формате трёх колонок:

Смещение (hex)

первого байта из 16-ти

Числовые hex-представления 16 байтов

Символьное представление тех же байтов

1

2

3

00000000

00000010

00000020

00000030

00000040

4C 01 03 00 1E D9 46 53 C0 02 00 00 11 00 00 00

00 00 00 00 2E 74 65 78 74 00 00 00 00 00 00 00

00 00 00 00 39 00 00 00 8C 00 00 00 C6 00 00 00

00 00 00 00 09 00 00 00 20 00 50 60 2E 64 61 74

61 00 00 00 39 00 00 00 00 00 00 00 2D 00 00 00

L . ┘FS└ .. ...

.....text.......

....9...М...╞...

.... ... .P`.dat

a...9.......-...

Рисунок 4.1 - Структура бинарного представления объектного файла после экспорта из Hex Workshop.

Если байт невозможно отобразить символом, в третьей колонке используется точка.

Договоримся в дальнейшем для краткости называть этот файл «бинарник».

Итак, мы имеем три файла для работы:

  • coff1.asm.elst, кратко – «листинг»;

  • coff1.dump.doc, кратко – «дамп»;

  • coff1.bin.rtf, кратко «бинарник».

Распечатать все три файла, они должны присутствовать в отчете.