Подтвердить что ты не робот

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

Есть ли хорошие учебники для показа, как использовать WinDbg?

4b9b3361

Ответ 1

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

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

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

Cmdtree

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

Ввод в эксплуатацию Script

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

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

Пример script:

$$ 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
    - проверьте структуры кучи для коррупции, обнаружите объекты, совместно используемые потоками, и т.д.
  • dom Расширение WinDbg
    - (! stlpvector,! idt,! unhex,! grep и т.д.)
  • dumppe
    - выгружает PE файл из памяти
  • Расширение просмотра изображений (Vladimir Vukicevic)
  • Инструмент отладки Intel UEFI Development Kit
    - отладка прошивки UEFI
  • leaktrap
    - Отслеживание дескрипторов GDI/USER для обнаружения утечек
  • Mona (требуется PyKD)
    - набор команд для расширенного анализа/поиска эксплойтов
  • MSEC
    - обеспечивает автоматизированный анализ сбоев и оценку риска безопасности.
  • narly
    - содержит информацию о загруженных модулях, например, при использовании SafeSEH, ASLR, DEP,/GS (проверки безопасности буфера )
  • netext (Rodney Viana)
    - (! wservice - список объектов службы WCF, wconfig - показать строки .config,! whttp - list HttpContexts,! wselect/! wfrom - поддержка SQL как запросов на массивах)
  • ODbgExt
    - откройте расширения отладчика
  • OllyMigrate
    - передать debuggee другому отладчику без перезагрузки
  • Psscor2
    - надмножество SOS для помощи в отладке управляемого кода .NET 2.0
  • Psscor4
    - надмножество SOS для помощи в отладке управляемого кода .NET 4
  • PyDBGExt
    - позволяет использовать скрипты Python
  • PyKD
    - позволяет использовать Python для script WinDbg
  • sdbgext (Nynaeve)
    - (! valloc,! vallocrwx,! heapalloc,! heapfree,! remotecall,! remotecall64,! loaddll,! unloaddll,! close,! killthread,! adjpriv,! ret)
  • SieExtPub - расширение расширения... теперь встроено в WinDbg в ext.dll
  • SOSEX
    - больше команд для отладки управляемых файлов NET 2.0 или 4.0
  • SPT/SDBGExt2 (Steve Niemitz)
    - (! DumpHttpContext,! DumpASPNetRequests,! DumpSqlConnectionPools,! DumpThreadPool и т.д.)
  • Uniqstack
    - источник для расширения отладчика (для доступа к нему требуется учетная запись OSR Online)
  • viscope
    - график покрытия кода
  • Wait Chain Traversal/wct.dll(Расширения отладки CodePlex
    - отображение цепочек ожидания потоков приложений (помогает найти взаимоблокировки)
  • windbgshark
    - интегрирует анализатор протоколов Wireshark для включения манипуляции и анализа трафика виртуальных машин
  • Расширения WinDbg (Саша Гольдштейн)
    - Tracer, WCT, heap_stat, bkb, traverse_map, traverse_vector)
  • WinDbg Highlight (ColorWindbg.dll) (используйте Google Translate для перевода ссылки)
    - подсветка синтаксиса ассемблера

Введите собственное расширение

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

Скрипты (С#, PS, Python и WinDbg)

  • KDAR (Kernel Debugger Anti Rootkit)
    - коллекция скриптов WinDbg
  • Sysnative BSD Scripts/Обработка приложений
  • WinDbg script library
    - коллекция скриптов WinDbg
  • Scripting MDbg и DbgHostLib
    - позволяет управляемый код script управляемому отладчику (MDBG) и DbgEng
  • ExtCS
    - позволяет управлять WinDbg скриптами С#
  • PowerDBG
    - позволяет управлять WinDbg с помощью сценариев PowerShell
  • PyKD
    - позволяет управлять WinDbg с помощью скриптов Python
  • windbglib
    - Библиотека обложек Python вокруг расширения pykd для WinDbg, имитирующая immlib (так что вы можете использовать скрипты, первоначально написанные для Отладчик иммунитета)

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

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

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

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

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

  • Citrix dumpcheck - проверяет согласованность файла дампа (похоже, что он оставлен ссылка + ссылка)
  • dumpchk (часть инструментов отладки) - проверяет согласованность файла Dump
  • MoonSols Windows Memory Toolkit (ранее windd) - преобразует различные исходные файлы дампа памяти в файлы dmp, совместимые с WinDbg.
  • vm2dmp - Microsoft Hyper-V VM State to Memory Dump Converter
  • vmss2core - преобразует файл моментального снимка VMware в файл дампа ядра (скачать), (инструкции)

Отладка виртуальных машин ядра

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

Видео

Блоги

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

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

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