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.320
    Супер! Я знаю, что это противоречит названию программы, но, может, добавишь поддержку 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-му нравится это.
  7. Marylin

    Marylin Active Member

    Публикаций:
    0
    Регистрация:
    17 фев 2023
    Сообщения:
    153
    А где можно скачать старые версии?
    На сайте по ссылке только описание изменений, а самого архива видимо нет.
    У меня была версия, в которой меню в виде вкладок сверху, и там вроде не было поддержки PDB.
    А так крутой вьювер конечно получился, аналогов с таким функционалом ещё не видел.
     
    Mikl___ нравится это.
  8. R81...

    R81... Active Member

    Публикаций:
    0
    Регистрация:
    1 фев 2020
    Сообщения:
    146
    Некоторые
     

    Вложения:

    Mikl___ и Marylin нравится это.
  9. Marylin

    Marylin Active Member

    Публикаций:
    0
    Регистрация:
    17 фев 2023
    Сообщения:
    153
    R81..., сенкью, но к сожалению среди них нет того, что мне нужен.
     
  10. FoxB

    FoxB Member

    Публикаций:
    0
    Регистрация:
    10 июл 2003
    Сообщения:
    112
    Marylin, а автора спросить не...?!
     
  11. Marylin

    Marylin Active Member

    Публикаций:
    0
    Регистрация:
    17 фев 2023
    Сообщения:
    153
    FoxB, ну так я и спрашиваю у него тут, вдруг ответит.
    Хотя на сайте указано следующее, а регаться на форумах ради одного вопроса..
     
  12. FoxB

    FoxB Member

    Публикаций:
    0
    Регистрация:
    10 июл 2003
    Сообщения:
    112
    ну вопрос то был "в воздух", без конкретики адресата...
    могу спросить на тематических если еще актуально

    add: Обновление программы до версии 0.2.13012.1820 (2024-06-12)
     
    Последнее редактирование: 18 июн 2024
    Marylin нравится это.
  13. Marylin

    Marylin Active Member

    Публикаций:
    0
    Регистрация:
    17 фев 2023
    Сообщения:
    153
    Да не особо и актуально, просто интерфейс в нём мне казался удобным, хотя по функционалу уступает последним версиям. Это я так.. чисто из спортивного интереса. Благодаря данной утилите я хоть смог понять недокументированный официально формат файлов PDB - круто помогает, за что автору огромный респект!
     
  14. FoxB

    FoxB Member

    Публикаций:
    0
    Регистрация:
    10 июл 2003
    Сообщения:
    112
    Ответ от автора:

    "Где скачать - не знаю. Архив всех изменений само собой у меня ведётся, но поддерживать публично ворох старых версий мне крайне не хотелось бы. Тем более, что до сих пор программа рассматривается как PoC, а то, что можно будет расценивать как переход к альфа-версии, будет не ранее 0.3 ветки.

    Версии, где был интерфейс с табами, закончились на 0.1.7 в декабре 2019 года, т.е. "на заре" развития проги. Не представляю, как в новых версиях вместить все вложенные табы в подобном представлении GUI.
    Соответственно, за прошедшнее время программа сильно изменилась как по объёму поддерживаемых форматов файлов и структур, так и возможностям, с позволения сказать, "оболочки" (поиск, сортировка, большие списки).

    То, что программа пригодилась - очень здорово, это стимул продолжать публиковать её."
     
    Marylin нравится это.
  15. Marylin

    Marylin Active Member

    Публикаций:
    0
    Регистрация:
    17 фев 2023
    Сообщения:
    153
    FoxB, премного благодарен - исчерпывающий ответ.
     
  16. Jupiter

    Jupiter Jupiter

    Публикаций:
    0
    Регистрация:
    12 авг 2004
    Сообщения:
    532
    Адрес:
    Russia

    Во вложении:

    • PE Anatomist 0.1.7.158, выпущенная 2019-12-06.

    Начиная со следующей версии (0.1.8.234 от 2019-12-20), для навигации используется боковой TreeView вместо вкладок сверху.
     

    Вложения:

    Marylin нравится это.
  17. Marylin

    Marylin Active Member

    Публикаций:
    0
    Регистрация:
    17 фев 2023
    Сообщения:
    153
    Jupiter, точно.. вот эта версия у меня была когда-то.
     
  18. alex_dz

    alex_dz Active Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    410
    Jupiter
    позвольте поинересоваться что у вас такое интересное на аватарке?
    upload_2024-6-20_13-28-1.png
     
  19. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.780
    Jupiter? Что это? Встреча через 15 лет?
     
  20. Jupiter

    Jupiter Jupiter

    Публикаций:
    0
    Регистрация:
    12 авг 2004
    Сообщения:
    532
    Адрес:
    Russia
    010 Editor, шаблон HiewCMarkers.bt


    Почему именно 15? )
     
    alex_dz нравится это.