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

Тема в разделе "WASM.TRASH", создана пользователем RamMerLabs, 11 окт 2019.

Статус темы:
Закрыта.
  1. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    TrashGen,

    Трешик наверно плохого не посоветует ?
    GPE, типо 86 кайт(KITE) - я думал что двиг годный, покуда сам не понял(те при решении задачи тупик со своим же мотором в элементарном применении, из за сложности структур; прошло много времени и я не помню основные детали в его механизмах) как его заюзать спустя время.

    RamMerLabs,

    А смысл в том, что если разобрал формат, то и опиши его код(который обнаружен, покрыт" в процессе разбора пе), иначе зачем эти все пе-редакторы/вьюверы. Их можно за вечер написать, вот только зачем. Любой нормальный диз или отладчик всю инфу показывает. А тем людям, которые хотят жатием кнопок обойти реверс это тоже ничем не поможет.
     
  2. cryptx86

    cryptx86 New Member

    Публикаций:
    0
    Регистрация:
    15 окт 2019
    Сообщения:
    5
    В вашей тулзе записи из rich header отображаются в обратном порядке.
    Можете поделиться списком @comp.id? У вас он вроде бы полнее, чем этот? -> https://gist.github.com/skochinsky/07c8e95e33d9429d81a75622b5d24c8b
     
  3. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    561
    RamMerLabs, а на чём написана ваше приложение?
    Я тут пишу схожую программку. Проводит слияние двух исполняемых файлов, методом копирования кода из файла источника в целевой файл, при этот корректирует адреса релокаций, добавляются секций из источника в целевой файл. Написана на ассемблере, сейчас переписал на С++(с помощью IDAPro и hexrays), работает, но получилось кривовато. И ещё, решил доработать утилитку, чтобы информацию по экспорту и импорту извлекалась, объединялась и копировалась в целевой файл. Это я к тому что просто ещё С++ не освоил до уровня, ну и чтобы не изобретать велосипед.
     
    Последнее редактирование: 14 янв 2020
    _edge нравится это.
  4. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Обновление программы до версии 0.1.12 (2020-02-13):
    [#] Исправлена ошибка интеграции в контекстное меню оболочки
    [#] Исправлено поведение программы во время загрузки нового файла при наличии открытых окон свойств ресурсов
    [#] Исправлена ошибка отображения описания некоторых символов в таблице Dyn.Value Relocations
    [#] Исправлена ошибка разбора таблицы ExceptionsData для ARM Thumb: некорректная информация о сохраняемых регистрах в сжатой форме UnwindInfo
    [+] Натуральная сортировка добавлена для ещё нескольких списков
    [#] Исправлена ошибка наполнения списка Catch Handlers для UnwindInfo.EHData.CPP_EH4
    [#] Устранена ошибка, приводящая к медленному выполнению операции "Выделить всё" на больших списках
    [+] Часть списков с большим количеством строк переведены на виртуальный режим
    [+] Добавлен переход по связанным элементам UNWIND_INFO списка ExceptionData для x64


    Список ExceptionsData теперь переведён на виртуальный режим, что значительно ускорило отображение на большом количестве элементов. Ожидание на таблице в полмиллиона строк - порядка 0.3 секунды.

    Сайт программы
     
    Последнее редактирование модератором: 8 июл 2020
    Mikl___, asmlamo и UbIvItS нравится это.
  5. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Обновление программы до версии 0.1.13 (2020-04-25):
    [#] Исправлена ошибка сортировки некоторых списков с signed-long данными
    [#] Исправлена ошибка отображения таблицы ExceptionsData при наличии некорректных данных
    [#] Исправлена ошибка отображения имени секции в описании RVA в некоторых случаях
    [+] Добавлены новые строки описания групп секций на странице "POGO" в IMAGE_DEBUG_DIRECTORY
    [#] Оптимизация и рефакторинг значительной части кода
    [+] Добавлены новые поля в LOAD_CONFIG_DIRECTORY из SDK 19041 - GuardEHContinuations, и недокументированные - eXtended CFG (xFG)
    [+] Добавлена страница со списком GuardEHContinuations
    [+] Добавлены новые флаги характеристик в списке GFID
    [#] Исправлена ошибка с некорректным окончанием строки при копировании в буфер обмена
    [#] Исправлена ошибка разбора таблицы COFF-символов, если указан некорректный адрес
    [-] Иконка главного окна программы больше не изменяется на иконку загружаемого файла
    [#] Исправлена ошибка разбора таблицы связанного импорта
    [+] Добавлена поддержка форматов OBJ-файлов и LIB-файлов
    [+] Добавлена поддержка non-COFF OBJ-файлов
    [+] Добавлен разбор таблицы символов OBJ-файлов
    [+] Добавлен вывод сводной информации о библиотеках импорта в LIB-файлах
    [+] Добавлен разбор таблицы секций и релокаций OBJ-файлов
    [+] Увеличено число расширений файлов для интеграции в контекстное меню проводника
    [#] Исправлена ошибка интеграции в контекстное меню оболочки в случае, если расширение файла не было ранее зарегистрировано в системе


    Сайт программы
     
    Последнее редактирование модератором: 8 июл 2020
    GRAFik нравится это.
  6. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Обновление программы до версии 0.1.14 (2020-04-28):
    [#] Исправлена ошибка, приводящая к краху программы при просмотре файлового заголовка PE-файлов, собранных в Borland Delphi
    [#] Небольшая оптимизация внутренних структур данных
    [+] Добавлена возможность извлечения записей из LIB-файлов
    [+] Добавлено меню закрытия файла


    Сайт программы
     
    Последнее редактирование модератором: 8 июл 2020
  7. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Обновление программы до версии 0.1.15 (2020-05-30):
    [#] Исправлена ошибка определения минорной версии VS 2017-2019 при декодировании сигнатуры Rich (регресс 0.1.13 и 0.1.14)
    [#] Исправлена ошибка декодирования ресурсов RT_STRING при наличии некорректных данных
    [+] Добавлена вкладка с подробным описанием заголовков ресурсов PE
    [#] Вкладка ресурсов переделана на список без группировки по типу ресурсов
    [#] Исправлена сортировка списка ресурсов
    [#] Изменена процедура парсинга директории ресурсов, добавлены новые критерии корректности данных
    [#] Исправлена ошибка работы с файлом настроек при первом запуске программы
    [#] Исправлено поведение парсера COFF-символов при наличии некорректных данных о длинных именах символов
    [#] Исправлена ошибка построения контекстного меню для listview в виртуальном режиме
    [#] Исправлено сохранение выбранного фильтра по типу файлов в диалоге "Открыть файл"
    [#] Исправлено некорректное распознавание UTF16 строк в редких случаях
    [+] Добавлена страница обнаруженных ANSI и UTF16 строк в PE-файле
    [+] Добавлен парсинг CodeView для OBJ-файлов
    [+] Добавлен парсинг символов CodeView для OBJ-файлов
    [+] Добавлен парсинг типов CodeView для OBJ-файлов
    [+] Добавлен разбор новых записей символов CodeView до S_REGREL32_INDIR_ENCTMP включительно
    [+] Добавлен разбор новых записей типов CodeView до LF_INTERFACE2 включительно
    [+] Добавлен разбор информации о типах в OBJ-файлах, скомпилированных MSVC с флагом /GL или иных в формате MS ILStore


    Декодирование CodeView доступно пока только для OBJ-файлов, PDB на подходе к следующей версии вероятно. Обрабатываются символы и типы, остальные данные будут вместе с PDB. Свежие записи символов и типов имеются вплоть до свеженьких из VS16.6 (S_REGREL32_INDIR_ENCTMP - 0x117B и LF_INTERFACE2 - 0x160B соответственно). Для выбранных записей доступно описание всех полей структур этих записей, но пока некоторые записи выглядят достаточно топорно (LF_FIELDLIST). Надеюсь, что скоро прикручу более человеко-понятное описание, возможно в том числе и с декодированием в сишный\масмовый синтаксис.
    Кроме этого, декодируются типы из OBJ-файлов, скомпиленных MSVC с /GL флагом, т.е. результатом работы фронтенда компилятора в виде CIL (C Immediate Language, не Common IL из дотнета!), оформленном в ILStore-формат.

    Хочу ещё попросить помощи с информацией об устройстве этого самого формата ILStore. Кое-чего уже надекодировал, но в целом картины не представляю. Возможно есть что-нибудь почитать по этой теме (C Immediate Language, ILStore)?

    Сайт программы
     
    Последнее редактирование модератором: 8 июл 2020
    Mikl___, Aiks и Cytrus нравится это.
  8. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Обновление программы до версии 0.1.16 (2020-06-26):
    [#] Небольшая оптимизация
    [#] Исправлена ошибка определения названия регистра в описании символов CodeView в очень редких случаях
    [+] Добавлена возможность копирования в буфер обмена отдельных столбцов целиком при множественном выборе строк
    [+] Добавлены настройки отображения панели FLC и панели состояния
    [#] Исправлена ошибка масштабирования размера ячеек панели состояния
    [+] В большинство вкладок добавлены элементы управления для изменения пропорций размеров списков (сплиттеры)
    [+] Добавлено определение принимающей DLL в таблицах импорта для библиотек ApiSet
    [+] Добавлен выбор внешней DLL для определения хоста ApiSet в настройках программы
    [+] Добавлен частичный поиск по таблице ExceptionsData (экспериментальная функция)


    Добавил поиск в ExceptionsData, но пока лишь экспериментально: только по некоторым столбцам, про полнотекстовый поиск пока речи нет. Хотелось бы услышать замечания и предложения (без оффтопа) по этой функции, чтобы оценить как лучше её реализовать к грядущей 0.2 версии программы.

    Ещё появился резолв хоста ApiSet-переходников (api-ms-xxxxx.dll и ext-ms-xxxxx.dll), в настройках программы добавилась опция для выбора источника данных - система (из PEB своего процесса) или внешняя DLL ApiSetSchema для резолва на "неродных" исследуемому образу системах.

    Сайт программы # Скачать новую версию
     
    Aiks нравится это.
  9. Entropy

    Entropy Member

    Публикаций:
    0
    Регистрация:
    23 авг 2020
    Сообщения:
    174
    RamMerLabs, Можете добавить в свою программу такую функциональность что она показывала по какому файловому смещению находится тот или иной параметр,например ImageBase
     
  10. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Обновление программы до версии 0.1.18 (2020-10-21):
    [#] Исправлена ошибка отображения данных из ~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 в редких случаях (отображалось только имя метода, без имени типа)


    Сайт программы # Скачать новую версию
     
    Aiks нравится это.
  11. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Обновление программы до версии 0.2.0 (2021-01-04):
    Небольшая оптимизация и чистка кода сортировки списков
    Цвет фона диалога свойств ресурсов и 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
    Формат файла конфигурации изменён на текстовый


    Сайт программы # Скачать новую версию
     
    __sheva740, M0rg0t, Aiks и ещё 1-му нравится это.
  12. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Обновление программы до версии 0.2.1 (2021-03-04):
    110B.009: Значительное улучшение парсера символов MSVC ILStore (CxxIL) и увеличение совместимости с различными версиями VS
    1111.027: Добавлено декодирование таблицы локальных символов (.cil$sy) формата MSVC ILStore (CxxIL) в OBJ-файлах
    1117.033: Добавлено отображение номера строки начала функции в исходном файле в описании символов MSVC ILStore (CxxIL)
    1117.034: Исправлено отображение имён исходных файлов в описании символов MSVC ILStore (CxxIL) для версий VS 2002 и 2003 (кодировка не UTF8)
    1118.035: Исправлено декодирование LF_POINTER в таблицах типов CodeView и MSVC ILStore (CxxIL), если описываемый тип является указателем на член класса
    1119.036: Изменены имена некоторых ключей в файле настроек для переносимости в будущих версиях
    111B.039: Исправлено отображение описания CodeView типа в таблицах MSVC ILStore (CxxIL), если отладочная информация вынесена в PDB
    111C.046: Устранена ошибка отображения неправильного имени в описании типа CodeView, на который ссылается другой тип или символ (в редких случаях)
    1201.071: Ускорена работа с секциями в OBJ-файлах (построение индексов для быстрого доступа к секциям с однородным содержимым)
    1205.081: Добавлена поддержка ExtendedObj файлов (a.k.a. BIGOBJ, obj-файлы с количеством секций больше 0xFEFF)
    1207.094: Для некоторых типов отладочной информации CodeView доступно более подробное описание (например для LF_POINTER, LF_MODIFIER, LF_ARRAY и LF_BITFIELD выводятся описание типа, на который они ссылаются, и некоторые свойства)
    120C.110: Уточнена интерпретация части данных из подписи Rich
    121B.116: Лицензия программы изменена с MIT на Freeware (текст Лицензионного соглашения размещён в файле "Readme")
    1303.122: Исправлена ошибка разбора информации о версии из секции ресурсов в отдельных случаях
    1304.123: Исправлена ошибка получения имени файла для LIB-архивов, созданных BSD-совместимым набором инструментов
    1304.124: Добавлена поддержка ARM64EC в OBJ-файлах


    Сайт программы # Скачать новую версию
     
    Mikl___, UbIvItS, M0rg0t и ещё 1-му нравится это.
  13. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Обновление программы до версии 0.2.2 (2021-03-25):
    1305.000: Исправлено отображение названия типа CodeView в описании, если индекс типа не задан
    1307.001: Устранена ошибка отображения текста манифеста из ресурсов PE в редких случаях
    1307.003: Добавлена поддержка IA64, MIPS и Hitachi SH4 архитектур в парсере CxxIL
    1308.006: Исправлена ошибка разбора CxxIL для MSVC из VS2008Beta1
    1309.007: Устранен бесконечный разбор таблицы IMAGE_DIRECTORY_ENTRY_BASERELOC в редких случаях
    1309.008: Исправлена ошибка отображения IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG для некоторых файлов, созданных версиями компоновщика ниже 6.0
    1309.010: Исправлено возможное ошибочное распознавание OBJ-файла (регресс версии 0.2.1)
    130D.019: Чистка и оптимизация процедур разбора кодов раскрутки ARM Thumb и ARM64
    130F.022: Добавлено текстовое описание условия выполнения эпилога для кодов раскрутки ARM Thumb
    130F.023: Исправлена ошибка отображения условия выполнения эпилога для кодов раскрутки ARM Thumb, если эпилог указан как единственный (флаг E)
    130F.028: Добавлен подсчёт начала эпилога для кодов раскрутки ARM Thumb и ARM64, если эпилог указан как единственный (флаг E)
    1311.029: Исправлена мелкая ошибка в определении минорной версии VS2017-2019 в Rich подписи (регресс версии 0.2.1)
    1311.030: Исправлена ошибка отображения значений из IMAGE_DELAYLOAD_DESCRIPTOR.UnloadInformationTableRVA в таблице отложенного импорта
    1312.044: Исправлен механизм наполнения сведений для описания RVA в PE, добавлено обнаружение новых сведений
    1312.045: Ускорено отображение таблицы GFID
    1313.046: Упрощена процедура загрузки некоторых файлов
    1315.051: Хранение сведений для описания RVA в PE переведено в хеш-таблицу, значительно сократилось время поиска описания для RVA
    1318.053: Добавлена реакция на Ctrl+Insert наравне с Ctrl+C для копирования в буфер обмена из ListView
    1318.057: Расширен набор статусной информации из ListView: номер строки в фокусе, общее число строк, число выделенных строк


    Сайт программы # Скачать новую версию
     
    Aiks и Mikl___ нравится это.
  14. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Обновление программы до версии 0.2.3 (2021-05-09):
    1319.000: Исправлено значение номера отмеченной строки для пустого ListView в определённых ситуациях
    131A.001: Устранено возможное зависание программы после возобновления поиска, если содержимое списка было изменено
    131B.007: Добавлено определение начала функции и её описания на вкладке LoadConfig GuardEHContinuations для x64
    131B.008: Исправлено отображение индекса в таблице типов CodeView в OBJ-файлах, если используется PCH (регресс версии 0.2.2)
    140B.011: Оптимизировано отображение статусной информации из ListView для очень больших списков
    140B.014: Добавлено отображение дополнительных записей символов Function (.bf, .ef) и FunctionSym в таблице COFF-символов OBJ-файлов
    140C.015: Исправлено ошибочное отображение значения INT в таблице CFG IAT, если импорт происходит по ординалу (регресс версии 0.2.2)
    140D.017: Добавлен разбор /<XFGHASHMAP>/ в LIB-файлах
    140F.022: Добавлен сбор сведений об обработчиках исключений (x64, ARM, ARM Thumb, ARM64, IA64) и COFF-символах для описания RVA в PE файлах
    1410.025: Ускорено отображение таблицы COFF-символов в PE-файлах, добавлено отображение некоторых дополнительных записей символов
    1411.029: Выпадающий список с выбором колонки для поиска отключается, если доступен только текстовый поиск по всем колонкам (т.е. только один вариант поиска)
    1413.031: Добавлен экспорт битовой карты GFID в файл
    1415.032: Исправлена ошибка разбора таблицы ресурсов в PE-файлах в случае размещения IMAGE_RESOURCE_DATA_ENTRY в самом конце таблицы
    1416.038: Добавлено опциональное отображение полных путей в списке недавних файлов, длинные пути ограничиваются до имени файла и начальной части пути
    1416.039: Изменён формат заголовка главного окна - первым выводится имя загруженного файла
    1417.045: Устранена избыточная работа с меню во время загрузки файлов и формирования списка недавних файлов
    1418.046: Добавлено уведомление оболочки ОС об изменении ассоциаций с файлами
    1419.049: Добавлена опциональная всплывающая подсказка с описанием RVA, вычисляемого в FLC (по умолчанию выключена)
    141A.053: Добавлено определение начала функции и её описания на вкладке LoadConfig GuardEHContinuations для ARM64 (InsiderPreview 21364)
    141B.055: Исправлена ошибка отображения множественного значения ключа "Translation" в ресурсах RT_VERSION
    141B.057: Добавлена колонка с описанием функций в таблице ExceptionsData для всех поддерживаемых архитектур (для x64, ARM Thumb и ARM64 некоторые колонки теперь скрыты по умолчанию)
    1505.059: Исправлена ошибка отображения SEH Scope на странице ExceptionsData для ARM7/ARM LE в некоторых случаях
    1507.060: Добавлена отдельная вкладка для цепи раскрутки ARM64 на странице ExceptionsData
    1507.072: Добавлено распознавание некоторых типов обработчиков исключений для всех поддерживаемых архитектур
    1507.073: Добавлена колонка с типом обработчиков исключений в таблице ExceptionsData, колонка с RVA обработчика скрыта по умолчанию
    1508.074: Устранена редкая ошибка наполнения сведений из таблицы экспорта для описания RVA


    Сайт программы # Скачать новую версию
     
    Aiks и Mikl___ нравится это.
  15. RamMerLabs

    RamMerLabs Well-Known Member

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


    Сайт программы # Скачать новую версию
     
    M0rg0t и Mikl___ нравится это.
  16. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Обновление программы до версии 0.2.5 (2021-08-25):
    • Ревизия контекстного меню ListView и улучшение доступности управления с клавиатуры
    • Добавлена поддержка Cxx20Modules в парсере MSVC ILStore (CxxIL)
    • Добавлены настройки количества запоминаемых недавних файлов и форматирования копируемого в буфер обмена текста
    • Актуализированы некоторые относящиеся к ARM64EC структуры из WDK 22000
    • Значительно ускорено построение таблицы ExceptionsData в OBJ-файлах
    • Исправлено несколько ошибок

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

    GRAFik Active Member

    Публикаций:
    0
    Регистрация:
    14 мар 2020
    Сообщения:
    352
    RamMerLabs, хотел у вас спросить: "дружите" ли вы с Питоном и знакома ли вам такая личность, как Ero Carrera? Я почему спрашиваю? Дело в том, что у Ero Carrera есть программа парсинга PE файлов, но на Питоне. Так там, мне кажется больше параметров она парсит/находит. Может мне просто так показалось потому, что она сразу все данные, что называется, разворачивает, а у вас нужно мышкой выбирать нужные разделы. Но мне почему-то кажется, что вы бы там много интересной информации для себя нашли. Ну и просто интересно ваше мнение, как опытного гуру, по поводу данных, которые выдает программа на Питоне у Ero Carrera.

    https://github.com/erocarrera/pefile
     
  18. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    GRAFik,
    pefile видел конечно. Хоть питон, хоть хаскель - не брейнфак и то хорошо.
    Вам кажется, ничего интересного там нет.
    pefile почти ничем не отличается по набору данных, куда он добирается, от десятков аналогов на том же гитхабе.
    Про поддержку нововведений после win8 я даже не говорю, в подавляющем большинстве подобных утилит нет и попыток парсинга чего-то сложнее импорта/экспорта/ресурсов/релоков. А число ошибок на любом едва отклоняющемся от "стандартного" x86-выхлопа из, например, vs6-vs9 просто удивляет. Хотя у компилятора и компоновщика из тех же vs6+ есть целый набор документированных параметров, сборка pe с которыми введёт в заблуждение едва ли не все известные мне pe-парсеры, а то и сломает их. А ведь ещё есть как минимум gcc и llvm...
    Я не буду ничего конкретного говорить по поводу данных из pefile - каждой утилите свои цели и своё применение.
    Скажу лишь, что PEAnatomist знает определённо больше структур и их деталей, даже в пределах одного PE-формата, многие из которых Вам скорее всего ещё просто не встречались. Хотя конечно и моей утилитке есть ещё куда развиваться и исправляться.

    PS: За мнением "опытного гуру" лучше обратиться к другим, тут есть такие ))
     
    GRAFik нравится это.
  19. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Обновление программы до версии 0.2.6 (2021-11-08):
    • Исправлен ряд ошибок парсера таблиц импорта для модифицированных PE
    • Актуализированы сведения о новых символах Codeview из VS2022
    • Уточнена интерпретация некоторых номеров сборки из подписи Rich
    • Расширен набор данных для описания CoffGroups в таблице IMAGE_DEBUG_TYPE_POGO
    • Многочисленные мелкие исправления

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

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Обновление программы до версии 0.2.7 (2022-01-03):
    1. Расчёт энтропии с настраиваемым перекрытием блоков для графика энтропии
    2. Возможность сохранять в файл сразу несколько выделенных ресурсов PE или записей из LIB
    3. Cтраница с описанием WoW-переходников в гибридных PE (ARM64EC,ARM64X)
    4. Исправлена ошибка обработки таблицы исключений для кода эмулируемой архитектуры в гибридных PE (ARM64EC)
    5. Улучшена совместимость с отдельными старыми версиями MS Visual Studio

    Сайт программы # Подробнее об изменениях # Скачать новую версию
     
    Последнее редактирование модератором: 3 янв 2022
    Aiks, MaKaKa, Mikl___ и ещё 1-му нравится это.
Статус темы:
Закрыта.