首页
社区
课程
招聘
[原创]仿照EAC的全局异常Hook
发表于: 2023-8-19 19:46 18267

[原创]仿照EAC的全局异常Hook

2023-8-19 19:46
18267

今年初EAC在部分游戏上部署了假CR3保护,具体痕迹如下
没开游戏时:

开游戏后:

原本指向HalpTscQueryCounterOrdered的指针指向了EAC模块内的异常处理函数。
部分系统变量被更改,是为了配合系统顺利调用HalpTscQueryCounterOrdered从而进入异常处理流程。

如果发生异常则会走以下流程
int 3异常, 系统1709

GP异常, 系统21H1


原理:
EAC将自身进程eprocess.dirbase/cr3 的reserved bit设1,其他进程mov cr3, eac_cr3 就会触发#GP 并进入EAC的异常处理流程,EAC在异常处理流程内栈回溯获取相关信息并恢复CR3,Flag调用进程

粗略实现: (仅测试Win10, Win11要修栈)
https://github.com/1401199262/Hook-KdTrap

话说好久之前就发了啊

01 EAC Hook
02 hal!KeStallExecutionProcessor+0xac
03 nt!KeFreezeExecution+0x26a
04 nt!KdEnterDebugger+0x64
05 nt!KdpReport+0x71
06 nt!KdpTrap+0x14d
07 nt!KdTrap+0x2c
08 nt!KiDispatchException+0x15f
09 nt!KiExceptionDispatch+0x11d
0a nt!KiBreakpointTrap+0x318
01 EAC Hook
02 hal!KeStallExecutionProcessor+0xac
03 nt!KeFreezeExecution+0x26a
04 nt!KdEnterDebugger+0x64
05 nt!KdpReport+0x71
06 nt!KdpTrap+0x14d
07 nt!KdTrap+0x2c
08 nt!KiDispatchException+0x15f
09 nt!KiExceptionDispatch+0x11d
0a nt!KiBreakpointTrap+0x318
00 EAC Hook
01 nt!KeStallExecutionProcessor + 0x120
02 nt!KeFreezeExecution + 0x110
03 nt!KdEnterDebugger + 0x6d
04 nt!KdpReport + 0x74
05 nt!KdpTrap + 0x160
06 nt!KdTrap + 0x2d
07 nt!KiDispatchException + 0x177
08 nt!KxExceptionDispatchOnExceptionStack + 0x12
09 nt!KiExceptionDispatchOnExceptionStackContinue
0a nt!KiExceptionDispatch + 0x125
0b nt!KiGeneralProtectionFault + 0x320

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2023-8-19 20:38 被Pipi1337编辑 ,原因:
收藏
免费 7
支持
分享
打赏 + 5.00雪花
打赏次数 1 雪花 + 5.00
 
赞赏  一位没有留下痕迹的看雪读者   +5.00 2024/05/13 感谢分享~
最新回复 (17)
雪    币: 11
活跃值: (822)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
pipi牛逼
2023-8-19 21:25
0
雪    币: 147
活跃值: (345)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
pipi牛逼
2023-8-19 23:50
0
雪    币: 206
活跃值: (2634)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
速度真快
2023-8-20 03:21
0
雪    币: 46
活跃值: (1750)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
不出发PG吗?
2023-8-20 12:45
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
cheating 不出发PG吗?
和infinity hook一个位置,估计以后就修了
2023-8-20 18:38
0
雪    币: 231
活跃值: (2631)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
7
Qemu+Windbg怎么设置的
2023-8-20 19:24
0
雪    币: 46
活跃值: (1750)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
mb_qxylmmzv 和infinity hook一个位置,估计以后就修了
那就是低版本能用用
2023-8-20 19:31
0
雪    币: 3535
活跃值: (31016)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
感谢分享
2023-8-20 23:29
1
雪    币: 914
活跃值: (2548)
能力值: ( LV5,RANK:68 )
在线值:
发帖
回帖
粉丝
10
new bee
2023-8-21 12:10
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
11
cheating 那就是低版本能用用
从win7到最新版win11都能用,不pg
2023-8-21 15:53
0
雪    币: 12848
活跃值: (9167)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
12
EAC:已举办
2023-8-22 00:07
0
雪    币: 1290
活跃值: (2332)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
13
感谢分享
2023-8-22 19:07
0
雪    币: 3744
活跃值: (3151)
能力值: ( LV8,RANK:147 )
在线值:
发帖
回帖
粉丝
14
mark
2023-8-25 18:50
0
雪    币: 3836
活跃值: (4142)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
6666666666
2023-8-26 20:24
0
雪    币: 516
活跃值: (1888)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
大佬,想问问GetExceptionStackOffset这个偏移是怎么得来的
2024-7-7 08:26
0
雪    币: 516
活跃值: (1888)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
我知道了,太低的版本没有这个成员,比如我用的1809
2024-7-7 08:34
0
雪    币: 535
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
18
感谢分享
2024-7-7 10:55
0
游客
登录 | 注册 方可回帖
返回
//