O WDBGARK é uma extensão (Dynamic Library) para as ferramentas de depuração da Microsoft para Windows. O principal objetivo é visualizar e analisar anomalias no kernel do Windows usando o depurador do kernel. É possível visualizar vários retornos de chamada do sistema, tabelas de sistema, tipos de objetos e assim por diante. Para uma extensão de visualização mais fácil de usar, usa DML. Para a maioria dos comandos, é necessária a conexão do modo de kernel. Sinta-se à vontade para usar a extensão com a depuração do modo de kernel ao vivo ou com a análise do despejo de colisão no modo de kernel (alguns comandos não funcionarão). São necessários símbolos públicos; portanto, use -os, force para recarregá -los, ignorar problemas de soma de verificação, prepará -los antes da análise e você ficará feliz.
Múltiplos alvos depuração não são suportados!
O Windows Beta/RC é suportado pelo design, mas leia algumas notas. Primeiro, não me importo com construções verificadas. Segundo, não me importo se você não tem símbolos (público ou privado). IA64/ARM não é suportado (e não).
As fontes são organizadas como uma solução do Visual Studio 2017.
O evento pós-construção está ativado para a Build Debug. Ele copia automaticamente a extensão vinculada na pasta Plugins do Windbg (por exemplo, destino x64:
"copy /B /Y "$(OutDir)$(TargetName)$(TargetExt)" "$(WindowsSdkDir)Debuggersx64winext$(TargetName)$(TargetExt)" ).
Descontinuado.
Sim, é possível construir todas as coisas usando scripts simples em lote.
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
P: Qual é o principal objetivo da extensão?
A: Bem, primeiro é educacional apenas. Segundo, por diversão e lucro.
P: Você conhece PYKD? Eu posso escrever todo o anti-rootkit usando o python.
A: Sim, eu sei, mas o C ++ é muito melhor.
P: Onde está a versão 1.0?
A: Perdido no espaço do código do Google.
P: Quando o projeto começou?
R: Fevereiro de 2013 no código do Google.
P: Qual versão devo usar?
A: Por favor, use apenas a versão x64. Na era do x64, não sei por que diabos você pode precisar usar a versão x86. x64 windbg é capaz de depurar x86 e x64. Host OS Bitness é a única limitação.
P: Como posso ajudar?
A: Espalhe uma palavra. Relatar problemas e solicitações de recursos. Estou aberto para quaisquer sugestões. Obrigado!
P: Que tipo de despejo de memória é melhor usar com uma extensão?
A: despejo de memória completo.
P: Como relatar um problema?
R: Sinta -se à vontade para relatar um problema usando o GitHub ou e -mail diretamente para mim, mas anexe o arquivo de despejo de falha de memória completo.
Wiki pode ajudar.
Este software é lançado sob a licença GNU GPL V3. Consulte o arquivo de cópia para obter o texto completo da licença e esta pequena adição.