таблица символов для отладки в windows

Я хочу скомпилировать и использовать Visual Studio для проверки неуправляемой программы C ++ в Windows. Я использую ADPlus и WinDBG. Для этого мне нужен файл .pdb amd для настройки символов моей отладки.

Как настроить его (на локальный компьютер, а не в сеть)?


Установить _NT_SYMBOL_PATH в окружение, чтобы указать расположение ваших файлов PDB. См. Здесь для получения подробной информации, особенно. если вы хотите получать информацию о символах для библиотек NT в сеансах отладки.

Вы также можете динамически изменять путь к символу в графическом интерфейсе Windbg из меню Файл , но это не сохраняется после закрытия WinDbg.



Создание новых таблиц символов¶

Это На странице подробно описано, как расположены и используются таблицы символов в Volatility, а также описаны инструменты и методы, которые можно использовать для создания новых таблиц символов.

Как Volatility находит таблицы символов¶

Все файлы хранятся как данные JSON, они могут быть в чистых файлах JSON как .json или в сжатом виде .json.gz или .json.xz .Volatility автоматически распаковывает их при использовании. Он также будет кэшировать их содержимое (в сжатом виде) при использовании в домашнем каталоге пользователя в .cache/volatility3 вместе с другими полезными данными. Каталог кеша в настоящее время не может быть изменен.

Файлы JSON таблицы символов по умолчанию находятся в volatility/symbols , в каталоге операционной системы (в настоящее время один из windows , mac или linux ). Каталог символов настраивается внутри фреймворка и обычно может быть установлен в пользовательском интерфейсе.

Эти файлы также могут быть сжаты в файлы ZIP, которые Volatility обработает для поиска файлов символов. ZIP-файл должен иметь название соответствующей операционной системы (например, linux.zip , mac.zip или windows.zip ) . Внутри ZIP-файла структура каталогов должна соответствовать несжатому каталогу операционной системы.

Таблицы символов Windows¶

Для Windows систем, Volatility принимает строку, состоящую из GUID и возраста требуемого файла PDB. Затем он выполняет поиск всех файлов в настроенных каталогах символов в подкаталоге Windows. Будет использоваться любой файл, соответствующий шаблону имени файла / - .json (или любой сжатый вариант). Если такая таблица символов не может быть найдена, связанный файл PDB будет загружен с сервера символов Microsoft и преобразован в соответствующий формат JSON и будет сохранен в правильном месте.

Таблицы символов Windows могут быть создается вручную из соответствующего файла PDB. Основной инструмент для этого встроен в Volatility 3 и называется pdbconv.py . Его можно запустить из пути Volatility верхнего уровня, используя следующую команду:

PYTHONPATH = «. «python volatility/framework/symbols/windows/pdbconv.py

Переменная среды PYTHONPATH не требуется, если библиотека Volatility установлена ​​в системный путь к библиотеке или виртуальная среда.

Таблицы символов Mac/Linux¶

Для систем Mac/Linux оба используют одно и то же механизм идентификации. Файлы JSON находятся в каталогах символов, в каталогах linux или mac . Сгенерированные файлы содержат идентифицирующую строку (баннер операционной системы) , который может обнаружить автоматическая магия Volatility. Volatility кэширует сопоставление между строками и таблицами символов, из которых они берутся, что означает, что точные имена файлов не имеют значения и могут быть организованы в рамках любой необходимой иерархии в каталоге операционной системы.

Таблицы символов Linux и Mac могут быть сгенерированы из файла DWARF с помощью инструмента под названием dwarf2json. В настоящее время ядро ​​с отладочными символами является единственным подходящим средством для восстановления Обозначьте всю информацию, необходимую для большинства плагинов Volatility. Как только ядро ​​с отладочными символами/соответствующий файл DWARF будет обнаружено, dwarf2json преобразует его в подходящий файл JSON.

Оцените статью
logicle.ru
Добавить комментарий