PEAnatomist - внутренности PE, OBJ, PDB файлов

Тема в разделе "WASM.PROJECTS", создана пользователем RamMerLabs, 9 июл 2023.

  1. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    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)
     
    M0rg0t, R81..., Artem_N и 2 другим нравится это.
  2. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.262
    Супер! Я знаю, что это противоречит названию программы, но, может, добавишь поддержку ELF и Mach-O. Иногда очень хочется подобного инструмента для исполняемых форматов Линуксов и Макосов.
     
  3. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Обновление программы до версии 0.2.11931.2211 (2023-07-31):

    Коротко о новом:
    • Добавлена поддержка файлов отладочной информации MS PDB в формате MSF версии 2 (JG)
    • Исправлен ряд ошибок в работе с PDB
    • Исправлена ошибка описания флагов в заголовке Ready2Run

    Сайт программы # Подробнее об изменениях # Скачать новую версию
     
    Vapaamies нравится это.
  4. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Обновление программы до версии 0.2.12104.1940 (2023-09-04):

    Коротко о новом:
    • Добавлена поддержка длинных имён секций в PE и OBJ для случая, если размер таблицы строк COFF превышает 9999999 байт
    • Устранено возможное OOB-чтение во время подготовки описания для некоторых символов CodeView в PDB
    • Исправлена ошибка описания архитектуры процессора в Codeview символе S_HYBRIDRANGE

    Сайт программы # Подробнее об изменениях # Скачать новую версию
     
  5. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Обновление программы до версии 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
    • Исправлен ряд ошибок

    Сайт программы # Подробнее об изменениях # Скачать новую версию
     
    Mikl___ нравится это.
  6. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Обновление программы до версии 0.2.12224.1953 (2023-10-24):

    Коротко о новом:
    • Устранено переполнение выделенного буфера при копировании в буфер обмена строк, содержащих описание RVA для методов из таблицы READYTORUN_SECTION_INSTANCE_METHOD_ENTRYPOINTS
    • Исправлена ошибка копирования в буфер обмена строк, содержащих описание RVA для токенов метаданных .net, сигнатур методов и типов .net и Ready2Run

    Сайт программы # Подробнее об изменениях # Скачать новую версию
     
    Marylin, R81..., Mikl___ и ещё 1-му нравится это.