![]() |
Привет всем!
Решил я тут сделать краткий обзор инструментаPPEE(Puppy). Этот инструмент предназначен для детального исследования файлов. В конце статьи будут полезные ссылки Начнём с теории, а дальше исследуем 1 exe файл. Все параметры PE файла я описывать не буду. Только часто используемые. Они будут выделены жёлтым цветом. Их можно посмотреть перейдя ссылкам в конце обзора. Описание с сайта разработчика Puppy - это легкий, но мощный инструмент для статического исследования интересующих нас файлов. Также предоставляются два сопутствующих плагина. FileInfo - чтобы запросить файл в известных хранилищах вредоносных программ и взять в один клик техническую информацию о файле, такую как его размер, энтропия, атрибуты, хэши, информация о версии и так далее. YaraPlugin - чтобы проверить правила Yara (помогают нам идентифицировать и классифицировать образцы вредоносных программ) против открытого файла. Рассмотрим exe файл Dos Header - Заголовок MS DOS. https://forum.antichat.xyz/attachmen...000cc8337e.png Rich Header - Структура, генерируемая компилятором. Содержит информацию о компиляторе. Если вам интересно почитать про этот заголовок, вотобсуждение на antichat. https://forum.antichat.xyz/attachmen...5bf232f6d7.png NT Header - Содержит заголовок PE файла. https://forum.antichat.xyz/attachmen...9e0b3fcce1.png File Header - заголовок исследуемого файла. https://forum.antichat.xyz/attachmen...2e980947f3.png PointerToSymbolTable - смещение до таблицы с символами. NumberOfSymbols - количество символов в таблице символов. Characteristic - характеристика файла. NumberOfSections - количество секций в файле. Optional Header - опциональный заголовок. Такие заголовки находятся в форматах .exe, .dll, но не в объектных файлах .obj. https://forum.antichat.xyz/attachmen...bd78cc02b3.png Magic - по этому полю можно определить для какой архитектуры PE программа. PE32 (x86) PE32+ (x64). Особенность PE32+: все поля, содержащие виртуальный адрес имеют размер qword = 64 bit. SizeOfCode - размер секции кода. SizeOfInitialezedData и SizeOfUninitialezedData - размер инициализированных и не инициализированных данных. ImageBase - базовый адрес загрузки PE файла. AdressOfEntryPoint - адрес точки входа. Точка входа показывает откуда начать выполнение программы, когда она запускается. Адрес не абсолюный, а относительный RVA. BaseOfCode - RVA по которому размещена секция кода. BaseOfData - RVA по которому размещена секция с данными. Data Directories - Перечисляет все таблицы в файле. https://forum.antichat.xyz/attachmen...297f496ed4.png Section Headers - Секции файла. https://forum.antichat.xyz/attachmen...973084a1a8.png DIRECTORY_ENTRY_IMPORT - Показывает все dll и их функции которые были импортированы в программу разработчиком. https://forum.antichat.xyz/attachmen...a69125641c.png DIRECTORY_ENTRY_DEBUG - Отладочная информация о файле. Эта таблица присутствует, если к программе подключают dll файлы. https://forum.antichat.xyz/attachmen...23554473d5.png DIRECTORY_ENTRY_LOAD - Таблица с конфигурациями загрузок. https://forum.antichat.xyz/attachmen...5b532767f3.png DIRECTORY_ENTRY_IAT - таблица с адресами импортируемых функций и dll. https://forum.antichat.xyz/attachmen...0220ab201e.png Strings in file - Строки в исследуемом файле. Возможна сортировка по ASCII, Unicode и другим типам строк. https://forum.antichat.xyz/attachmen...b8482789b4.png Если после прочтения этого краткого обзора у вас появился интерес к изучению PE файла, перейдите и почитайте информацию из ссылок ниже. Цикл статей @PingVinich Видео на канале The античат Официальная документация Microsoft про PE файл Статья на Habr Спасибо за внимание. Не болейте. |
| Время: 18:15 |