彩虹六号吧 关注:663,568贴子:15,306,699

浅谈Battleye(BE)反作弊以及R6反作弊技术

只看楼主收藏回复

已获得转载授权,原帖https://www.bilibili.com/read/cv1159859
Battleye 大部分人知道这个可以说蓝星最强反作弊的原因是吃鸡大火
但是 众所周知 BE在吃鸡上的发挥很差,其中原因很多,但是这就是另外一个故事了
那么我们结合R6来聊一聊BE到底是啥
防守----主要讲的是BE的生产环境下,反外挂有很多被动的方式。
关键词:内核
如果你不关闭“杀软”以及“UAC” 外挂几乎无法工作
内核其实并不算难,你只需要有一个赛门铁克的EV签名外加一本《windows驱动编码入门到弃坑》等等专业书籍就能写一个内核,be其实没有拿“内核”作为自己的卖点,但是这是一个基础。但是这里的难度在于,外挂的内核或者说驱动是几乎不可能使用EV签名的。举个例子,比如“赛门铁克微软EV代码签名证书”(Symantec EV Code Signing Certificates)是可以对内核进行签名的,这样windows 的内核才会把他作为(信任)。虽然7 8k的价格倒也算上廉价,但是一旦拿签名去搞外挂,被拉黑名单才是最惨的。
这里 BE的签名是DigiCert颁发的DigiCert High Assurance Code Signing,那么他就是支持的“Microsoft Kernel-Mode Code Signing” 也就是微软内核代码签名。需要注意的是,如果windows10开启开发者模式,是不会校验内核驱动签名的,那么这个时候BE也是“无法运行”的。
那么很多人就问了,烂大街的“台湾驱动”也没见过有啥签名啊?。人家不用内核签名照样能运行啊,这就是为什么要让你关“杀软”以及“UAC”的原因了。具体这里不多进行赘述
分割线-------------------------------------
关键词:FF(FairFight)
PVP环境下,服务器同步模式下的数据采集几乎成为了反作弊引擎最有效也是最滞后的手段
关键词:大数据
如果有1000个有作弊嫌疑玩家的电脑上都启动了一个“xxx.exe”的程序,那就有很多问题可以解释了
关键词:同步模式
Client-Server模式带来的好处就是反作弊
BE的被动模式工作的其实很简单也很有效,在Client-Server同步模式下,R6也是不久才升级到60Hz的服务器的。简单来说,就是每秒钟和玩家的电脑同步60次。那么这每次同步的数据和玩家的鼠标啊,键盘的操作啊,游戏内的血量啊等等数据均会被FF以及BE自带的数据采集模块采集并上传到服务器,这些数据的直接作用我可以举几个例子》》》》
1.R6的改名
2.R6瞬移以及传送手雷
但是这些数据严格来说是“天书”,这也就需要开发商对自己的游戏引擎有足够的了解才能配合BE的技术部门进行分析。R6的反外挂为什么如此出色很大程度就是因为R6制作小组的专业性,反观蓝洞,由于使用了过多的公开的素材和引擎以及对制作小组的不专业性,导致各种恶性外挂层出不穷。
那么这么多数据堆叠在一起其实就是大数据,当然随着新的欧盟隐私的规定,be第一次启动也是需要点“知情同意书”了。
这里比较有意思的点在于,为什么r6的bug和服务器非常土豆,这也是目前市面上代价极高的反作弊“服务器运算”
类似的例子比如EVE比如坦克世界,均是把数据计算交给服务器的游戏,这种游戏的特点就是几乎不存在内存修改的外挂,但是r6把破坏数据在服务器完全100%计算一遍几乎不可能,开销太大。那么众所周知的“因为反作弊的需求,你需要把破坏引擎放在服务器上也执行一遍”,同时还要把这些破坏同步到玩家的pc上去,R6是怎么做到的呢?
按照我的猜测,答案是放弃细节
举个例子 在你(客户端)眼中世界是

其实在计算机的视角中

那么在服务器同时计算整个地图的破坏的时候,我们可以降低到

甚至于

PS:我猜这里会有人怼我
说白一点,服务器不可能100%的去计算和校验地图级别的破坏数据,想要计算就只能放弃精细度。那么这个方法的好处在于
1反作弊,比如穿墙外挂就几乎不可能了,某能穿加固墙的外挂开了穿墙就只能活6个小时
2节省服务器资源
3会有很多UBI的企业特色
坏处在于
1玩家和服务器之间几乎不可能做到100%的破坏效果同步,自爆兵和翻窗户被弹回来也是因为这个
2低级别精度的模拟就代表有漏洞可钻


IP属地:浙江1楼2018-09-15 18:32回复
    该楼层疑似违规已被系统折叠 查看此楼


    IP属地:浙江2楼2018-09-15 18:35
    回复
      好帖马克


      IP属地:广东来自iPhone客户端3楼2018-09-15 18:35
      回复
        前排


        IP属地:四川来自iPhone客户端4楼2018-09-15 18:37
        回复
          一般来说几乎所有的运算都是本地运算的,顶多是把数据上传服务器作判断,如果服务器去计算那成本太大了


          IP属地:广东来自iPhone客户端5楼2018-09-15 18:43
          回复
            建议加精


            IP属地:上海来自Android客户端6楼2018-09-15 18:51
            回复
              建议加精


              IP属地:广东来自Android客户端7楼2018-09-15 18:52
              回复
                前排


                IP属地:江苏来自Android客户端8楼2018-09-15 19:03
                回复
                  前排


                  来自Android客户端10楼2018-09-15 20:00
                  回复
                    关键对我们来说你讲的这些太高深了....


                    来自iPhone客户端11楼2018-09-15 20:03
                    回复
                      没看懂。,


                      IP属地:广东来自iPhone客户端12楼2018-09-15 20:23
                      回复
                        楼主也是神人,转个帖都能给太监了。。


                        IP属地:江苏来自Android客户端13楼2018-09-15 20:31
                        收起回复
                          有点6 看不懂


                          IP属地:山西来自Android客户端14楼2018-09-15 20:34
                          回复
                            E3D这么吊啊,原来不是be不够强,是合作的游戏公司实力不等,比如辣鸡蓝洞就用不好be


                            IP属地:山东来自Android客户端15楼2018-09-15 21:10
                            回复


                              IP属地:北京来自Android客户端16楼2018-09-15 21:35
                              回复