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

Rio

Администратор
Администратор
Сообщения
137
Реакции
145
PEAnatomist.

PE-Anatomist - бесплатная программа для отображения содержимого файлов PE формата
(.exe, .dll, .sys, .ocx и другие), объектных файлов (.obj и подобные), файлов библиотек (.lib).
Доступен просмотр практически всех известных структур этих форматов и небольшой
анализ некоторых их них.

RUS:
Помимо обычного набора из базовых заголовков, импорта, экспорта, ресурсов и т.д. PEAnatomist глубоко вонзает "скальпель" в таблицы Base Relocations, LoadConfig и ExceptionsData.
Вскрываются все поля и таблицы из LoadConfig - вплоть до самых свежих из Win SDK 18362 (Enclave и Volatile Metadata). Производится лёгкий анализ содержимого по релоцируемым VA, в т.ч. для специфичных типов релокации архитектур ARM7 Thumb и IA64. И, наконец, полный разбор таблиц ExceptionsData для архитектур x64, ARM7, ARM7 Thumb, ARM64, IA64 и специфичных для языка данных.

ENG:
PE-Anatomist is freeware program to display the contents of PE format files
(.exe, .dll, .sys, .ocx et al.), object files (.obj and the like), library files (.lib).
The program allows to view almost all known structures of these formats and performs
an analysis of some of them.
Distributed under the terms of the MIT license (license text applied).

Версия 0.1.17.83 (2020-09-10)
PEAnatomist.exe SHA256: BEB515489A0C8DA42DC252F51C1DFCDF886E02A76FB688DFD3F41D3AECF8D9A8
  • Добавлено распознавание пути к файлу из ярлыка, созданного установщиком MSI
  • Исправлена ошибка отображения некоторых диалогов из ресурсов исследуемого файла
  • Актуализированы набор флагов политики CET и структура LOAD_CONFIG_DIRECTORY из SDK 20201
  • Добавлено отображение значения xFG-хеш в списке GFID
  • Добавлено описание нескольких групп секций на странице "POGO" в IMAGE_DEBUG_DIRECTORY
  • Ускорено отображение найденных строк в PE-файлах
  • Добавлено опциональное ограничение на запуск единственного экземпляра программы
  • Добавлено меню запуска копии программы с текущим открытым файлом
  • Добавлена возможность загрузки файла из буфера обмена
  • Устранена потеря символа в распознавании строк, если длинная строка была разделена на несколько
  • Добавлены настройки обнаружения строк: порог распознавания и игнор строк без завершающего нуля
  • Добавлен диалог выбора секции и открытия спроецированного в неё файла
  • Введено ограничение в один экземпляр диалога свойств ресурсов на каждую запись
  • Оптимизация и чистка части кода для работы с ListView
Версия 0.1.18.142 (2020-10-21)
PEAnatomist.exe SHA256: 1D8A9C56A04A1C228EB30E9B21313FDA95ADF11B50A44A553984EE78DBDDA7D5
  • Исправлена ошибка отображения данных из ~GUID в таблицах метаданных .NET
  • Добавлено описание флагов записей в таблицах метаданных .NET
  • Исправлена ошибка позиционирования дочерних окон на многомониторных конфигурациях
  • Добавлено создание минидампа в случае возникновения необработанного исключения
  • Обновлено описание флагов символа @feat.00
  • Изменен текст описания нескольких ID в Rich Signature
  • Переписана часть кода для перечисления объектов 'Секция'
  • В таблицу ExceptionsData X64 добавлена колонка с размером локального выделения на стеке
  • Добавлен запрос на запуск новой копии программы, если включено ограничение на запуск единственного экземпляра программы и уже запущенная копия не отвечает
  • Формат таблицы цепи ExceptionsData для x64 изменён на более подробный
  • Устранена ошибка определения размера для UWOP_ALLOC_LARGE(1)
  • Добавлена страница значений xFG-хеша функций для OBJ-файлов
  • Добавлена страница ExceptionsData OBJ-файлов для x64, ARM64 и ARM
  • Исправлена ошибка работы с секциями в OBJ-файлах при наличии BSS с определённым набором параметров
  • Устранена ошибка разбора кодов раскрутки для ARM и ARM64 (в PE и OBJ файлах), которая могла проявляться на небольших файлах или с большим числом эпилогов в функции
  • Чистка и небольшая оптимизация парсера кодов раскрутки IA64
  • Добавлено описание секции и смещения в ней к COFF-символу, на который ссылается CodeView символ в соответствующих формах отладочной информации
  • Добавлены настройки поиска любого значения меньшего или большего чем заданное
  • Добавлена настройка начальной позиции поиска исходя из: последней найденной строки, выделенной строки или принудительно от начала списка
  • Добавлен полнотекстовый поиск по всем колонкам списка (минимальная длина запроса - 2 символа, поиск регистронезависим только для символов ANSI)
  • Добавлена возможность поиска в любом списке
  • Исправлена ошибка отображения имени типа из TypeDef в описании токена метаданных .NET в редких случаях (отображалось только имя метода, без имени типа)
