EreTIk's Box » Заметки о WinDbg » Скрипты к WinDbg


Кроме всего прочего, отладчик WinDbg позволяет исполнять файлы, содержащие произвольный код на скрипторм языке. Язык скриптов, с синтаксисом которого можно ознакомиться в хелпе к WinDbg, довольно прост. Основной минус их [скриптов] использования (например, в отличие от библиотеки расширений) это время исполнения. Но зато... не нужно выгружать расширение из WinDbg, перекомпилировать его и подкладывать снова в отладчик.


Далее приведен скромный список скриптов, которые я написал и привел в читабельный вид :). К некоторым из скриптам так же сопутствует небольшие описания.




Разбор и отображение заголовка формата MIDL-сгенерированного формата NDR-вызова. Этот указатель передается во второй параметр rpcrt4!NdrClientCall2(...).

Запускать с одним параметром: PFORMAT_STRING

Скачать архив с NdrFormat.dcmd


Отображение таблицы функций-обработчиков для RPC-сервера.

Запускать с одним параметром: адресом структры описывающей RPC-сервер (первый параметр функции rpcrt4!RpcServerRegisterIfEx(...)).

Скачать архив с RpcServer_IfHandle.dcmd, Детальное описание и пример использования


Отображение списка нитей, ожидающих синхро-объект.

Запускать с одним параметром: адрес синхро-объект. Указный синхро-объект должен быть "примитивным", то есть его структура должна начинаться со структуры nt!_DISPATCHER_HEADER: KEVENT, KMUTANT, KTHREAD...

Скачать архив с Print_WaitList.dcmd


Отображение очереди IRP для указанной нити.

Запускать с одним параметром: адрес целевой нити.

Скачать архив с Print_IrpList.dcmd


Просмотр таблицы системных вызовов в режиме отладки ядра.

Запускать без параметров, на выходе: таблица системных вызовов ядра и win32k.sys

Скачать архив с SSDT_Print_Live.dcmd


Просмотр таблицы системных вызовов для загруженного модуля ядра.

Что бы загрузить модуль ядра в WinDbg необходимо или запускать WinDbg с ключом "-z", например:

windbg.exe -z ntoskrnl.exe

Или в запущенном WinDbg открыть PE-модуль ядра как дамп: File->Open Crash Dump (<Ctrl>+D)

Запускать без параметров, на выходе: таблица системных вызовов ядра

Скачать архив с SSDT_Print_ntoskrnl.dcmd




Скачать все скрипты в одном rar-архиве


ΞρεΤΙκ