Скрипты для WinDBG ( snippets )

Список

  • cr0
  • cr4
  • gdt
  • export
  • help
  • iat
  • vmcs

Настройка

В репозитории скрипты располагаются в каталоге /snippets. Необходимо загрузить оттуда необходимые скрипты. Для удобства использования желательно добавить путь к скриптам в переменную окружения PYTHONPATH.
После всех необходимых настроек использовать скрипт в windbg очень просто:

kd> !py cr0
CR0: 80050031 (1000000000000101000000000011000)
 PG AM WP NE ET

Использование

  • help
Выводит интерактивный хелп с DML разметкой в окно windbg. Удобно выполнять эту команду в отдельном окне ( ctrl+N ).

!py help 

  • CR0
Выводит содержимое регистра CR0, либо трактует переданное числовое значение, как содержимое регистра.

kd> !py cr0
CR0: 80050031 (1000000000000101000000000011000)
 PG AM WP NE ET
 kd> !py cr0 FFFFFFFF
CR0: ffffffff (1111111111111111111111111111111)
 PG CD NW AM WP NE ET TS EM MP
  • CR4
Выводит содержимое регистра CR0, либо трактует переданное числовое значение, как содержимое регистра.

kd> !py CR4
CR4: 6f8 (0000000000000000000001101111100)
 OSXMMEXCPT OSFXSR PGE MCE PAE PSE DE
kd> !py CR4 FFFFFFFF
CR4: ffffffff (1111111111111111111111111111111)
 OSXSAVE PCIDE SMXE VMXE OSXMMEXCPT OSFXSR PCE PGE MCE PAE PSE DE TSD PVI
  • GDT
Выводит содержание дескриптора в глобальной таблице дескрипторов или значения всех дескрипторов, селекторы которых загружены в сегментные регистры

kd> !py GDT 10
GDT Entry: fffff80000b95010
attr: 29b ( 000101001101 )  base: 0  limit: 0
kd> !py GDT
cs (10):
GDT Entry: fffff80000b95010
attr: 29b ( 000101001101 )  base: 0  limit: 0

es (2b):
GDT Entry: fffff80000b95028
attr: cf3 ( 011001111001 )  base: 0  limit: ffffffff

ds (2b):
GDT Entry: fffff80000b95028
attr: cf3 ( 011001111001 )  base: 0  limit: ffffffff

ss (18):
GDT Entry: fffff80000b95018
attr: c93 ( 011001001001 )  base: 0  limit: ffffffff

gs (2b):
GDT Entry: fffff80000b95028
attr: cf3 ( 011001111001 )  base: 0  limit: ffffffff

fs (53):
GDT Entry: fffff80000b95050
attr: 4f3 ( 001001111001 )  base: 7e68c000  limit: 3c00

tr (40):
GDT Entry: fffff80000b95040
attr: 8b ( 000001000101 )  base: fffff80000b96080  limit: 67
  • export
Выводит список имен экспортов модуля

kd> !py export nt Zw*SetInformation*
Module: nt base: fffff80002a09000 end: fffff80002fe5000
Export RVA: 528000  Size: 10962
========================
ZwAlpcSetInformation
ZwSetInformationEnlistment
ZwSetInformationFile
ZwSetInformationJobObject
ZwSetInformationObject
ZwSetInformationProcess
ZwSetInformationResourceManager
ZwSetInformationThread
ZwSetInformationToken
ZwSetInformationTransaction
  • iat
выводит список импортов модуля
kd> !py iat nt BOOTVID*
Module: nt base: ffffffff83209000 end: ffffffff83619000
IAT RVA: 1000  Size: 26c
========================
BOOTVID!VidBitBlt
BOOTVID!VidSolidColorFill
BOOTVID!VidScreenToBufferBlt
BOOTVID!VidCleanUp
BOOTVID!VidDisplayString
BOOTVID!VidSetScrollRegion
BOOTVID!VidResetDisplay
BOOTVID!VidBufferToScreenBlt
BOOTVID!VidSetTextColor
BOOTVID!VidInitialize

  • VMCS
Выводит содержимое структуры VMCS. В качестве аргумента принимает физический адрес.

Last edited Apr 19, 2011 at 3:30 PM by kernelnet, version 10

Comments

No comments yet.