0.2.0.370 (2021-01-04)
PEAnatomist.exe SHA256: 8E6D8EF4D5691A8FFC22377C45FC00E3CE90FD7F47E1F8D2CDBA914885477BEF
  • Небольшая оптимизация и чистка кода сортировки списков
  • Цвет фона диалога свойств ресурсов и hexview изменён на стандартный для используемого элемента управления
  • Чистка заголовков, унификация объявляемых типов данных, разделение кода на независимые модули
  • Исправлена ошибка отображения флагов символов CV_COMPILESYM и CV_COMPILESYM3
  • Актуализированы записи имён регистров и символы CodeView из VS 16.8 и 16.9Preview
  • Добавлено отображение COFF-символа, на который ссылается CLR-токен в таблице COFF-символов
  • Добавлено отображение CLR-токена в символах CodeView
  • Исправлена ошибка отображения RT_STRING ресурса в виде текста в редких случаях
  • Исправлена ошибка определения COFF-символа обработчика исключений в x64 OBJ-файлах
  • Актуализированы используемые типы данных из CoreCLR 5
  • Устранено падение программы при отображении содержимого таблиц метаданных некоторых обфусцированных или сжатых .NET-файлов
  • Изменено описание потоков метаданных .NET - выводится RVA потока
  • Исправлена ошибка сопоставления RVA оффсету для некоторых комбинаций выравнивания и параметров секций в PE-файлах, собранных MinGW
  • Исправлена ошибка отображения таблицы отложенного импорта с некорректным содержимым (регресс с версии 0.1.8)
  • Исправлена ошибка сопоставления RVA оффсету в случае загрузки PE принудительно без секций
  • Добавлено отображение .NET Vtable Fixups
  • Исправлена редкая ошибка отображения имени некоторых Codeview-типов в общей таблице (могло отображаться некорректное имя в случае, когда на самом деле оно было нулевой длины)
  • Добавлено декодирование таблицы символов формата MSVC ILStore (.cil$gl) в OBJ-файлах (x86, x64, ARMThumb, ARM64) для VS16.8
  • Изменен вид главного окна в отсутствие загруженного файла
  • Добавлено описание выбранного символа MSVC ILStore
  • Добавлена коррекция индексов в таблице типов MSVC ILStore в случае использования PCH
  • Добавлено описание типов по их индексу во всех поддерживаемых таблицах MSVC ILStore
  • Добавлено описание символов MSVC ILStore, на которые ссылается выбранный символ из таблицы .cil$gl
  • Добавлен разбор заголовка конфигурации CHPE и таблицы DynamicDataRelocations для гибридных образов x64 поверх ARM64 (arm64x) из InsiderPreview 21277
  • Добавлена таблица x64 ExceptionsData для гибридных образов x64 поверх ARM64 (arm64x)
  • Добавлен разбор кодов раскрутки ARM64 для SIMD-регистров
  • Исправлено определение цепи раскрутки ARM64
  • Новый вид диалога настроек, разделение настроек на новые категории
  • Добавлены настройки форматирования текста, копируемого в буфер обмена из таблиц программы
  • Исправлена ошибка чтения подсекций CodeView C13 в некоторых случаях (чаще всего проявлялась на CodeView, созданном ранними версиями инструментов из VS2002 и VS2003)
  • Добавлены настройки поиска: сохранение последнего запроса и сохранение выбранной начальной позиции поиска
  • Добавлены опции поиска строк: совпадение только от начала строки, обращение результатов поиска (т.е. поиск строк, где отсутствует искомое)
  • Исправлена ошибка отображения параметра "Parent Offset" в CodeView символах S_DEFRANGE_REGISTER_REL и S_DEFRANGE_REGISTER_REL_INDIR
  • Исправлена ошибка чтения таблицы типов MSVC ILStore при наличии вложенных таблиц
  • Добавлена поддержка декодирования таблицы символов MSVC ILStore для всех публичных версий VisualStudio (7-16.9Preview2)
  • Добавлена возможность выделения всех найденных строк при текстовом поиске
  • Предотвращено использование незакрытого диалога поиска после уничтожения связанного с ним ListView
  • Формат файла конфигурации изменён на текстовый
