
БОС №2
.docxМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное образовательное
учреждение высшего образования
«Юго-Западный государственный университет»
Лабораторная работа №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), а также получили навык работы с редакторами исполняемых файлов и дизассемблерами.