KdEnteredDebugger变量的定位

本文介绍了如何在源文件中定义KdEnteredDebugger变量,并通过代码示例展示了如何打印该变量的地址。这对于理解内核调试环境和进行相关开发工作具有一定的指导意义。

仿照 KdDebuggerNotPresent变量的定义,在自己的源文件中添加下面两句来定义KdEnteredDebugger变量
*extern PBOOLEAN KdEnteredDebugger;
#define KD_ENTERED_DEBUGGER KdEnteredDebugger

如下面的代码就是打印KdEnteredDebugger变量的地址
#include<NTDDK.H>

extern PBOOLEAN KdEnteredDebugger;

#define KD_ENTERED_DEBUGGER *KdEnteredDebugger

//查找KdEnteredDebugger地址
VOID UnloadDriver(PDRIVER_OBJECT driver)
{
UNREFERENCED_PARAMETER(driver);
DbgPrint(“驱动卸载!!!!!”);
}

NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING RegistryPath)
{
NTSTATUS status=STATUS_SUCCESS;
UNICODE_STRING func;
PVOID addr = 0;
UNREFERENCED_PARAMETER(RegistryPath);
RtlInitUnicodeString(&func, L"IoAllocateMdl");
addr = MmGetSystemRoutineAddress(&func);
DbgPrint(“IoAllocateMdl的地址:%llx\n”,addr);
DbgPrint(“KdEnteredDebugger的地址:%llx\n”, KdEnteredDebugger);
driver->DriverUnload = UnloadDriver;

return status;

}
执行结果如下图:
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值