0.2.1.125 (2021-03-04)
PEAnatomist.exe SHA256: BC52CBE85FD779878F0E06624C2BF8A2A4995EBBBD381A400385AE01620B531A
  • 110B.009: Significant improvement to the MSVC ILStore (CxxIL) symbols parser and increased compatibility with different VS versions
  • 1111.027: Decoding of local symbols table (.cil$sy) of MSVC ILStore (CxxIL) format in OBJ files
  • 1117.033: Displaying the line number of the beginning of the function in the source file in the description of symbols MSVC ILStore (CxxIL)
  • 1117.034: Fixed display of source file names in MSVC ILStore (CxxIL) symbols descriptions for VS 2002 and 2003 versions (encoding is not UTF8)
  • 1118.035: Fixed decoding of LF_POINTER in CodeView and MSVC ILStore (CxxIL) type tables if the described type is a pointer to a class member
  • 1119.036: Changed the names of some keys in the configuration file for portability in future versions
  • 111B.039: Fixed display of CodeView type description in MSVC ILStore (CxxIL) tables, if debug information is moved to PDB
  • 111C.046: Fixed error displaying the incorrect name in the description of a CodeView type referenced by another type or symbol (in rare cases)
  • 1201.071: Accelerated access to sections and their data in OBJ files
  • 1205.081: Added support for ExtendedObj files (a.k.a. BIGOBJ, obj files with more than 0xFEFF sections)
  • 1207.094: For some types of CodeView debug information, a more detailed description is available (for example, for LF_POINTER, LF_MODIFIER, LF_ARRAY and LF_BITFIELD, the description of the type to which they refer and some properties are displayed)
  • 120C.110: Clarified interpretation of data from Rich signature
  • 121B.116: The program license was changed from MIT to Freeware (the text of the License Agreement is located in the "Readme" file)
  • 1303.122: Fixed a bug with parsing version information from the resources section in some cases
  • 1304.123: Fixed error getting a member name for LIB archives created by BSD-compatible toolkit
  • 1304.124: Support for ARM64EC in OBJ files

