本期內容會稍稍長一點,請謹慎服用(文長慎入)
Battleye 大部分人知道這個可以說藍星最強反作弊的原因是吃雞大火
但是 眾所周知 BE在吃雞上的發揮很差 其中原因很多 但是這就是另外一個故事了(xd)
那麽我們結合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%的去計算和校驗地圖級別的破壞數據,想要計算就只能放棄精細度。那麽這個方法的好處在於
反作弊,比如穿墻外掛就幾乎不可能了,某能穿加固墻的外掛開了穿墻就只能活6個小時
節省服務器資源
會有很多UB的企業特色
壞處在於
玩家和服務器之間幾乎不可能做到100%的破壞效果同步,自爆兵和翻窗戶被彈回來也是因為這個
低級別精度的模擬就代表有漏洞可鑽