Получать дамп ядра по требованию из пространства пользователя без отладки ядра (Windows) - PullRequest
0 голосов
/ 23 апреля 2020

Каким был бы самый простой и самый переносимый способ (в смысле необходимости только скопировать несколько файлов на целевой компьютер, например, procdump is) для создания дампа ядра, содержащего информацию о дескрипторе?

procdump имеет параметр -mk, который генерирует ограниченный файл дампа, относящийся к указанному процессу. В WinDbg сообщается как: Mini Kernel Dump File: Only registers and stack trace are available. Большинство команд, которые я пробую (!handle, !process 0 0), не могут прочитать данные.

Похоже, что официально, windbg и kd будут генерировать дампы (что потребует отладки ядра).

Странное решение, которое я нашел, использует livekd с -ml: Generate live dump using native support (Windows 8.1 and above only).. livekd по-прежнему ищет kd.exe, но не использует его :), поэтому я могу обмануть его пустым файлом и не требует отладки ядра. Есть идеи, как это работает?

1 Ответ

0 голосов
/ 23 апреля 2020

LiveKD использует недокументированный API-интерфейс NtSystemDebugControl для захвата дампа памяти. Хотя вы легко можете найти информацию об этом API в Интернете, проще всего использовать LiveKD.

...