首页
社区
课程
招聘
[原创]过EAC HV检测
2022-10-23 16:28 25373

[原创]过EAC HV检测

2022-10-23 16:28
25373

检测代码:

EasyAntiCheat.sys+7DBE6 - 0F78 0A               - vmread [rdx],ecx
EasyAntiCheat.sys+7DBE9 - 0F94 C0               - sete al
EasyAntiCheat.sys+7DBEC - 0F92 C1               - setb cl
EasyAntiCheat.sys+7DBEF - 12 C1                 - adc al,cl
EasyAntiCheat.sys+7DBF1 - C3                    - ret

EasyAntiCheat.sys+7DBFE - 53                    - push rbx
EasyAntiCheat.sys+7DBFF - 57                    - push rdi
EasyAntiCheat.sys+7DC00 - 48 8B F9              - mov rdi,rcx
EasyAntiCheat.sys+7DC03 - 48 33 C0              - xor rax,rax
EasyAntiCheat.sys+7DC06 - F0 FE 07              - lock inc byte ptr [rdi]
EasyAntiCheat.sys+7DC09 - 0FA2                  - cpuid 
EasyAntiCheat.sys+7DC0B - F0 FE 0F              - lock dec [rdi]
EasyAntiCheat.sys+7DC0E - 5F                    - pop rdi
EasyAntiCheat.sys+7DC0F - 5B                    - pop rbx
EasyAntiCheat.sys+7DC10 - C3                    - ret 

EasyAntiCheat.sys+7DC29 - 0F01 3A               - invplg [rdx]
EasyAntiCheat.sys+7DC2C - F0 FE 01              - lock inc byte ptr [rcx]
EasyAntiCheat.sys+7DC2F - 8A 02                 - mov al,[rdx]
EasyAntiCheat.sys+7DC31 - FF D2                 - call rdx
EasyAntiCheat.sys+7DC33 - F0 FE 09              - lock dec [rcx]
EasyAntiCheat.sys+7DC36 - C3                    - ret

之前通过拦截vmread 向客户及注入异常发现无济于事(vmread后还有代码在检测HV),由于本人能力有限,跟不到后面的检测代码,于是就想出了一个办法过掉检测,这里给大家分享一下:


host拦截到vmread指令后,直接修改guest 的rip到自己的驱动代码里面让他一直循环,这样检测HV的这条线程就到vmread不会继续往下执行了。

vmwrite(guest_rip,&EAC_FUCK);
QWORD EAC_FUCK() {

	while (true)
	{
		Kernel_Sleep(10u);
	}
   //可以添加一个全局变量控制循环,跳出循环后要结束线程,不然会炸。
   PsTerminateSystemThread(STATUS_SUCCESS);
   return 0;
}

各位老哥,多发点文章给我学习学习.


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

最后于 2022-10-29 03:50 被麦瑞鸭编辑 ,原因: 错别字
收藏
点赞6
打赏
分享
最新回复 (18)
雪    币: 218
活跃值: (1659)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
麦瑞鸭 2022-10-23 16:39
2
0
FFFFF807D247DFC0 - C7 F8030000           - xbegin FFFFF807D247DFC8
FFFFF807D247DFC5 - 00 0F                 - add [rdi],cl
FFFFF807D247DFC7 - 01 D5                 - add ebp,edx
FFFFF807D247DFC9 - C3                    - ret 
FFFFF807D247DFCA - C7 F80A0000           - xbegin FFFFF807D247DFD9
FFFFF807D247DFCF - 00 8A 01FFD10F        - add [rdx+0FD1FF01],cl
FFFFF807D247DFD5 - 01 D5                 - add ebp,edx
FFFFF807D247DFD7 - B0 01                 - mov al,01
FFFFF807D247DFD9 - C3                    - ret 
FFFFF807D247DFDA - 32 C0                 - xor al,al
FFFFF807D247DFDC - C3                    - ret