0.2.2.58 (2021-03-25)
PEAnatomist.exe SHA256: DB32FA0BDB8D056E216FD2D0C6266FC1616068D72C1035CC0B9D0B8FF37E70D8

  • 1305.000: Fixed display of the CodeView type name in the description if the type index is not specified
  • 1307.001: Fixed error displaying manifest text from PE resources in rare cases
  • 1307.003: Added support for IA64, MIPS and Hitachi SH4 architectures in the CxxIL parser
  • 1308.006: Fixed CxxIL parsing error for MSVC from VS2008Beta1
  • 1309.007: Fixed infinite parsing of IMAGE_DIRECTORY_ENTRY_BASERELOC table in rare cases
  • 1309.008: Fixed error of IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG display for some files created by linker versions below 6.0
  • 1309.010: Fixed possible erroneous OBJ file recognition (regression of version 0.2.1)
  • 130D.019: Cleaning and optimization of the parser for the ARM Thumb and ARM64 unwind codes
  • 130F.022: Added a textual description of the epilogue execution condition for ARM Thumb unwind codes
  • 130F.023: Fixed error displaying the epilogue execution condition for ARM Thumb unwind codes if the epilogue is specified as the only one (flag E)
  • 130F.028: Added calculation of the epilogue beginning for the ARM Thumb and ARM64 unwind codes, if the epilogue is specified as the only one (flag E)
  • 1311.029: Fixed light error in defining VS2017-2019 minor version in Rich signature (regression version 0.2.1)
  • 1311.030: Fixed error displaying values from IMAGE_DELAYLOAD_DESCRIPTOR.UnloadInformationTableRVA in the delayed import table
  • 1312.044: Fixed the mechanism for filling information for the description of RVA in PE, added detection of new information
  • 1312.045: Accelerated display of the GFID table
  • 1313.046: Simplified procedure for loading some files
  • 1315.051: The storage of information for the description of RVA in PE files has been transferred to a hash table, the search time for the description for RVA has been significantly reduced
  • 1318.053: Ctrl+Insert can be used along with Ctrl+C to copy information from the ListView to the clipboard
  • 1318.057: The set of status information from the ListView has been expanded, there are: focused row number, total count of rows, count of selected rows


https://rammerlabs.alidml.ru/files/PEAnatomist-0.2.4.zip
разработчик: RamMerLabs
 
Последнее редактирование:

plutos

_Вечный_Студент_
Мудрец
Сообщения
89
Реакции
578
PEAnatomist глубоко вонзает "скальпель" в таблицы Base Relocations, LoadConfig и ExceptionsData.
За это отдельное спасибо!
Пришлось недавно копаться в одной Relocation Table and ExceptionsData, так эти функции съэкономили годы жизни!
Respect, RamMerLabs!
:love:
 
Последнее редактирование:

mak

Соломенные сандалии
Администратор
Сообщения
652
Реакции
377
Кто-то имеет контакты автора?! Или имеет связь с автором? На сайте нет емайла ..
 

mak

Соломенные сандалии
Администратор
Сообщения
652
Реакции
377
Release 0.2.1 (2021-03-04):

110B.009: Significant improvement to the MSVC ILStore (CxxIL) symbols parser and increased compatibility with different VS versions
1111.027: Decoding of local symbols table (.cil$sy) of MSVC ILStore (CxxIL) format in OBJ files
1117.033: Displaying the line number of the beginning of the function in the source file in the description of symbols MSVC ILStore (CxxIL)
1117.034: Fixed display of source file names in MSVC ILStore (CxxIL) symbols descriptions for VS 2002 and 2003 versions (encoding is not UTF8)
1118.035: Fixed decoding of LF_POINTER in CodeView and MSVC ILStore (CxxIL) type tables if the described type is a pointer to a class member
1119.036: Changed the names of some keys in the configuration file for portability in future versions
111B.039: Fixed display of CodeView type description in MSVC ILStore (CxxIL) tables, if debug information is moved to PDB
111C.046: Fixed error displaying the incorrect name in the description of a CodeView type referenced by another type or symbol (in rare cases)
1201.071: Accelerated access to sections and their data in OBJ files
1205.081: Added support for ExtendedObj files (a.k.a. BIGOBJ, obj files with more than 0xFEFF sections)
1207.094: For some types of CodeView debug information, a more detailed description is available (for example, for LF_POINTER, LF_MODIFIER, LF_ARRAY and LF_BITFIELD, the description of the type to which they refer and some properties are displayed)
120C.110: Clarified interpretation of data from Rich signature
121B.116: The program license was changed from MIT to Freeware (the text of the License Agreement is located in the "Readme" file)
1303.122: Fixed a bug with parsing version information from the resources section in some cases
1304.123: Fixed error getting a member name for LIB archives created by BSD-compatible toolkit
1304.124: Support for ARM64EC in OBJ files


