PEAnatomist. Бесплатная утилита PEAnatomist поддерживает практически все известные и некоторые недокументированные структуры внутри файлов MS PortableExecutable (EXE, DLL, SYS и подобных), библиотек LIB и объектных файлов в форматах COFF, MSVC CxxIL и ExtendedObj, файлов отладочной информации DBG и MS PDB, а также выполняет несложный анализ полученных данных. Программа не ограничивается обычным набором из файлового/опционального заголовков, импорта, экспорта, ресурсов и т.д. PEAnatomist глубоко вонзает "скальпель" в таблицы Base Relocations, LoadConfig и ExceptionsData. Вскрываются все поля и таблицы из LoadConfig - вплоть до версий из свежайших Windows SDK и ещё не документированных. Производится лёгкий анализ содержимого по релоцируемым VA, в т.ч. для специфичных типов релокации архитектур ARM7 Thumb и IA64. И, наконец, полный разбор таблиц ExceptionsData для архитектур x64, ARM7, ARM7 Thumb, ARM64 (в том числе и гибридных CHPE и ARM64EC), IA64 и специфичных для языка данных обработки исключений. На закуску ещё есть декодирование всех элементов из Rich-подписи с указанием всех используемых при создании PE инструментов, отображение многих типов отладочной информации, заголовков VisualBasic5/6, таблиц метаданных dotNET и нативных сборок (NGEN и Ready2Run). Кроме PE формата, поддерживаются и объектные файлы COFF, ExtendedObj и MSVC CxxIL (промежуточный язык компилятора MSVC), DBG (Sttipped Debug Information) и MS PDB (ProgramDatabase) в формате MSFv7. Сайт программы :: Журнал изменений :: PEAnatomist 0.2.11909.2000 (2023-07-09)
Супер! Я знаю, что это противоречит названию программы, но, может, добавишь поддержку ELF и Mach-O. Иногда очень хочется подобного инструмента для исполняемых форматов Линуксов и Макосов.
Обновление программы до версии 0.2.11931.2211 (2023-07-31): Коротко о новом: Добавлена поддержка файлов отладочной информации MS PDB в формате MSF версии 2 (JG) Исправлен ряд ошибок в работе с PDB Исправлена ошибка описания флагов в заголовке Ready2Run Сайт программы # Подробнее об изменениях # Скачать новую версию
Обновление программы до версии 0.2.12104.1940 (2023-09-04): Коротко о новом: Добавлена поддержка длинных имён секций в PE и OBJ для случая, если размер таблицы строк COFF превышает 9999999 байт Устранено возможное OOB-чтение во время подготовки описания для некоторых символов CodeView в PDB Исправлена ошибка описания архитектуры процессора в Codeview символе S_HYBRIDRANGE Сайт программы # Подробнее об изменениях # Скачать новую версию
Обновление программы до версии 0.2.12223.1950 (2023-10-23): Коротко о новом: Описание для RVA дополнено сведениями из множества таблиц: ExceptionData, .net Metadata, Ready2Run, HybridPE Добавлено декодирование fixup-сигнатур в R2R-секции READYTORUN_SECTION_IMPORT_SECTIONS Добавлен разбор R2R-секции READYTORUN_SECTION_INSTANCE_METHOD_ENTRYPOINTS Исправлен ряд ошибок Сайт программы # Подробнее об изменениях # Скачать новую версию
Обновление программы до версии 0.2.12224.1953 (2023-10-24): Коротко о новом: Устранено переполнение выделенного буфера при копировании в буфер обмена строк, содержащих описание RVA для методов из таблицы READYTORUN_SECTION_INSTANCE_METHOD_ENTRYPOINTS Исправлена ошибка копирования в буфер обмена строк, содержащих описание RVA для токенов метаданных .net, сигнатур методов и типов .net и Ready2Run Сайт программы # Подробнее об изменениях # Скачать новую версию