WDBGARKは、Windows用のMicrosoftデバッグツール用の拡張機能(動的ライブラリ)です。主な目的は、カーネルデバッガーを使用して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
Q:拡張機能の主な目的は何ですか?
A:まあ、最初は教育のみです。第二に、楽しみと利益のために。
Q:PYKDについて知っていますか? Pythonを使用して抗Rootkit全体をスクリプト化できます。
A:ええ、私は知っていますが、C ++の方がはるかに優れています。
Q:バージョン1.0はどこですか?
A:Googleコードのスペースで失われました。
Q:プロジェクトはいつ始まりましたか?
A:Googleコードに関する2013年2月。
Q:どのバージョンを使用すればよいですか?
A:x64バージョンのみを使用してください。 x64の時代に、私はなぜあなたがx86バージョンを使用する必要があるかもしれないかもしれない理由を知っています。 X64 WindBGは、X86とX64の両方をデバッグできます。ホストOSビットネスが唯一の制限です。
Q:どうすれば手伝うことができますか?
A:単語を広げます。問題と機能のリクエストを報告します。私はどんな提案でもオープンです。ありがとう!
Q:どのようなメモリダンプを拡張機能で使用する方が良いですか?
A:完全なメモリダンプ。
Q:問題を報告する方法は?
A:GitHubまたはメールを使用して問題を直接報告してください。ただし、完全なメモリクラッシュダンプファイルを添付してください。
ウィキは助けになります。
このソフトウェアは、GNU GPL V3ライセンスの下でリリースされます。完全なライセンステキストとこの小さな追加については、コピーファイルを参照してください。