Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2012- СИСПРОГ на МАСМ.doc
Скачиваний:
21
Добавлен:
09.11.2019
Размер:
553.47 Кб
Скачать

5.3Выполнение работы

  1. Изучить примеры программ с GUI, в которых производится ввод и вывод информации по списку, приведенному ниже. Для каждой программы проделать следующее:

  1. Открыть ехе-файл и испытать работу всех кнопок и полей ввода;

  2. Сделать скриншот главного окна программы для отчета.

  3. Кратко словами описать, для чего предназначена программа и в чем особенности ее работы.

Список примеров, которые вы должны рассмотреть обязательно:

- examples\dialogs\test;

- examples\dialogs\pbddemo;

- examples\dialogs\nested;

- examples\dialogs_later\check;

- examples\dialogs_later\radio.

Просматривая папки с этими примерами, зафиксируйте для отчета, какие повторяющиеся типы файлов вы находите в этих папках. Сформулируйте для отчета обобщение о назначении этих файлов.

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

  1. Откройте пример examples\dialogs_later\gettext.

  1. Проделайте с ним ту же работу, что и с примерами из п. а).

  2. Скопируйте asm-файл этого примера в свою рабочую папку, чтобы при последующем редактировании не портить исходник примера.

  3. Составьте таблицу вызовов процедур и макросов для gettext.asm до уровня процедур из MSDN. Как это делать, описано в теоретических сведениях.

  4. Подробно (пооператорно) прокомментируйте копию исходника gettext.asm, которую вы в п. 2) скпировали в свою рабочую папку.

  1. Сделать вывод по работе, в котором описать на основании проделанной здесь работы, что, по-вашему, должно быть сделано в GUI-программе для ввода в программу текстовой строки с клавиатуры и вывода текстовой строки на экран.

5.4Состав отчета по работе

  1. Название и номер работы, фамилия и группа студента.

  2. Цель работы.

  3. Протокол выполнения работы с текстами ответов на все вопросы в заданиях пункта «Выполнение работы».

  4. Ответы на контрольные вопросы.

  5. Личная подпись автора отчета.

5.5Контрольные вопросы

  1. Что означает понятие «GUI»?

  2. Зачем бывает нужен файл manifest.xml?

  3. В OS Windows кто исполняет вызовы процедур, описанных в MSDN?

6ВЫПОЛНЕНИЕ АССЕМБЛЕРНЫХ ПРОГРАММ ПОД ОТЛАДЧИКОМ OLLYDBG

6.1Цель работы

Изучить основные возможности дизассемблера-отладчика OllyDbg, ознакомиться с простейшими приемами отладки готового exe-модуля средствами OllyDbg.

6.2Необходимое программное обеспечение

Кроме пакета MASM32 для выполнения данной лабораторной работы понадобится отладчик OllyDbg стабильной версии 1.1 с установленным плагином CommandBar.

6.3Теоретические сведения

Договоримся о сокращениях в приводимом ниже тексте. Щелчок левой кнопкой мыши будем обозначать ЛКМ, двойной щелчок левой кнопкой мыши – 2КМ, щелчок правой кнопкой мыши – ПКМ.

OllyDbg – достаточно хороший отладчик уровня пользователя, т.е. он ориентирован на программы, выполняемые в ОС Windows в «кольце защиты уровня 3». Как известно из документации по процессорам с Intel-архитектурой, в защищенном режиме для программ разного назначения установлены разные уровни приоритетов, почему-то названных «кольца защиты». Всего их четыре, с номерами от 0 (наивысший приоритет) до 3 (самый низкий приоритет). Уровень 0 выделен для процессов ядра ОС, уровни 1 и 2 – для драйверов устройств и приложений, а уровень 3 – пользовательский.

Практически это означает, что при работе с OllyDbg отладить, предположим, драйвер, работающий в кольце 0, невозможно, но в практической работе это отнюдь не умаляет его полезности и удобства. К его достоинствам можно отнести простоту использования, наличие в сети достаточно большого количества плагинов и отличную функциональность. В 2012 году стабильной версией OllyDbg была версия 1.1, в которую нормально устанавливались и успешно работали все необходимые плагины, в частности, CommandBar, который обеспечивает интерфейс командной строки внутри отладчика, что весьма удобно. В его отсутствие все отладочные действия приходится выполнять с помощью меню и мыши, что часто и дольше, и менее наглядно.

Итак, рассмотрим наш отладчик более детально. При его запуске перед нами появляется рабочее окно, в котором мы в дальнейшем сможем наблюдать и анализировать работу интересующего нас вычислительного процесса (что, в общем, и составляет суть понятия «отладка»). Исследуемый процесс может быть выбран как в виде исполняемого файла формата PE (ОС Windows) (команда меню File – Open, либо F3), так и в виде уже запущенного процесса (File - Attach). В последнем случае следует отметить, что при завершении работы с отлаживаемым процессом закрытие отладчика закрывает и сам этот процесс. Поэтому следует быть осмотрительным при отладке программ типа Csrss.EXE, Winlogon.EXE или Explorer.EXE, имеющих отношение к функционированию операционной системы.

Внешне отладчик с запущенным под ним процессом выглядит как на рис. 6.1.

Рисунок 6.1 – Интерфейс запущенного отладчика OllyDbg с открытой в нем программой hello.exe.

На рис. 6.1 пронумерованы и названы все рабочие области отладчика. Дополнительно поясним, что области 1, 2, 3, 4 и 5 в совокупности образуют фрейм (окно) кода, области 6, 7 и 8 – фрейм регистров и флагов, области 9, 10 и 11 – фрейм дампа памяти, а области 12, 13 и 14 – это фрейм стека. О каждом из этих фреймов ниже рассказывается подробнее.