- 注册时间
- 2021-4-16
- 最后登录
- 2024-3-2
- 在线时间
- 1 小时
编程入门
- 龙马币
- 38
|
这两年国内吃鸡开始流行了,可是我前年就玩腻了,我玩吃鸡不是玩游戏,是玩他的反辅助系统,正所谓与AC(Anti Cheat)斗其乐无穷啊,哈哈,这里分享当年的一些bypass小经验,现在还管不管用我不知道了,权当跟各位大神分享讨论把,已经知道大神的就别喷我了,如果有更好的思路也希望不吝赐教,毕竟我只是彩笔一个
只说思路,源码后头硬盘上翻翻,找到就发出来
我打字慢,一点一点更新,勿怪
越过BE(以及其他反辅助系统)有两个重要环节
1.读取被驱动保护的内存
2.防止读写行为被发现
一个环节一个环节说
读取被驱动保护的内存主要有两种手段
1.克隆handle,这个方法前年公开(也有可能早就公开了就是我不知道,唉),从系统进程cssrs.exe handle出来,这个方法好处是百发百中,成本低,开发周期短,弊端也很明显,就是克隆出来的handle跟cssrs.exe中的handle ID一毛一样,很容易被发现,不过这个方法至今仍有生存空间,关键在于如何隐藏被克隆的handle。这个后面再说
2.利用驱动读写内存,这里面有两个分支,可以选择氪金(买驱动签名,当然你有本事偷到那最好),买来的签名只有你一个人用,自然生存期会非常长(具体多长我也不知道,毕竟买不起),也可以选择利用已有签名的驱动的漏洞,去年还是前年被公开的GPU-Z的驱动漏洞就是个例子,这个路子的优势是不需要花钱就有认证的驱动用,坏处是漏洞一旦被公开,你知道了别人也知道,生存周期一般不超过3个月,就要换漏洞,如果专业干这行的,可以自己去挖漏洞,其实很多硬件厂商的驱动都有漏洞,未授权内存读写非常常见。
下面说说如何隐藏读写内存行为。
首先说说隐藏handle,因为不管用任何方法读写内存,最终操作的是指向内存进程的handle
handle一旦拿到,想让他消失是不可能的事,除非你释放他,我们能做的就是把他藏起来,或者说让他看起来好像一个正常的线程操作行为,这里面的技巧太多了,我也只懂个皮毛,这里我就说一下我常用的一些方法
1.借尸还魂:注入到一个有数字签名的进程里,然后通过合法进程来打开handle,我喜欢用输入法进程做掩护,因为输入法本身就有各种远程注入行为,所以使用输入法进程藏handle看起来也能掩人耳目。
2.截胡法: 具体步骤:随便用个烂驱动漏洞,把dll注入到杀毒软件一类具有极高线程操作能力(自带合法签名驱动)的线程中,然后挂钩子,够openprocess,然后开始杀毒扫描,等杀毒软件拿到游戏的handle,把handle替换了返回给杀毒软件,这样最后扫描完成杀毒软件就不会正常释放这个handle,这样handle就被截胡了,这个原理是:BE不会让你用烂驱动注入挂钩子,但是杀毒软件没那么敏感(杀毒软件不会ban你的帐号对吧),但是杀软打开目标进程的handle,这就是非常正常合法的行为了。
|
|