鄉民101熱門

搜索

[遊戲] 解析目前CSGO遊戲中的防外掛機制 VAC檢測是如何檢測外掛的 -Merccy2

[複製鏈接]

凡德賽|發帖時間:2017-8-5 12:29:46 查看:3765|回復:0

什麼致使外掛被VAC檢測

如果你想讓外掛不被封禁第一件你所需要的事情就是知道VAC怎麼檢測外掛。


VAC引擎系統已經被其他人通過反編譯理解了運行方式。它僅僅使用了特徵碼掃瞄而沒有使用啟發式掃瞄
啟發式掃瞄通過分析程序行為來進行判斷是否作弊。比如外部輔助用」WriteProcessMemory」這Call來進
行寫CSGO內存。如果VAC加入啟發式掃瞄那麼他可以知道有一個程序想要往CSGO內存中寫點什麼並且寫的是
什麼,如果寫入內容不合法將自動封禁。


而特徵碼掃瞄僅僅是掃瞄當前所有運行進程的數據中有沒有未知特徵碼的存在,如果存在則上傳與數據庫進
行交叉比對,如果存在已加入封禁數據庫中的特徵碼則進行封禁,不存在則進行分析是否為作弊代碼。


理解參考:騰訊安全實驗室」對於CSGO VAC系統的分析報告」中線程檢測及模塊檢測,地址:http://gsla
b.qq.com/article-277-1.html



這張由黑色與紅色方塊組合成的圖代表著應用程序的內存數據。


特徵碼事實上就是一個數列,整個這張圖也可以作為一個序列,但是VAC並不採取這種方法,因為這樣輔助程序隨便修改其中一個小方塊就對應不了特徵庫中
的特徵碼了。



如果在服務器端分析結果是作弊代碼,則VAC將這個應用程序中的隨機一段方塊(圖中紅色)組成的序列作為特徵碼加入到封禁特徵庫,再有發現則進行封
禁。
這就是VAC為什麼只能作用在內存外掛中的原因。



除此之外VAC還能檢測某些鉤子



什麼是鉤子?
內存輔助工作的方式就是將CSGO中的某一部分代碼重定向到輔助代碼。這個過程被稱為hook,翻譯過來就是鉤子。如果有許多人在以相同的方式重定向CS
GO某部分代碼到同一個進程(輔助),可能會讓VAC判斷疑似外掛而上傳分析。因為CSGO自己也需要調用內部數據,大部分情況下都是重定向後的進程(輔助)進行封禁。小部分情況只要有進程以某種方式進行重定向這個數據則立即封禁,也成為寫法封禁(參考已經死去的Yami)。


如何過VAC檢測
如果你擁有這個輔助的源代碼並且懂編程語言,那麼你重新讓他過檢測就很容易了,複雜一點的方法就是更改功能的編寫方法,更多的情況則是在不同的位
置添加垃圾代碼。
兩種方法都可以有效的修改輔助的特徵碼(相當於把紅色序列中的一小塊換成了黑色塊,紅色序列就斷掉了,跟VAC特徵庫中的序列不能匹配)
如果你沒有這個輔助的源代碼,但是又想讓他過檢測,可以嘗試加VMP殼及Engma等混淆殼來測試。






鄉民都在看


鄉民說什麼


回復

使用道具 舉報

快速回復 返回頂部 返回列表