首页
社区
课程
招聘
[原创]ObRegisterCallbacks返回0xC0000022(拒绝访问)解决方案
发表于: 2011-10-2 16:42 11135

[原创]ObRegisterCallbacks返回0xC0000022(拒绝访问)解决方案

2011-10-2 16:42
11135

最近写驱动,发现ObRegisterCallbacks这个总是函数调用不成功,在网上查了一下,发现使用这个函数对驱动有特殊的要求,必须使用特殊的签名才行!否则这个函数会返回0xC0000022(拒绝访问),逆向此函数可以看到以下是有关是否加签名的判断,

PAGE:00000001404AA75D                 call    MmVerifyCallbackFunction
PAGE:00000001404AA762                 cmp     eax, ebx
PAGE:00000001404AA764                 jz      short loc_1404AA7E1
PAGE:00000001404AA766
PAGE:00000001404AA766 loc_1404AA766:                          ; CODE XREF: ObRegisterCallbacks+11Bj
PAGE:00000001404AA766                 mov     rcx, [rsi+rbp+18h]
PAGE:00000001404AA76B                 cmp     rcx, rbx
PAGE:00000001404AA76E                 jz      short loc_1404AA779
PAGE:00000001404AA770                 call    MmVerifyCallbackFunction
PAGE:00000001404AA775                 cmp     eax, ebx
PAGE:00000001404AA777                 jz      short loc_1404AA7E1

开发调试时可以将
PAGE:00000001404AA764                 jz      short loc_1404AA7E1
PAGE:00000001404AA76E                 jz      short loc_1404AA779
这两行改为nop暂时使ObRegisterCallbacks调用成功,方便开发调试和暂时没签名的朋友

ObRegisterCallbacks这个函数是在Vista sp1之后的版本中添加的,可用来监控系统中对进线程句柄的操作,如打开进程、复制线程句柄等。


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 7
支持
分享
最新回复 (5)
雪    币: 1407
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
http://d.hatena.ne.jp/xna/20080517/1210984806
2011-10-2 22:39
0
雪    币: 208
活跃值: (148)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
楼上不知道你现在试过这个方法没?这个方法我在网上也看到过,但我试了,win7 32位,64位都试了,不行呢
2011-10-2 23:02
0
雪    币: 544
活跃值: (264)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
4
nt!MmVerifyCallbackFunction

PAGE:0056DC06                 push    ebx
PAGE:0056DC07                 push    [ebp+arg_0]
PAGE:0056DC0A                 call    _MiLookupDataTableEntry@8 ; MiLookupDataTableEntry(x,x)
PAGE:0056DC0F                 test    eax, eax
PAGE:0056DC11                 jz      short loc_56DC1C
PAGE:0056DC13                 test    byte ptr [eax+34h], 20h//设个20h不就好了么?
PAGE:0056DC17                 jz      short loc_56DC1C
PAGE:0056DC19                 mov     [ebp+var_4], ebx
2011-10-7 09:53
0
雪    币: 274
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
关注一下,准备使用
2012-2-3 09:45
0
雪    币: 12
活跃值: (773)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
每次测试驱动都要patch。。
2012-2-3 10:40
0
游客
登录 | 注册 方可回帖
返回
//