WDBGARK - это расширение (динамическая библиотека) для инструментов отладки Microsoft для Windows. Основная цель - просмотреть и проанализировать аномалии в ядре Windows с использованием отладчика ядра. Можно просмотреть различные системные обратные вызовы, системные таблицы, типы объектов и так далее. Для более удобного для пользователя расширение просмотра использует DML. Для большинства команд требуется подключение к ядрам. Не стесняйтесь использовать расширение с отладкой живого режима ядра или с анализом сбоя дампа в режиме ядра (некоторые команды не будут работать). Общественные символы требуются, поэтому используйте их, заставляют перезагрузить их, игнорировать проблемы с контрольной суммой, подготовить их перед анализом, и вы будете счастливы.
Отладка нескольких целей не поддерживается!
Windows Beta/RC поддерживается дизайном, но прочитайте несколько заметок. Во -первых, меня не волнует проверенные сборки. Во -вторых, мне все равно, если у вас нет символов (общедоступных или частных). IA64/ARM не поддерживается (и не будет).
Источники организованы как решение Visual Studio 2017.
Событие после сборки включено для сборки отладки. Он автоматически копирует связанное расширение в папку плагинов Windbg (например, цель x64:
"copy /B /Y "$(OutDir)$(TargetName)$(TargetExt)" "$(WindowsSdkDir)Debuggersx64winext$(TargetName)$(TargetExt)" ).
Устарел.
Да, можно создать все вещи, используя простой пакетный сценарий.
C:Program Files (x86)Windows Kits10Debuggersx64winextC:Program Files (x86)Windows Kits10Debuggersx86winext 0: kd> .load wdbgark
0: kd> .chain
Extension DLL search Path:
<...>
Extension DLL chain:
wdbgark: image 2.5.0.0, API 2.5.0, built Fri Oct 20 17:54:03 2017
[path: C:Program Files (x86)Windows Kits10Debuggersx64winextwdbgark.dll]
dbghelp: image 10.0.16299.15, API 10.0.6,
[path: C:Program Files (x86)Windows Kits10Debuggersx64dbghelp.dll]
ext: image 10.0.16299.15, API 1.0.0,
[path: C:Program Files (x86)Windows Kits10Debuggersx64winextext.dll]
exts: image 10.0.16299.15, API 1.0.0,
[path: C:Program Files (x86)Windows Kits10Debuggersx64WINXPexts.dll]
kext: image 10.0.16299.15, API 1.0.0,
[path: C:Program Files (x86)Windows Kits10Debuggersx64winextkext.dll]
kdexts: image 10.0.16299.15, API 1.0.0,
[path: C:Program Files (x86)Windows Kits10Debuggersx64WINXPkdexts.dll]
0: kd> !wdbgark.help
Commands for C:Program Files (x86)Windows Kits10Debuggersx64winextwdbgark.dll:
!help - Displays information on available extension commands
!wa_apiset - Output user-mode and/or kernel-mode ApiSet map
!wa_callouts - Output kernel-mode win32k callouts
!wa_checkmsr - Output system MSRs (live debug only!)
!wa_chknirvana - Checks processes for Hooking Nirvana instrumentation
!wa_cicallbacks - Output kernel-mode nt!g_CiCallbacks or nt!SeCiCallbacks
!wa_ciinfo - Output Code Integrity information
!wa_colorize - Adjust WinDBG colors dynamically (prints info with no
parameters)
!wa_crashdmpcall - Output kernel-mode nt!CrashdmpCallTable
!wa_drvmajor - Output driver(s) major table
!wa_eop - Checks processes for Elevation of Privilege
!wa_gdt - Output processors GDT
!wa_haltables - Output kernel-mode HAL tables: nt!HalDispatchTable,
nt!HalPrivateDispatchTable, nt!HalIommuDispatchTable
!wa_idt - Output processors IDT
!wa_lxsdt - Output the Linux Subsystem Service Descriptor Table
!wa_objtype - Output kernel-mode object type(s)
!wa_objtypecb - Output kernel-mode callbacks registered with
ObRegisterCallbacks
!wa_objtypeidx - Output kernel-mode nt!ObTypeIndexTable
!wa_pnptable - Output kernel-mode nt!PlugPlayHandlerTable
!wa_process_anomaly - Checks processes for various anomalies
!wa_psppico - Output kernel-mode Pico tables
!wa_scan - Scan system (execute all commands)
!wa_ssdt - Output the System Service Descriptor Table
!wa_systables - Output various kernel-mode system tables
!wa_systemcb - Output kernel-mode registered callback(s)
!wa_ver - Shows extension version number
!wa_w32psdt - Output the Win32k Service Descriptor Table
!wa_w32psdtflt - Output the Win32k Service Descriptor Table Filter
!wdrce_copyfile - Copy file (live debug only!)
!wdrce_cpuid - Execute CPUID instruction (live debug only!)
!help <cmd> will give more information for a particular command
В: Какова основная цель расширения?
A: Ну, во -первых, только образовательный. Во -вторых, для удовольствия и прибыли.
В: Вы знаете о PYKD? Я могу скрепить весь антироткит с помощью Python.
A: Да, я знаю, но C ++ намного лучше.
В: Где версия 1.0?
A: Потерянный в пространстве кода Google.
В: Когда начался проект?
A: Февраль 2013 г. в Google Code.
В: Какую версию мне использовать?
A: Пожалуйста, используйте только версию x64. В эпоху X64 я не знаю, почему, черт возьми, вам может потребоваться использовать версию x86. x64 Windbg может отлаживать как x86, так и x64. Ведущая ОС - единственное ограничение.
В: Чем я могу помочь?
A: Распространите слово. Сообщите о проблемах и запросах функций. Я открыт для любых предложений. Спасибо!
В: Какой дамп памяти лучше использовать с расширением?
A: Полный дамп памяти.
В: Как сообщить о проблеме?
A: Не стесняйтесь сообщать о проблеме, используя GitHub или по электронной почте мне напрямую, но, пожалуйста, прикрепите полный файл дампа с аварии памяти.
Вики может помочь.
Это программное обеспечение выпускается по лицензии GNU GPL V3. Смотрите файл копирования для полного текста лицензии и это небольшое дополнение.