WDBGark adalah ekstensi (perpustakaan dinamis) untuk alat debugging Microsoft untuk Windows. Tujuan utama adalah untuk melihat dan menganalisis anomali di windows kernel menggunakan debugger kernel. Dimungkinkan untuk melihat berbagai panggilan balik sistem, tabel sistem, jenis objek dan sebagainya. Untuk ekstensi tampilan yang lebih ramah pengguna menggunakan DML. Untuk sebagian besar perintah koneksi mode kernel diperlukan. Jangan ragu untuk menggunakan ekstensi dengan debugging mode kernel langsung atau dengan analisis dump crash mode kernel (beberapa perintah tidak akan berfungsi). Simbol publik diperlukan, jadi gunakan, paksa untuk memuatnya kembali, mengabaikan masalah checksum, menyiapkannya sebelum analisis dan Anda akan senang.
Debugging target berganda tidak didukung!
Windows Beta/RC didukung oleh desain, tetapi baca beberapa catatan. Pertama, saya tidak peduli tentang bangunan yang diperiksa. Kedua, saya tidak peduli jika Anda tidak memiliki simbol (publik atau pribadi). IA64/ARM tidak didukung (dan tidak akan).
Sumber disusun sebagai solusi Visual Studio 2017.
Acara pasca-Build diaktifkan untuk pembangunan debug. Secara otomatis menyalin ekstensi tertaut ke folder plugin WindBG (misalnya target x64:
"copy /B /Y "$(OutDir)$(TargetName)$(TargetExt)" "$(WindowsSdkDir)Debuggersx64winext$(TargetName)$(TargetExt)" ).
Tercerahkan.
Ya, dimungkinkan untuk membangun semua barang menggunakan skrip batch sederhana.
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
T: Apa tujuan utama ekstensi ini?
A: Ya, pertama saja pendidikan saja. Kedua, untuk kesenangan dan keuntungan.
T: Apakah Anda tahu tentang Pykd? Saya dapat membuat skrip seluruh anti-rootkit menggunakan python.
A: Ya, saya tahu, tapi C ++ jauh lebih baik.
T: Di mana versi 1.0?
A: Hilang dalam ruang Google Code.
T: Kapan proyek dimulai?
A: Februari 2013 di Google Code.
T: Versi apa yang harus saya gunakan?
A: Harap gunakan versi x64 saja. Di era x64 saya tidak tahu mengapa sih Anda mungkin perlu menggunakan versi x86. X64 WindBG mampu men -debug x86 dan x64. Host OS Bitness adalah satu -satunya batasan.
T: Bagaimana saya bisa membantu?
A: Sebarkan satu kata. Laporkan masalah dan permintaan fitur. Saya terbuka untuk saran apa pun. Terima kasih!
T: Jenis pembuangan memori apa yang lebih baik digunakan dengan ekstensi?
A: Dump memori lengkap.
T: Bagaimana cara melaporkan suatu masalah?
A: Jangan ragu untuk melaporkan masalah menggunakan GitHub atau email kepada saya secara langsung, tapi tolong, lampirkan file dump crash memori lengkap.
Wiki dapat membantu.
Perangkat lunak ini dirilis di bawah lisensi GNU GPL V3. Lihat file salinan untuk teks lisensi lengkap dan penambahan kecil ini.