这几处检测 vmread 似乎是最后面执行的,至于TSX cpuid invplg 这几处也搞不懂在检测个啥,原理是什么?

最后于 2022-10-23 16:40 被麦瑞鸭编辑 ,原因:
雪    币: 4759
活跃值: (4298)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
~时光荏苒 2022-10-23 17:14
3
0

vmread 直接返回不支持这个功能注入异常不可以吗?还有包括一些别的VMxxx都是直接回返让它显示此计算机不支持VT

最后于 2022-10-23 17:15 被~时光荏苒编辑 ,原因:
雪    币: 218
活跃值: (1659)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
麦瑞鸭 2022-10-23 17:20
4
0
~时光荏苒 vmread 直接返回不支持这个功能注入异常不可以吗?还有包括一些别的VMxxx都是直接回返让它显示此计算机不支持VT
可以啊,但是你注入异常后只能 过掉 vmx指令的检测,他后面还有检测。
雪    币: 218
活跃值: (1659)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
麦瑞鸭 2022-10-23 17:20
5
0
~时光荏苒 vmread 直接返回不支持这个功能注入异常不可以吗?还有包括一些别的VMxxx都是直接回返让它显示此计算机不支持VT

除非你能把后面的检测HV的代码找到,否则你注入异常了也无济于事。

最后于 2022-10-23 17:22 被麦瑞鸭编辑 ,原因:
雪    币: 4759
活跃值: (4298)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
~时光荏苒 2022-10-23 17:28
6
0
https://secret.club/2020/04/13/how-anti-cheats-detect-system-emulation.html 你可以查考一下这个
雪    币: 1519
活跃值: (1982)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
Chords 2022-10-23 21:13
7
0
tsx 是4 代到9代酷睿的一个多线程协同指令 默认关闭 用这个指令检测是因为这个指令触发handle的编号不同没办法捕获
雪    币: 218
活跃值: (1659)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
麦瑞鸭 2022-10-23 22:25
8
0
Chords tsx 是4 代到9代酷睿的一个多线程协同指令 默认关闭 用这个指令检测是因为这个指令触发handle的编号不同没办法捕获
原来如此,怪不得我在正常模式和vt模式跑出的结果都一样,12代
雪    币: 1475
活跃值: (3210)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小希希 2022-10-24 10:11
9
0
mark
雪    币: 192
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_uarifven 2023-1-10 21:29
10
0
麦瑞鸭 FFFFF807D247DFC0 - C7 F8030000    &am ...
给个联系方式 我也在处理vt检测
雪    币: 3350
活跃值: (3372)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
fengyunabc 1 2023-1-21 11:46
11
0
感谢分享
雪    币: 0
活跃值: (46)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
漆黑火焰魔法使 2023-2-3 09:11
12
0
HV是啥?
雪    币: 210
活跃值: (985)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
baggiowo 2023-4-18 19:06
13
0
EASYANTICHEAT.SYS是怎么提取出来的?大神
雪    币: 8
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_punpkihu 2023-4-29 01:13
14
0
大佬有群吗 VT学习萌新
雪    币: 8
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_punpkihu 2023-4-29 01:44
15
0
不循环的话 能直接让这条线程结束吗 
雪    币: 19103
活跃值: (28707)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
秋狝 2023-4-29 12:24
16
0
mark
雪    币: 218
活跃值: (1659)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
麦瑞鸭 2023-5-8 17:22
17
0
mb_punpkihu 不循环的话 能直接让这条线程结束吗
我也在找组织唉,没有群,新手。  直接结束驱动就会卸载,应用层没有通讯也会一起结束。
雪    币: 8
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_punpkihu 2023-5-14 17:09
18
0
创建个群呗,然后往评论区发,我拉人进去
雪    币: 265
活跃值: (1045)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
AlexLoNe 2023-5-24 00:11
19
0
思路清奇
游客
登录 | 注册 方可回帖
返回