Есть ли хорошие учебники для показа, как использовать WinDbg?
Хороший учебник для WinDbg?
Ответ 1
Основные учебники и примеры использования
- Установка и настройка WinDbg (средства отладки Windows)
- Майк Таути - слово для WinDbg
- Учебники WinDbg
- Отладчики Windows: Часть 1: Учебное пособие по WinDbg
Различные способы "запустить" /Прикрепить WinDbg
- Начать отладку с помощью WinDbg (включает в себя как отлаживать .msi)
- Отладка службы Windows
- Настройка отладки Windows
- Отладка SQL Server... здесь, здесь, здесь, здесь
Рабочие области (понимание того, как они работают)
- Выровнять ваш отладчик: создание настраиваемой рабочей области для отладки WinDbg
- Раскрытие информации о том, как рабочие области работают в WinDbg
Cmdtree
Позволяет определить "меню" команд отладчика для легкого доступа к часто используемым командам без необходимости запоминать краткие имена команд. Не нужно ставить все определения команд в один и тот же текстовый файл cmdtree.... вы можете держать их отдельно и загружать несколько (они затем получают свое собственное окно).
- Удивительный помощник .cmdtree
- Как создать док-станцию cmdtree при запуске в WinDbg
- Упрощение отладки .NET дампов в WinDbg с использованием .cmdtree
- Microshaoft 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
Командные чит-листы
- Плакат анализа дампа сбоев v3.0
- SOS Cheat Sheet (.NET 2.0/3.0/3.5)
- Штрих-код WinDbg (Art of Dev)
- WinDbg. Команды расширения в режиме ядра. Flashcards
Расширения (расширение диапазона поддерживаемых команд/функций)
- 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 для перевода ссылки)
- подсветка синтаксиса ассемблера
Введите собственное расширение
- Разработка расширения WinDbg ExtEngCpp на С++
- Инструменты торговли: Часть IV - Разработка DLL файлов расширения WinDbg
- Основы расширений отладчика: краткосрочные усилия, долгосрочное усиление
Отладка управляемого кода
- Нарушение исключения
- Нарушение конкретного исключения CLR
- Отладка исходного кода .NET Framework в WinDbg
- Отладка исключений в управляемом коде с помощью WinDbg
- Отладка управляемого кода с помощью WinDbg и SOS.dll
- Отладка с помощью WinDbg. Тупики в приложениях.
- MANAGED DEBUGGING с помощью WinDbg. Введение и индекс
- Настройка точек останова .NET в WinDbg для приложений, которые выходят из строя при запуске
Скрипты (С#, 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
- Простой отладчик пользовательского режима на основе Dbgeng
- Acorns.Debugging NET Detlock Detector (использует cdb.exe) (скачать)
- CLR Managed Debugger (MDBG)
- DbgHost - Как управлять механизмом отладки
- Debug Diagnostic Tool v1.2 (DebugDiag), Ver 2.0 + Блог DebugDiag
- Dynamorio - инструмент динамического двоичного инструментария, который может взаимодействовать с WinDbg
- IDA + плагин WinDbg
- GUI WinDbg
- LeakShell (найти управляемые утечки)
- mdbglib - Управляемый API отладки
- PyDbgEng
- Пакет Python для механизма отладки Windows - SOSNET - оболочка WinDbg Fork/alternative, которая концентрируется на использовании расширения SOS и поддерживает сценарии на С#
- SOSNET O2 fork - вилка SOSNET, которая использует Roslyn для механизма сценариев С# REPL (read-eval-print-loop)
- VDB/Vivisect (kenshoto) - предоставляет кросс-платформенный API для отладки, размещенный на WinDbg
- WinAppDbg + Heappie-WinAppDbg
- Написание базового отладчика Windows
Различные способы создания файлов аварийного дампа для анализа после морфем
- DebugDiag 2.0
- Dump Cheat Sheet
- включает в себя создание дампа с виртуальных машин Hyper-V, VMware ESX и XenServer. - Citrix SystemDump
- Комбинация клавиш клавиатуры
- MiniDumpWriteDump
- (через вызов Win32 API внутри вашего приложения). (Пример для приложений С#) - NMI Switch
(аппаратная функция для создания NMI... обычно находится на серверах высокого класса, например HP или вы можете получить дополнительную плату PCI "Universal Dump Switch Switch" ). Технология Microsoft NMI фон. - Procdump
- Система меню? Расширенные системные настройки? Запуск и восстановление
(информация о реестре),
(как настроить полный (полный) дамп памяти),
(как включить полный дамп памяти),
(как включить полный дамп памяти в Windows 7, когда у ПК много памяти... обычно не доступно, когда больше 2 ГБ памяти) - Диспетчер задач" Создать файл дампа
- UserDump, инструкции (очень старый инструмент)
- UserModeProcessDumper, инструкции
- Visual Studio "Сохранить дамп как..."
- WER (отчеты об ошибках Windows.... локальные дампы)
- WinDbg
Инструменты анализа дампа
- 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)
Видео
- .NET Cracking 101 # 2 - Основы WinDbg
- .NET Debugging для производственной среды (Channel9)
- dotnetConf - Расширенная отладка с помощью WinDbg и SOS
- Дэвид Truxall "Отладка с помощью WinDbg"
- Mike Taulty Отладка утечек памяти
- oredev 2009 Сессия: отладка приложений .NET с помощью WinDbg
- расширенная отладка Windows Pluralsight
(плюс различные другие в Pluralsight) - Tess Ferrandez WinDbg (Channel9)
- Серия обучающих видеоматериалов TiGa по IDA Pro
Блоги
- Расширенная отладка .NET
- Вся ваша база принадлежит нам (Саша Гольдштейн)
- Analyze-v
- Отладка ASP.NET
- Cyberiafreak (потоковое и расширенное программирование и отладка Windows)
- Debug Analyzer.NET
- Отладка и последующие
- Журнал отладочных экспертов в Интернете
- Отладка Toolbox (WinDbg скрипты, инструменты для отладки и устранения неполадок и методы, которые помогут вам изолировать проблемы программного обеспечения.)
- Расшифровать мой мир
- greggm WebLog
- Замечания по программированию Windows Junfeng Zhang
- Kristoffer tidbits
- Блог Марка Руссиновича
- Блог отладки Mike Stalls.NET
- Блог Naveen
- Никогда не сомневайтесь в своем отладчике (Carlo)
- Заметки из темного угла
- Блог Ntdebugging (команда Microsoft Global Escalation Services)
- Найнив. Приключения в отладке и обратном проектировании Windows
- Заметки разработчика PFE для поля
- Отладчик Visual Studio
- WinDbg от Volker von Einem
Расширенные статьи и учебные материалы
- Расширенные методы отладки в WinDbg
- Отладка приложений для MS.Net и Windows (слайды PowerPoint)
- Отладка контейнеров STL с помощью WinDbg
- Отладочные учебники 1-7 (CodeProject-Toby Opferman)
- Debugging.tv
- Разработчик WinDbg Tagged articles
- Dr Security Security - учебные руководства по вредоносному ПО - обратный инженерный подход
- Учебное пособие по использованию части 5: Как модули и плагины отладчика могут ускорить базовую разработку эксплойтов
- Охотничьи руткиты
- Удаленная отладка ядра операционной системы Microsoft Windows Server с помощью утилиты Dell Debugger Utility (DWDU) (DELL (TM) Утилита отладки Windows (R) 1.1 README)
Альтернативные отладчики
- Bokken - (Inguma) (GUI для радиолокатора)
- BugDbg
- Отладка ++ (еще не выпущена)
- Отладка
- Отладочное кольцо 0 Отладчик (скачать)
- edb (Linux)
- FDBG
- GoBug
- Hades (отладчик Ring 3 с анти-отладчиком)
- Hopper (Linux, OS X и Windows) (отладка Windows в настоящее время не реализована)
- Hyperdbg
- Отладчик IDA
- ImmunityDebugger
- Nanomite
- Обсидиан (неинтрузивный отладчик)
- OllyDBG
- PEBrowse
- RaceVB6 (отладчик P-Code VB6)
- radare
- radare2ui (графический интерфейс для радара)
- Rasta Ring 0 Отладчик (RR0D)
- Отладчик ядра Syser
- TRW 2000 (очень старый отладчик около W9x) + архив плагинов dions
- Отладчик VisualDux
- Wintruder (расширяемый отладчик)
- WKTVDebugger (отладчик для Visual Basic P-Code) (скачать)
- x64_dbg
- Zeta Debugger
Другие ссылки
- Совместная библиотека инструментов RCE
- инструменты отладчика и системного уровня - cr4zyserb
- плагины и другие инструменты для отладки - Как написать ссылки отладчика Windows (Devon Straw)
- подробная информация, которая вам нужна, если вы хотите написать свой собственный отладчик, например Формат файла PDB, форматы файлов DMP, структура файла PE, как записывать трассировки стека и т.д. И т.д. - Tuts4You
- распаковыватели, IDA, OllyDBG, плагины отладки Immunity и т.д.