首页
社区
课程
招聘
[原创]转行了,发个利用vt保护进程内存的解决方案+读写任意内存。只针对BE/EAC
发表于: 2020-9-3 10:56 21059

[原创]转行了,发个利用vt保护进程内存的解决方案+读写任意内存。只针对BE/EAC

2020-9-3 10:56
21059

这个方法的出现,还是大表哥几年前在别的论坛上发的一张图,利用VT使自身内存读出来是别的进程的效果。又或者是让自己去读一个随意的进程读出来的却是别的进程的效果,从而一次性的解决了保护内存和读写的问题,到我发出来的今天,这个方法还是处于未被检测的状态。

因为他没透露具体细节,所以不清楚代码或者原理是不是一样的。当时研究的时候对驱动还是小白,代码的写法又或者是蓝屏问题上的考虑是很欠缺的,(代码很丑,蓝屏率很高,而且不支持有声卡的电脑,到今天也不清楚原因。不过如果电脑是新装的系统,就原版的那种,蓝屏率还是很低的。

基本框架使用的HyperPlatform,真好用。

原理:

cr3切换时,判断上下文来选择是否给正确的cr3。

cr3切换时的代码:

要用到判断的上下文其实就是kiattachprocess/kistackattachprocess,这个利用驱动附加自身/r3层读写别的内存,很容易就可以自动得到这两个函数的特征,AutoK/AutoKA就是干这个事情的。

读写:

原理很简单,就是驱动和r3约定一个读或者写的对象进程,例如QQ或者任意你能打开的进程,然后再约定一个真正要被读写的进程,这样就可以达到r3直接readprocessmemory读写进程就可以达到操作内存的效果。

有一个坑就是,对于BE的游戏需要读和写的对象进程分开来,不然会导致封禁,这个检测就很有意思。


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

最后于 2020-9-3 10:58 被萌克力编辑 ,原因:
收藏
免费 4
支持
分享
最新回复 (23)
雪    币: 914
活跃值: (2468)
能力值: ( LV5,RANK:68 )
在线值:
发帖
回帖
粉丝
2
我改我自己,貌似并不需要VT
2020-9-3 11:25
0
雪    币: 7065
活跃值: (3106)
能力值: ( LV4,RANK:52 )
在线值:
发帖
回帖
粉丝
3
万剑归宗 我改我自己,貌似并不需要VT
可能是怕别人扫描PTE表,然后露馅了吧?更何况,退一步讲,VT还能占个坑啥的
2020-9-3 11:48
0
雪    币: 12848
活跃值: (9147)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
4
HyperPlatform 这玩意在双CPU系统上分分钟PatchGuard炸裂,想拿这个商用化的多多少少沾点
2020-9-3 11:59
0
雪    币: 137
活跃值: (1375)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
不懂就问 这样保护有什么用呢.... 系统回调依然可以得到正确的CR3
2020-9-3 12:29
1
雪    币: 22
活跃值: (443)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
2020-9-3 12:35
0
雪    币: 6
活跃值: (1146)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
终于想通了,哈哈
2020-9-3 13:07
0
雪    币: 12356
活跃值: (5879)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
8
hzqst HyperPlatform 这玩意在双CPU系统上分分钟PatchGuard炸裂,想拿这个商用化的多多少少沾点
请教一下,他这种读写其实就是为了ring3下readprocessmemory不打开目标进程的句柄吧?还有这部分保护进程也是在切换cr3时发生的,如果直接读物理地址岂不是无效了?
2020-9-3 13:52
0
雪    币: 433
活跃值: (1910)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
9

   1

最后于 2020-9-3 14:35 被萌克力编辑 ,原因:
2020-9-3 14:34
0
雪    币: 433
活跃值: (1910)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
10
hhkqqs 请教一下,他这种读写其实就是为了ring3下readprocessmemory不打开目标进程的句柄吧?还有这部分保护进程也是在切换cr3时发生的,如果直接读物理地址岂不是无效了?
是的,所以我也只是说了在帖子发出来的时候,针对BE/EAC,他们的内存检测是无效的
2020-9-3 14:36
0
雪    币: 433
活跃值: (1910)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
11
huojier 不懂就问 这样保护有什么用呢.... 系统回调依然可以得到正确的CR3

仅针对目前的BE/EAC,而且,也并不是保护cr3不被拿到

最后于 2020-9-3 14:39 被萌克力编辑 ,原因:
2020-9-3 14:38
0
雪    币: 364
活跃值: (1736)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
12
转行做那方面?
2020-9-3 14:39
0
雪    币: 6166
活跃值: (4942)
能力值: ( LV10,RANK:160 )
在线值:
发帖
回帖
粉丝
13
大表哥 永远滴神 
2020-9-5 04:58
0
雪    币: 83
活跃值: (1087)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
14
be r0是怎么检测的 他怎么知道当前附加的进程是哪个
2020-9-5 13:38
0
雪    币: 83
活跃值: (1087)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
15
看了一下 就是 附加进程读写的时候 判断 如果附加的是跳板进程 那就给他真实cr3 退出附加 再次附加进真实进程eprocess  完后返回 让r3通过附加跳板进程eprocess达到读写真实进程内存的目的  如果被附加的进程是我们要保护的进程 那就写入csrss的cr3 再unattach一下 再次attach进跳板eprocess 完后导致对方读写的是csrss的内存 以为你有代码 连代码都不分享啊
2020-9-5 14:03
0
雪    币: 433
活跃值: (1910)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
16
killpy 看了一下 就是 附加进程读写的时候 判断 如果附加的是跳板进程 那就给他真实cr3 退出附加 再次附加进真实进程eprocess 完后返回 让r3通过附加跳板进程eprocess达到读写真实进程内存 ...
我分享的就是代码啊
2020-9-5 15:17
0
雪    币: 433
活跃值: (1910)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
17
killpy be r0是怎么检测的 他怎么知道当前附加的进程是哪个
是eac会检测当前附加对象,估计也就是attach之后_readcr3一下
2020-9-5 15:18
0
雪    币: 46
活跃值: (1740)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
这玩意就是自己读自己,比如说,my.exe在r3去读game.exe,在内核层需要KeStackAttachProcess、KeUnstackDetachProcess,当__writecr3(cr3)的时候,直接在vmm_exit_dr3里面KeUnstackDetachProcess还原环境之后,再次附加KeStackAttachProcess,不过KeStackAttachProcess第一个参数是game.exe的peprocess地址,这样就是自己读自己。 其他的话不想让驱动保护读自己的话,也是类似,你想读my.exe,我给你读csrss.exe。差不多是这个意思吧。
2020-9-13 17:16
0
雪    币: 46
活跃值: (1740)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
好像理解错了。
2020-9-14 18:40
0
雪    币: 156
活跃值: (46)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
2020-11-21 22:38
0
雪    币: 477
活跃值: (1412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
都是那方面的高手,怎么检测呢
2020-11-21 22:49
0
雪    币: 433
活跃值: (1910)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
22
mb_foyotena 都是那方面的高手,怎么检测呢
太多检测方法了,不过AC一般不会从这些方面进行检测。过了四个月再来看商业化已经几乎不可能了,但是当玩具也还是无敌的。
这个行业大部分过的好的人,要么是团队过硬,要么就是思路够清奇。
2021-3-16 02:20
0
雪    币: 433
活跃值: (1910)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
23
wujimaa 转行做那方面?
实体
2021-3-16 02:25
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
24
我怎么感觉像是在大炮打蚊子
2021-9-22 20:32
0
游客
登录 | 注册 方可回帖
返回
//