前幾天在關於三角洲的文章中聊過了三角洲的程序員利用內核級權限偷偷修改用戶的電腦設置,今天聊聊內核反作弊之恥,EAC(Easy Anti-Cheat),也就是大家耳熟能詳的“小藍熊”。
通過百度可以得知:小藍熊作爲來自美國的遊戲反作弊系統,在其上線初期憑藉其內核級反作弊技術,得到了很多投資商的認可,2019 年,Epic Games 宣佈爲遊戲開發者提供免費的 “在線服務項目(即 EOS)”,爲後續 EAC 的廣泛應用奠定了基礎。
壞就壞在免費這件事上,一堆想着省錢的廠商都因此採用了小藍熊作爲反作弊首選,包括《Apex 英雄》《艾爾登法環》《堡壘之夜》等。
EA那麼多掛哥不封,綠玩天天誤封
按理說,內核級的反作弊軟件有極高的系統權限,其反作弊的手段非常之多,包括但不限於以下手段:
進程監控與管理
進程行爲分析:反作弊軟件會持續監測遊戲進程以及相關進程的行爲。通過分析進程的啓動、運行、關閉等過程,檢查是否有異常的進程活動,如突然出現不明來源的進程與遊戲進程進行交互,或者遊戲進程出現異常的資源佔用、操作頻率等情況,以此判斷是否存在作弊程序在後臺運行。
查看系統資源佔用
進程注入檢測:檢測是否有未經授權的進程注入到遊戲進程中。作弊程序常常通過注入代碼或 DLL(動態鏈接庫)文件到遊戲進程來實現作弊功能,內核級反作弊軟件會監控進程間的內存訪問和代碼注入行爲,一旦發現有非遊戲自身的代碼或數據被注入到遊戲進程,就會判定爲作弊行爲並進行攔截。
使用shellcode採用反射式注入dll演示
內存保護與監控
內存讀寫檢測:對遊戲進程所佔用的內存空間進行嚴格的讀寫監控。正常情況下,遊戲程序對內存的訪問是有一定規律和範圍的,而作弊程序爲了修改遊戲數據、獲取遊戲內部信息等,會試圖以非法的方式讀寫遊戲內存。反作弊軟件會檢查內存讀寫操作的來源、地址、數據內容等,一旦發現異常的內存讀寫行爲,如對關鍵遊戲數據的不合理修改,就會觸發檢測機制。
大名鼎鼎的CE修改器(Cheat Engine)就是藉助內存掃描定位與修改技術進行作弊的。
內存完整性校驗:定期對遊戲內存中的關鍵數據和代碼進行完整性校驗。通過計算內存數據的哈希值或使用其他校驗算法,將當前內存狀態與已知的正確狀態進行對比,若發現內存數據被篡改或破壞,說明可能存在作弊行爲。
永劫無間就要求必須關閉系統內核隔離中的內存完整性檢測,因爲其反作弊文件NaceSafe.sys與內核不兼容
系統調用攔截與分析
系統調用監控:攔截和監控系統調用是內核級反作弊的重要手段之一。系統調用是應用程序與操作系統內核交互的接口,作弊程序在進行作弊操作時,往往需要通過系統調用獲取系統資源或執行特定操作。反作弊軟件會在內核層攔截這些系統調用,檢查調用的參數、來源和目的,分析是否存在異常的系統調用行爲,如通過系統調用獲取遊戲敏感信息或修改系統設置等。
鉤子(Hook)檢測:作弊程序常常會利用hook來攔截系統消息或函數調用,以實現作弊功能。內核級反作弊軟件會檢測系統中是否存在非法的鉤子,通過分析鉤子的安裝位置、作用對象和執行邏輯,判斷其是否爲作弊程序所設置的惡意鉤子,並進行相應的處理。
hook可以理解爲通過攔截系統或者應用中的事件,信號和調用,作爲行爲代理者來更改系統或者應用的第三者
代碼簽名與驗證
遊戲代碼簽名驗證:在遊戲啓動時,反作弊軟件會對遊戲的可執行文件、動態鏈接庫等代碼進行簽名驗證。遊戲開發商會對遊戲代碼進行數字簽名,反作弊軟件通過驗證簽名來確保遊戲代碼的完整性和真實性,防止遊戲文件被篡改或替換爲包含作弊代碼的版本。
數字簽名就是採用密碼學技術,生成遊戲的完整性和安全性證明
反作弊軟件自身簽名保護:爲了防止反作弊軟件本身被破解或篡改,反作弊軟件也會對自身的代碼和數據進行簽名保護。通過數字簽名技術,確保反作弊軟件在運行過程中的完整性和合法性,防止作弊者通過修改反作弊軟件的代碼來繞過檢測機制。
小藍熊真的能保護自己嗎?b站一搜全是繞過攻略
行爲分析與機器學習
玩家行爲建模:通過收集和分析玩家在遊戲中的各種行爲數據,建立玩家行爲模型。這些數據包括玩家的操作頻率、操作順序、遊戲角色的移動軌跡、攻擊方式等。反作弊軟件會根據大量的正常玩家行爲數據,構建出正常行爲的模式和範圍,當玩家的行爲明顯偏離這個模式時,就會被標記爲可疑行爲。
在GDC 2018上,Valve遊戲工程師John McDonald介紹了度假社用深度學習反CS外掛的技術,稱其“至少找出了大部分開掛者的罪證”
硬件層面檢測
這應該是目前當下最火的反作弊手段,隨着DMA作弊技術大行其道,最有效的反DMA技術就是硬件檢測,主要包含以下兩種:
設備硬件庫檢測:建立海量的設備硬件庫白名單與黑名單,收集各種合法設備的信息,包括設備的 VID(供應商 ID)、PID(產品 ID)、硬件特徵等。在遊戲運行時,掃描玩家設備,對比硬件庫中的數據,若發現有未識別的可疑設備,或者設備的特徵與已知的 DMA 作弊硬件相似,就可能存在 DMA 作弊。
設備連接與行爲監測:監測設備的連接情況,如是否有異常的新設備突然接入系統。關注設備在系統中的行爲,比如是否有設備頻繁進行不尋常的內存訪問請求,或者與遊戲進程有異常的交互,可通過分析設備的 I/O 操作、數據傳輸量等判斷設備行爲是否正常。
外設設備並不是直接與CPU進行通信,而是與設備IO控制器通信。
分析完了這一系列反外掛技術,就可以聊一聊爲什麼小藍熊這麼難用了,說到底就是兩個詞:隱私and成本。
EAC的官網宣傳語
首先是隱私問題,在EPIC GAMES 隱私政策中epic強調了”我們使用各種反作弊和防欺詐技術幫助我們識別和防止惡意活動。這些服務可能會收集和分析有關您的計算機或您計算機上軟件的數據以偵測作弊行爲,並且可能由 Epic 或服務提供商提供“。算是免責聲明,但是事實上,歐美的法律嚴格約束了其能力,使其不能像某些國內廠商一樣肆無忌憚的窺探你的電腦,自然反作弊效果大打折扣。
另一方面,從遊戲廠商的角度分析,多一事不如少一事,建立完善的反外掛系統需要大量的資金、人力和時間投入。遊戲廠商需要組建專業的反外掛團隊,不斷進行技術研究和工具開發,這對於一些中小廠商來說是巨大的負擔,因此有時會爲了保證遊戲的更新和運營節奏而在反外掛方面有所妥協。
小藍熊作爲一款免費的反作弊程序,也不會值得EPIC投入重金進行研發(E寶的錢都拿來送遊戲了,地主家也沒餘糧啊)
很多3A遊戲近年開發成本激增,特別是索尼系,蜘蛛俠2的開發成本據報道超3億美元
更有甚者,部分比較邪門的遊戲廠商(我可沒說是喫雞)可能擔心過於嚴格的反外掛措施會導致玩家流失到競爭對手的遊戲中,認爲寬鬆的反外掛政策可以吸引更多玩家。爲了保持遊戲在市場中的競爭力,可能會在反外掛力度上有所保留,以免因嚴格打擊外掛而使部分玩家感到不便或不滿。
大名鼎鼎的就是號稱”賽博2戰”的戰地炸服事件,也促使部分廠商對掛哥妥協和縱容
總而言之,反外掛與外掛這對矛與盾,始終在遊戲世界中進行着激烈博弈。小藍熊和其他一部分反作弊軟件,如EA AC(EA Anti-Cheat)和戰眼(battleye),雖有着看似強大的內核級反作弊技術與權限,但受限於隱私政策、成本考量等因素,難以充分發揮其效能,淪爲玩家口中的 “內核反作弊之恥”。
但另一方面,一些反作弊軟件動不動就全盤掃描和和深度監控用戶的計算機系統,也讓人感到蠻難受的。反作弊軟件在追求強大的作弊檢測能力時,也應該權衡全盤掃描等激進措施所帶來的負面影響,尋找更加平衡、有效的反作弊解決方案,既能維護遊戲的公平性,又能最大程度地保障玩家的權益和遊戲體驗。
更多遊戲資訊請關註:電玩幫遊戲資訊專區
電玩幫圖文攻略 www.vgover.com