Кроме всего прочего, отладчик 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 открыть PE-модуль ядра как дамп: File->Open Crash Dump (<Ctrl>+D)
Запускать без параметров, на выходе: таблица системных вызовов ядра
Скачать архив с SSDT_Print_ntoskrnl.dcmd
Скачать все скрипты в одном rar-архиве
ΞρεΤΙκ