website # Direct link to PEAnatomist-0.2.1
 

mak

Соломенные сандалии
Администратор
Сообщения
652
Реакции
377
Release 0.2.2 (2021-03-25):

1305.000: Fixed display of the CodeView type name in the description if the type index is not specified
1307.001: Fixed error displaying manifest text from PE resources in rare cases
1307.003: Added support for IA64, MIPS and Hitachi SH4 architectures in the CxxIL parser
1308.006: Fixed CxxIL parsing error for MSVC from VS2008Beta1
1309.007: Fixed infinite parsing of IMAGE_DIRECTORY_ENTRY_BASERELOC table in rare cases
1309.008: Fixed error of IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG display for some files created by linker versions below 6.0
1309.010: Fixed possible erroneous OBJ file recognition (regression of version 0.2.1)
130D.019: Cleaning and optimization of the parser for the ARM Thumb and ARM64 unwind codes
130F.022: Added a textual description of the epilogue execution condition for ARM Thumb unwind codes
130F.023: Fixed error displaying the epilogue execution condition for ARM Thumb unwind codes if the epilogue is specified as the only one (flag E)
130F.028: Added calculation of the epilogue beginning for the ARM Thumb and ARM64 unwind codes, if the epilogue is specified as the only one (flag E)
1311.029: Fixed light error in defining VS2017-2019 minor version in Rich signature (regression of version 0.2.1)
1311.030: Fixed error in displaying values from IMAGE_DELAYLOAD_DESCRIPTOR.UnloadInformationTableRVA in the delayed import table
1312.044: Fixed the mechanism for filling information for the description of RVA in PE, added detection of new information
1312.045: Accelerated display of the GFID table
1313.046: Simplified procedure for loading some files
1315.051: The storage of information for the description of RVA in PE files has been transferred to a hash table, the search time for the description for RVA has been significantly reduced
1318.053: Ctrl+Insert can be used along with Ctrl+C to copy information from the ListView to the clipboard
1318.057: The set of status information from the ListView has been expanded, there are: focused row index, total count of rows, count of selected rows


website # Direct link to PEAnatomist-0.2.2
 

mak

