首页
论坛
课程
招聘
[原创]ObRegisterCallbacks逆向结构还原 对某软件进行OB回调HOOK
2021-10-10 13:15 15503

[原创]ObRegisterCallbacks逆向结构还原 对某软件进行OB回调HOOK

2021-10-10 13:15
15503

科锐快毕业,没怎么认真发过帖子,今天来发一个

 

上次用ObRegisterCallbacks回调被别得保护驱动怼蓝屏了
逆向一下ObRegisterCallbacks回调结构,看看是如何怼的我

 

直接对着函数开始逆向
环境:Win7X64 SP1

 

这里在判断版本 ,判断回调数量,以及插入这次要注册的回调们的信息
结构体+0x38处指向申请的地址头

 

图片描述

 

判断注册回调数量, 循环插入双向链表信息,校验Flags标志 ,绕过微软检测把Flags标志|=0x20即可
图片描述

 

获取头结点,然后进行一个双向链表的插入,这里ObjectType属于一个某类型全局变量,用特征非常好定位

 

图片描述

 

根据上述逆向
得到俩个结构体

 

typedef struct _ObCallBack_Object
{
USHORT m_wNum256; //+0x0 作用不晓得
USHORT m_wCount; //+0x2 计数相关
PVOID m_LPRegistrationContext; //+0x8 回调参数
USHORT m_wLength0; //+0x10 计数注册序号字符串长度
USHORT m_wLength1; //+0x12 和上面那个变量一样
WCHAR m_szSerialNumber; //+0x18 计数注册序号缓冲区
}ObCallBack_Object,*LPObCallBack_Object;

 

typedef struct _ObOpeation_Object
{
List_ENTRY64 m_entry64; //+0x0 双向链表
OB_OPERATION m_Operations; //+0x10 触发标志
LPObCallBack_Object m_LPobCallBackInfo; //+0x18 指向该结构体的地址
POBJECT_TYPE m_ObjectType; //+0x20 代表类型的全局变量
POB_PRE_OPERATION_CALLBACK m_PreOpration; 开始函数 //+0x28
POB_POST_OPERATION_CALLBACK m_PostOperation; 结束函数 //+0x30
}ObOpeation_Object,*LPObOpeation_Object;

 

有上面信息那些信息就可以,只要找到对应的类型的全局变量+C0处 ,就可以对双向链表进行遍历了。

 

既然该结构里面存储着别人的OB回调函数,那只要把里面的OB回调函数替换成我的就可以形成HOOK了
先对某个063软件做个小测试,挺安全没触发PG.
大多数回调都能进行hook,本身改的是操作系统的内存,而不是该驱动的内存

 

图片描述

 

回调挺频繁的,做注入好像也可以

 

说的不对的地方欢迎大佬来指点


[公告] 欢迎大家踊跃尝试高研班11月试题,挑战自己的极限!

最后于 2021-10-11 11:41 被豆大编辑 ,原因: bug修改
收藏
点赞3
打赏
分享
最新回复 (8)
雪    币: 23
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
豆大 活跃值 2021-10-10 13:16
2
0

...

最后于 2021-10-11 10:28 被豆大编辑 ,原因: 写错了
雪    币: 215
活跃值: 活跃值 (388)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
尼古拉斯大拿 活跃值 2021-10-10 18:52
3
0
膜拜
雪    币: 7570
活跃值: 活跃值 (9014)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
SSH山水画 活跃值 4 2021-10-11 09:10
4
0

奥里给!

最后于 2021-10-11 10:30 被SSH山水画编辑 ,原因:
雪    币: 653
活跃值: 活跃值 (252)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
闲人_ 活跃值 2021-10-17 20:50
5
0
mark
雪    币: 4635
活跃值: 活跃值 (681)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
superlover 活跃值 2021-10-18 07:46
6
0
思路真棒,改链表没有改函数,pg也只能干瞪眼。
雪    币: 21
活跃值: 活跃值 (59)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
AntiPsycho 活跃值 2021-10-19 16:41
7
0
雪    币: 243
活跃值: 活跃值 (73)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
恒大 活跃值 2021-10-19 19:17
8
0
豆大 ...
Hi
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
大魔法狮子 活跃值 5天前
9
0
这个不触发蓝屏的嘛,阿巴阿巴
游客
登录 | 注册 方可回帖
返回