Содержание
- 2. COFF - формат Common Object File Format - стандартный формат oбъектного файла Некоторые поля файла имеют
- 3. Portable Executable - переносимый исполняемый Это формат исполняемых файлов, объектного кода и динамических библиотек, используемый в
- 4. COFF и PE. В чем различие? Компоновщик не превращает объектный файл в исполняемый, а создаёт загрузочный
- 5. Шаг 1 – Написание программы .386 .model flat extrn MessageBoxA: dword extrn ExitProcess: dword extrn GetComputerNameA:
- 6. Шаг 2 - Создание заголовка PE-файла Как и в других исполняемых форматах от Microsoft, заголовок не
- 7. Шаг 2 - Создание заголовка PE-файла первый байт отображения файла соответствует первому байту заглушки DOS. настоящий
- 8. Шаг 2 - Создание заголовка PE-файла Поле Signature (сигнатура - подпись), представленное как ASCII код, -
- 9. Шаг 2 - Создание заголовка PE-файла NumberOfSections – кол-во секций = 3 (кода,данных,импорта) TimeDateStamp –время создания
- 10. Шаг 2 - Создание заголовка PE-файла ImageBase – адрес загрузки (см.шаг 1) Magic - слово-сигна-тура, определяющее
- 11. Шаг 2 - Создание заголовка PE-файла AddressOfEntryPoint = 1000 (входная точка главного потока = RVA данных
- 12. Шаг 2 - Создание заголовка PE-файла SizeOfStackReserve = 100000 (const = зарезервированный в вирт. пространстве объём
- 13. Шаг 3 - Создание секций PE-файла Name – название секции VirtualSize = 1000 (вирт. размер секции)
- 14. Шаг 3 - Создание секций PE-файла Для секции кода(.text) Для секции данных(.data и .idata)
- 15. Шаг 3 - Создание секций PE-файла
- 16. Шаг 3 - Создание секций PE-файла Если это не секция “.idata” то Клик мышкой на ячейку
- 17. Шаг 3 - Создание секций PE-файла Что храниться в секции “.idata” ? Перед загрузкой в память
- 18. Шаг 3 - Создание секций PE-файла Если это секция “.idata” то Предварительно подключаем таблицу импорта в
- 19. Вписываем все подключаемые модули с помощью вставки ASCIIZ Вписываем все используемые функции с помощью вставки ASCIIZ
- 20. Шаг 4 – Разрешение статических и внешних ссылок Очень важный этап компоновки - разрешение статических и
- 21. Шаг 4 – Разрешение статических и внешних ссылок Для разрешения ссылок для каждой секции COFF-файла используется
- 22. Шаг 4 – Разрешение статических и внешних ссылок в секции PE-файла, соответствующей данной секции COFF-файла, по
- 23. Шаг 4 – Разрешение статических и внешних ссылок Разрешение статических и внешних ссылок
- 25. Скачать презентацию