首页
社区
课程
招聘
[旧帖] [求助]内核函数NtUserFindWindowEx 0.00雪花
发表于: 2011-12-29 02:20 2322

[旧帖] [求助]内核函数NtUserFindWindowEx 0.00雪花

2011-12-29 02:20
2322
写了个驱动,用MyNtUserFindWindowEx函数替换原来的NtUserFindWindowEx,加载和卸载都没问题,就是在运行的时候偶尔会蓝屏。

NTSTATUS MyNtUserFindWindowEx(
     IN HWND hwndParent,
     IN HWND hwndChild,
     IN PUNICODE_STRING pstrClassName OPTIONAL,
     IN PUNICODE_STRING pstrWindowName OPTIONAL,
     IN DWORD dwType)
{
    if(pstrClassName)
    {
        RtlInitUnicodeString(&protect,L"要保护的窗口类名");
        if(RtlEqualUnicodeString(&protect,pstrClassName,TRUE))//这里偶尔会引起蓝屏
        {
            …………
        }
    }
    result = OriginalNtUserFindWindowEx(hwndParent,hwndChild,pstrClassName,pstrWindowName,dwType);
    return result;
}

错误发生在RtlEqualUnicodeString+0x10处,难道pstrClassName指向的不一定是UnicodeString?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 506
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
有指针的地方,判断空.
2011-12-29 08:17
0
雪    币: 601
活跃值: (256)
能力值: ( LV11,RANK:190 )
在线值:
发帖
回帖
粉丝
3
if(pstrClassName)
if(pstrClassName->Buffer)
2011-12-29 08:56
0
雪    币: 71
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢各位的回答
2011-12-30 03:16
0
游客
登录 | 注册 方可回帖
返回
//