Хороший учебник для WinDbg?

Существуют ли хорошие учебники, показывающие, как использовать WinDbg?

1 ответ

Основные учебные пособия и демонстрации использования

Различные способы "Пуск"/ Прикрепить WinDbg

Рабочие пространства (Понимание того, как они работают)

Cmdtree

Позволяет определить "меню" команд отладчика для быстрого доступа к часто используемым командам без необходимости запоминать краткие названия команд. Не нужно помещать все определения команд в один и тот же текстовый файл cmdtree.... вы можете хранить их отдельно и загружать несколько (они затем получают свое собственное окно).

Скрипт запуска

Вы можете использовать параметр -c в командной строке для автоматического запуска сценария WinDbg при запуске WinDbg.

Дает возможность включить режим DML (язык разметки отладчика), загрузить определенные расширения, установить точки останова исключений.NET, установить флаги ядра (например, при отладке ядра вам может понадобиться изменить маску DbgPrint, чтобы вы могли видеть информацию трассировки....ed nt!Kd_DEFAULT_Mask 0xFFFFFFFF), загрузить cmdtrees и т. Д.

Пример скрипта:

$$ Include a directory to search for extensions
$$ (point to a source controlled or UNC common directory so that all developers get access)
.extpath+"c:\svn\DevTools\WinDBG\Extensions"
$$ When debugging a driver written with the Windows Driver Framework/KMDF
$$ load this extension that comes from the WinDDK.
!load C:\WinDDK\7600.16385.1\bin\x86\wdfkd.dll
!wdftmffile C:\WinDDK\7600.16385.1\tools\tracing\i386\wdf01009.tmf
$$ load some extensions
.load msec.dll
.load byakugan.dll
.load odbgext.dll
.load sosex
.load psscor4
$$ Make commands that support DML (Debugger Markup Language) use it
.prefer_dml 1
.dml_start
$$ Show NTSTATUS codes in hex by default
.enable_long_status 1
$$ Set default extension
.setdll psscor4
$$ Show all loaded extensions
.chain /D
$$ Load some command trees
.cmdtree c:\svn\DevTools\WinDBG\cmdtree\cmdtree1.txt
.cmdtree c:\svn\DevTools\WinDBG\cmdtree\cmdtree2.txt
$$ Show some help for the extensions
!wdfkd.help
!psscor4.help
.help /D

Шпаргалки команд

Расширения (расширить диапазон поддерживаемых команд / функций)

  • AddSym
    - позволяет передавать имена символов между IDA и WinDbg
  • bigLasagne (bldbgexts & blwdbgue)
    - подсветка синтаксиса сборки и инструмент отображения драйвера)
  • BigLib Number Reader
  • Byakugan
    - обнаружение методов антиотладки, визуализация / эмуляция кучи Vista, отслеживание буферов в памяти
  • CmdHist
    - записывает каждую команду, которую вы выполнили в сеансе отладки, чтобы вы могли легко выполнить повторно
  • Core Analyzer
    - проверять структуры кучи на наличие повреждений, обнаруживать объекты, совместно используемые потоками и т. д.
  • Дом WinDbg Расширение
    - (!stlpvector,!idt,!unhex,!grep и т. д.)
  • dumppe
    - выводит PE файл из памяти
  • Расширение Image Viewer (Владимир Вукичевич)
  • Средство отладки Intel UEFI Development Kit
    - отладка прошивки UEFI
  • leaktrap
    - GDI / USER обрабатывает трекер для обнаружения утечек
  • Мона (требуется PyKD)
    - набор команд для помощи в расширенном анализе / поиске эксплойтов
  • MSEC
    - обеспечивает автоматический анализ сбоев и оценку рисков безопасности
  • narly
    - выводит информацию о загруженных модулях, например, при использовании SafeSEH, ASLR, DEP, /GS (проверки безопасности буфера)
  • нетекст (Родни Виана)
    - (! wservice - выводить список объектов службы WCF,!wconfig - показывать строки.config,!whttp - выводить список HttpContexts,!wselect/!wfrom - поддерживать запросы типа SQL к массивам)
  • ODbgExt
    - открытые расширения отладчика
  • OllyMigrate
    - передать отладчик другому отладчику без перезапуска
  • Psscor2
    - расширенный набор SOS для отладки управляемого кода.NET 2.0
  • Psscor4
    - расширенный набор SOS для отладки управляемого кода.NET 4
  • PyDBGExt
    - позволяет использовать скрипты Python
  • PyKD
    - позволяет использовать Python для сценария WinDbg
  • sdbgext (Найнив)
    - (! valloc,! vallocrwx,! heapalloc,! heapfree,! remotecall,! remotecall64,! loaddll,! unloaddll,! close,! killthread,! adjpriv,! ret)
  • SieExtPub
    расширение легальности... теперь встроено в WinDbg в ext.dll
  • SOSEX
    - больше команд для отладки управляемого кода NET 2.0 или 4.0
  • SPT/SDBGExt2 (Стив Нимитц)
    - (! DumpHttpContext,! DumpASPNetRequests,! DumpSqlConnectionPools,! DumpThreadPool и т. Д.)
  • Uniqstack
    - источник к расширению отладчика (для доступа к нему требуется учетная запись OSR Online)
  • viscope
    - график покрытия кода
  • Ожидание цепочки обхода / wct.dll (CodePlex Debugging Extensions
    - отображать цепочки ожидания потоков приложений (помогает найти тупики)
  • windbgshark
    - интегрирует анализатор протокола Wireshark для управления и анализа трафика ВМ
  • Расширения WinDbg (Саша Гольдштейн)
    - Tracer, WCT, heap_stat, bkb, traverse_map, traverse_vector)
  • WinDbg Highlight (ColorWindbg.dll) (используйте переводчик Google для перевода ссылки)
    - подсветка синтаксиса ассемблера

Напишите свое собственное расширение

Отладка управляемого кода

Сценарии (C#, PS, Python и WinDbg)

Отладчики / Инструменты, которые используют API dbgeng.dll / Инструменты WinDbg

Различные способы создания файлов аварийных дампов для анализа после смерти

Инструменты анализа дампа

  • BlueScreenView - находит мини-дамп файлы .dmp, сохраненные Windows после BSOD, и извлекает информацию о том, что вызвало сбой
  • Debug.Analyzer (может анализировать файлы дампа, а плагины могут быть написаны в.NET)
  • SAD - Simple After Dump (посмертный анализатор)
  • Volatility - структура для анализа "памяти", записанной в файлах дампа ( шпаргалка)

Инструменты, связанные с дампом

Ядро отладки виртуальных машин

  • VMKD - Расширения виртуальной машины KD
  • VirtualKD - (поддержка отладчика ядра для ОС, размещенных в VMware/VirtualBox)

Видео

Блоги

Расширенные статьи и учебные ресурсы

Альтернативные отладчики

Другие ссылки

Другие вопросы по тегам