Когда необходимо быстро что-то посмотреть или исправить в PE-файле очень удобно использовать замечательный инструмент HIEW. Но у него нет штатной возможности загрузки отладочной информации. А это просто необходимо, когда, например, нужно "подсмотреть", что же творится внутри MS’овского драйвера. На официальном сайте есть расширение NamesPeMap, но оно использует MAP-файл, которым обычно публично никто не делится.
Немного поискав на просторах интернета, нашел довольно забавное решение, использующее модуль Python’а и IDA в качестве источника символов: PyHiew: Transferring names between IDA Pro and Hiew. Имена передаются из IDA в HIEW по средствам локальной связки клиент-сервера, которая реализована на Python’овских скриптах. Автор точно знает толк в извращенных формах программирования :)
В связи с таким положением вещей была написана
утилита DSymLoad для загрузки отладочных
символов в HIEW. На самом деле DSymLoad включает в себя два исполняемых модуля:
утилиту командной строки NameTGen.exe и внешний модуль для HIEW -
DSymLoad.HEM (с файлом настроек DSymLoad.ini).
Утилита командной строки оказалась не нужна. На
dsymload.codeplex.com
выложены исходные коды уже без нее.
DSymLoad.hem
Что бы загружать символы "не отходя от HIEW" был написан внешний модуль DSymLoad.HEM. Это загружаемая в HIEW библиотека, которая использует отладочную информацию, перечисляет символы и формирует локальные символы для текущего файла.
Для хранения настроек используется обычный INI-файл (DSymLoad.ini). Этот файл должен располагаться в той же директории, что и исполняемый образ DSymLoad.hem.
Важный момент: все настройки, измененные в главном диалоговом окне, не сохраняются в файл, пока не будет нажата клавиша <F8>.
Скачать утилиту DSymLoad
Change log:
0.1.0.4 |
Опубликован исходный код на dsymload.codeplex.com Эта страница останется только для истории, пока удалять ее не буду. Но актуальную информацию по утилите можно будет получить с ее нового сайта.
|
0.1.0.1 |
Добавлена детализация загрузки отладочных символов NameTGen.exe поддерживает ключ -i В архив добавлены необходимые библиотеки отладки |
0.1.0.0 |
Первая публичная работоспособная версия |
ΞρεΤΙκ