WDBGARK est une extension (bibliothèque dynamique) pour les outils de débogage Microsoft pour Windows. L'objectif principal est de visualiser et d'analyser les anomalies dans le noyau Windows à l'aide du débogueur du noyau. Il est possible d'afficher divers rappels système, tables système, types d'objets, etc. Pour une extension de vue plus conviviale, utilise DML. Pour la plupart des commandes, une connexion en mode de noyau est requise. N'hésitez pas à utiliser l'extension avec un débogage en mode noyau en direct ou avec une analyse de vidage de crash en mode noyau (certaines commandes ne fonctionneront pas). Les symboles publics sont nécessaires, alors utilisez-les, forcez-les pour les recharger, ignorez les problèmes de somme de contrôle, préparez-les avant l'analyse et vous serez heureux.
Le débogage des cibles multiples n'est pas pris en charge!
Windows Beta / RC est pris en charge par la conception, mais lisez quelques notes. Tout d'abord, je ne me soucie pas des versions vérifiées. Deuxièmement, je m'en fiche si vous n'avez pas de symboles (public ou privé). IA64 / ARM n'est pas pris en charge (et ne le fera pas).
Les sources sont organisées comme une solution Visual Studio 2017.
L'événement post-construction est activé pour la construction de débogage. Il copie automatiquement l'extension liée dans le dossier des plugins de Windbg (par exemple, cible x64:
"copy /B /Y "$(OutDir)$(TargetName)$(TargetExt)" "$(WindowsSdkDir)Debuggersx64winext$(TargetName)$(TargetExt)" ).
Déprécié.
Oui, il est possible de créer toutes les choses en utilisant un script de lots simples.
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: Quel est le but principal de l'extension?
R: Eh bien, le premier est éducatif uniquement. Deuxièmement, pour le plaisir et le profit.
Q: Connaissez-vous PYKD? Je peux scripter l'intégralité de l'anti-rootkit à l'aide de Python.
R: Oui, je sais, mais C ++ est bien meilleur.
Q: Où est la version 1.0?
R: Perdu dans l'espace du code Google.
Q: Quand le projet a-t-il commencé?
R: Février 2013 sur Google Code.
Q: Quelle version dois-je utiliser?
R: Veuillez utiliser la version x64 uniquement. À l'ère de x64, je ne sais pas pourquoi le diable vous devrez peut-être utiliser la version x86. X64 Windbg est capable de déboguer à la fois x86 et x64. L'hôte Bidness du système d'exploitation est la seule limitation.
Q: Comment puis-je aider?
R: Passez un mot. Rapport les problèmes et les demandes de fonctionnalités. Je suis ouvert à toutes les suggestions. Merci!
Q: Quel type de vidage de mémoire est mieux à utiliser avec une extension?
R: Dump de mémoire complet.
Q: Comment signaler un problème?
R: N'hésitez pas à signaler un problème en utilisant GitHub ou par e-mail directement, mais veuillez joindre le fichier complet de vidage de crash de mémoire.
Wiki peut aider.
Ce logiciel est publié sous la licence GNU GPL V3. Voir le fichier de copie pour le texte complet de licence et ce petit ajout.