Соломенные сандалии
Администратор
Сообщения
652
Реакции
377
0.2.3.76 (2021-05-09)
PEAnatomist.exe SHA256: 6D7AE0FB725B07E4C264ED79854556A3D270824307F421521BB22FE0A668236C

  • 1319.000: Fixed the Statusbar value of the focused line for an empty ListView in certain situations
  • 131A.001: The possible freeze of the program after the search resumed, if the contents of the list have been changed
  • 131B.007: Added definition of the function beginning and its description on the LoadConfig GuardEHContinuations tab for x64
  • 131B.008: Fixed displaying the type index in the CodeView types table in OBJ files if PCH is used (regression of version 0.2.2)
  • 140B.011: Optimized display of status information from ListView for very large lists
  • 140B.014: Added display of additional Function (.bf, .ef) and FunctionSym symbols in the COFF symbol table of OBJ files
  • 140C.015: Fixed erroneous display of INT value in CFG IAT table if import is performed by ordinal (regression of version 0.2.2)
  • 140D.017: Added XFGHASHMAP parsing in LIB files
  • 140F.022: Added collection of information about exception handlers (x64, ARM, ARM Thumb, ARM64, IA64) and COFF symbols for describing RVA in PE files
  • 1410.025: Accelerated display of COFF symbol table in PE files, added display of some additional symbol records
  • 1411.029: A 'Column' drop-down list in a searching dialog is disabled if only fulltext search is available (i.e. only one search option)
  • 1413.031: Added export of GFID bitmap to file
  • 1415.032: Fixed a bug with parsing the resource table in PE files if IMAGE_RESOURCE_DATA_ENTRY is placed at the end of the table
  • 1416.038: Added optional display of full paths in the recent files list, long paths are limited to the file name and the initial part of the path
  • 1416.039: Changed the format of the main window title, the name of the loaded file is displayed first now
  • 1417.045: Eliminated redundant work with the menu when loading files and generating a list of recent files
  • 1418.046: Added OS shell notification about file associations changing
  • 1419.049: Added optional tooltip with description of RVA calculated in FLC (disabled by default)
  • 141A.053: Added definition of the function beginning and its description on the LoadConfig GuardEHContinuations tab for ARM64 (InsiderPreview 21364)
  • 141B.055: Fixed error displaying multiple values of the "Translation" key in RT_VERSION resources
  • 141B.057: Added a column with functions description in the ExceptionsData table for all supported architectures (for x64, ARM Thumb and ARM64, some columns are now hidden by default)
  • 1505.059: Fixed error displaying SEH Scope on the ExceptionsData page for ARM7/ARM LE in some cases
  • 1507.060: Added a separate tab for the ARM64 unwind chain on the ExceptionsData page
  • 1507.072: Added recognition of some types of exception handlers for all supported architectures
  • 1507.073: Added a column with the type of exception handlers in the ExceptionsData table, the column with the handler's RVA is hidden by default
  • 1508.074: Fixed a rare error filling information from the export table for the RVA description
https://rammerlabs.alidml.ru/files/PEAnatomist-0.2.3.zip
 

BfoX

Посетитель
Мудрец
Сообщения
37
Реакции
197
Обновился
Код:
Обновление программы до версии 0.2.4 (2021-06-08):150F.001: Добавлен код раскрутки для инструкций Pointer Authentication extension из ARM64 (InsiderPreview 21382)1511.003: Добавлена колонка со значением глубины цепи раскрутки в таблице ExceptionsData для x64 (по умолчанию скрыта)1511.004: Исправлена ошибка включения скрытых по умолчанию колонок в ListView после перезапуска программы (регресс с версии 0.2.0)1516.013: Устранен крах программы во время разбора испорченной таблицы COFF-символов в PE-файлах1517.015: Исправлена старая ошибка отображения вкладки "Безопасность" для PE-файлов в отдельных случаях1518.016: Исправлена ошибка валидации настроек положения окна программы, еслипротивоположные стороны окна выходят за пределы рабочего стола (регресс с версии 0.2.0)151B.021: Добавлен график энтропии151B.025: Добавлены настройки вычисленияэнтропии для построения графика и настройки отображения графика1601.032: Добавлена подсказка о смещении в файле и соответствующей секции под курсором на графике энтропии1604.033: Последняя активная вкладка диалога настроек восстанавливается при его повторномоткрытии (до перезапуска программы)1608.040: Добавлены опциональные метки границ секций на графике энтропии
https://rammerlabs.alidml.ru/files/PEAnatomist-0.2.4.zip
 

ajax

Evil
Мудрец
Сообщения
3
Реакции
224
бесспорно, больше утилей разных. кто-нибудь опишет, как использует данный софт в повседневке? мне CFF и LordPE вполне хватает пока.
 
Последнее редактирование:

dosprog

Ветеран
Мудрец
Сообщения
118
Реакции
511
Что-то подзабыл (обсуждатось..),
- в документейшене указано требованием минимум WinXP/SP3.
Так вот это SP3 оно реально нужно для какой-то фичи, или не нужно?

Просто запускается вроде бы нормально и в WinXP/SP2 ..
 

SDK

Ветеран
Ветеран
Сообщения
169
Реакции
34
кстати а почему на сайте нет совта от http://rdgsoft.net/

может кто выложит RDG Malware Detector и RDG Packer Detector 0.7.7
 
  • Понравилось
Реакции: mak
Верх Низ