首页
社区
课程
招聘
[旧帖] [求助]大家新年好,请教一个ring0下调用NtQueryInformation导致0x00000050错误的问题 0.00雪花
发表于: 2008-2-8 16:48 4524

[旧帖] [求助]大家新年好,请教一个ring0下调用NtQueryInformation导致0x00000050错误的问题 0.00雪花

2008-2-8 16:48
4524
我写了一个驱动程序,在DriverEntry里建立了一个SystemThread.而这个Thread干的事情就是定时去执行调用  NtQuerySystemInformation 代码大约如下:

ULONG retlen;
PVOID pProcInfo = NULL;
if (KeGetCurrentIrql() < DISPATCH_LEVEL)
{
DbgPrint ( "Calling NtQuerySystemInformation \n" );
NtQuerySystemInformation ( SystemProcessInformation , NULL , 0 , &retlen );
DbgPrint ( " NtQuerySystemInformation proccessed\n" );

pProcInfo = ExAllocatePoolWithTag (NonPagedPool, retlen , 'corp');
if ( pProcInfo )
{
DbgPrint ( "2nd Calling NtQuerySystemInformation \n" );

ntStatus = NtQuerySystemInformation ( SystemProcessInformation , pProcInfo , icurrsize , &retlen );
DbgPrint ( " 2nd NtQuerySystemInformation proccessed\n" );
}
}
结果经常在执行NtQuerySystemInformation时出现兰屏,错误代码0x00000050:PAGE_FAULT_IN_NONPAGED_AREA
而且出现的几率还挺高,我试过换ZwQuerySystemInfo函数,也是一样,而且更加容易出现蓝屏。
奇怪的是在Windbg里提示的错误的模块不一定是我自己写的.sys,一次看到是atapi.sys和其他的,但更多的是自己写模块。每次蓝屏前,都可以看到DbgPrint出来的“
Calling NtQuerySystemInformation "。
请问各位,这个问题要如何解决,调用NtQuerysystemInfomation有什么讲究吗?

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//