NTSTATUS DriverEntry(
IN OUT PDRIVER_OBJECT DriverObject ,
IN PUNICODE_STRING RegistryPath
)
{
ULONG now , old;
//ULONG t;
CreateMyDevice (DriverObject ); //创建相应的设备
DriverObject ->DriverUnload = BEATPROTECT_DriverUnload;
now = GetNtOpenProcessAddr();//这个是获得当前OpenProcess的地址
old = GetSSDTAddrByIndex (190);//这个是获得原始OpenProcess的地址
KdPrint (("now = %0x, old = %0x" ), now, old );
return STATUS_SUCCESS ;
}
这样具体的函数实现就略吧。
然后怪事就来了
调试的时候上面的代码输出的结果是正确的。
但是如果我再把
//ULONG t;
这个注释打开,结果就是错的。。百思不得解。。以前是JAVA的难道C里申请了一个变量也要改变结果么。。。
新人求解。。各位大大受累指点一下
图片如下