Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

БОС №2

.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
555.42 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное образовательное

учреждение высшего образования

«Юго-Западный государственный университет»

Лабораторная работа №2

По дисциплине: «Безопасность операционных систем»

Тема: «Обзор РЕ-формата исполняемых файлов платформы WIN32»

Выполнил: Рохтин Я.А.

студент группы ИБ-21б

Проверил: Чеснокова А.А.

Преподаватель

Курск, 2025

Цель работы

Получение представления о структуре исполняемых файлов Win32, ознакомление с PE-заголовком, секциями и таблицами импорта приложений, получение начальных сведений о работе загрузчика Windows NT (ntdll.dll), а также получение навыков работы с редакторами исполняемых файлов и дизассемблерами.

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

Приступим к выполнению работы и запустим Hiew. В появившемся окне (рис. 1) выберем исполняющий файл и запустим его.

Рисунок 1 – Выбор исполняющего файла.

В открывшемся файле нажимаем на F4 и выбираем режим HEX. (рис. 2). После чего видим изменившийся вывод данных. (рис. 3).

Рисунок 2 – Первоначальный вывод данных.

Рисунок 3 – Вывод данных в режиме Hex.

Клавишей F8 откроем меню параметров исполняемого файла. (рис. 4). Получаем данные - Целевая машина: Intel386, Число секций: 8, Целевая подсистема: GUI, Виртуальный адрес загрузки образа: 0х00400000, Виртуальный адрес и абсолютное внутрифайловое смещение точки входа: RVA = 1000h; VA = ImageBase + RVA = 0x00401000. Чтобы найти абсолютное внутрифайловое смещение точки входа, необходимо нажать F5 (Entry), после чего происходит переход на точку входа. (рис. 5). Внутрифайловое смещение точки входа равно 0x0160

Рисунок 4 – параметры исполняемого файла.

Рисунок 5 – Внутрифайловое смещение точки входа.

Дальше, находясь на точке входа приложения, нажмем F4 и перейдем в режим Decode (рис. 6) и на экране отобразится дизассемблированный код приложения.

Рисунок 6 – изменение режима просмотра.

Поскольку по смещению 0x0160 находится точка входа нашего приложения, первой инструкцией является операция помещения в стек указателя базы кадра стека. (рис. 7).

Рисунок 7 - Первая инструкция.

Теперь рассмотрим таблицу секций приложения. Их можно рассмотреть по адресам и именам секций, в нашем случае это .text (рис. 8) и .rdata (рис. 9).

Рисунок 8 – секция 1 .text.

Рисунок 9 – секция 2 .rdata.

Перейдем в анализатор секций нажатием F8 и после F6 (рис. 10). Рассмотрим параметры секций.

Рисунок 10 – Анализатор секций.

Выписываем необходимые данные: Имя секции: .text; RVA начала: 0x00001000; Внутрифайловое смещение начала: 0x00000400; Виртуальный размер секции: FE084h = 104516 байт; Физический размер секции: FE200h = 1040896 байт.

Аналогично записываем в отчет данные о второй секции: Имя секции: .rdata; RVA начала: 0x00112000; Внутрифайловое смещение начала: 0x00000600; Виртуальный размер секции: 18 байт; Физический размер секции: 200 байт.

Последним этапом лабораторной работы является поиск таблицы адресов импульсов, после чего выписать все импортируемые функции и соответствующие им библиотеки. Для этого нажмем F8 и F7, тем самым мы попадем в окно списка импортируемых файлов. (рис. 11).

Рисунок 11 – список импортируемых файлов.

Вывод

Получили представление о структуре исполняемых файлов Win32, ознакомились с PE-заголовком, секциями и таблицами импорта приложений, получили начальные сведения о работе загрузчика Windows NT (ntdll.dll), а также получили навык работы с редакторами исполняемых файлов и дизассемблерами.

Соседние файлы в предмете Безопасность операционных систем