Re: [問題] 為什麼FPS遊戲的外掛那麼難防?

作者: pponywong (pony)   2020-04-22 23:27:47
※ 引述《forsakesheep (超歐洲羊)》之銘言:
: 如題,從CS到近期的PUBG到最近的Valorant
: 外掛一直是一個很大的問題
: 遊戲公司拼了命的防外掛,但是外掛還是層出不窮
: 所以FPS遊戲的外掛為什麼那麼難防?
: 是因為追求即時性所以沒辦法在每個細節做太多檢查嗎?
: 還是什麼根本性的問題?
: 因為我也不太懂程式運作方面的知識,不知道有沒有懂的板友能解說一下
:
認真回你
先講我沒做過外掛 所以講錯幫我訂正一下
聯網型 FPS 網路封包主要傳幾件事情
上傳自己的位置 自己的某些動作 (蹲下, 爬行) 比如開箱子 開槍之類的
下載敵人的位置 跟敵人的動作
至於地圖這麼大 當然是直接用本地硬碟的就好了
那這邊就有可以作弊的地方
拿最簡單的透視來說好了 玩FPS一定會有牆
如果敵人的座標在牆後面 正常遊戲你一定是看不到的啦
那如果你用某些技術 拿到了你電腦下載了敵人位置的資料
然後再把資料 repost 到遊戲上 把敵人位置 畫一個框框
就等於是透視了敵人
那怎麼攔截 遊戲程式的網路封包就是第一個要做的
遊戲保護措施不講 因為我也不懂 QQ
先講攔截封包就好
這技術就是 DLL Injection
DLL Injection 有兩種方法
1. JMP instruction insertion
2. IAT (Import Address Table) Patch
要懂這些 請先搞懂
組合語言 (assembly code)
執行檔格式 Windows 是 PE 檔, Linux 是 ELF 檔
系統函式 (Win API, Linux system call)
不過時代在進步 很多東西都開源了
這種 library 可以在網路上找到
想想自己以前還花了大把的時間學 ....QQ
https://easyhook.github.io/
https://github.com/microsoft/Detours
特別提一下 Detours 他是微軟出的 library
專門在 Windows 作業系統做 dll injection
所以對於整個 Windows 系統的理解
還有 coding style 是最優的
曾經只有 32 位元版本 是免費的
要 64 位元版本要一萬美金
現在整包支援 64 位元的原代碼放到網路上
小朋友 要學 dll injection 的可以看微軟叔叔怎麼做的
攔截到封包之後 就是解譯
每個遊戲加解密的技術不一樣
封包表示也不同 反正就是花時間
之後做 repost 的動作
可以再開一個程式 直接疊一層畫面在FPS上面也可以
至於 FPS外掛 為什麼這麼難抓
因為他沒有修改任何 伺服器端的資料
而且他只是個輔助程式 跟Bot的行為差異很大
最後 即使你遊戲防得再好
FPS外掛還是可以有其他方式可以存在
就是把遊戲畫面每張都擷取下來 做外掛輔助就好了
遊戲 FPS (frame per second) 60
那我就每次 vsync 來時擷取 1 張畫面
每張畫面 經過AI的圖形識別 找出描出敵人的位置
讓滑鼠準星跟住敵人
我沒辦法透視 但是我總可以跟槍吧
每 1/60 秒我就可以鎖定敵人
你敵人跑那 跳哪都沒用
大概是這樣...
作者: owo0204 (owo0204)   2020-04-22 23:31:00
ptt討論外掛會不會違規啊原po自己小心
作者: pinacolada (西洽的包皮饅頭很獵奇)   2020-04-22 23:31:00
素材透明化
作者: flysonics (飛音)   2020-04-22 23:33:00
PE其實是檔案格式啦 副檔名沒有叫PE的唉啊看到這個好懷念喔 XD
作者: forsakesheep (家裡蹲魯廢肥宅)   2020-04-22 23:38:00
這太專業了我看不懂,不過還是感謝說明
作者: orze04 (orz)   2020-04-22 23:39:00
小心啥 這只是概念上的解釋罷了至於你說截60張用圖形辨識找輪廓跟槍 這應該難度很高
作者: tkigood (提谷德)   2020-04-22 23:42:00
這離實作遠得很,講講概念而已,哪有什麼危險的
作者: orze04 (orz)   2020-04-22 23:42:00
train模型就先死了
作者: tom282f3 (學妹戰士)   2020-04-22 23:45:00
作者: youareabitch (超健全空間)   2020-04-22 23:48:00
跟槍外掛你寫得出來我也是佩服 難度飛天了不過真寫出來 大概也真的是拿你沒辦法敵人位置也不需要欄封包 我看過的遊戲都是讀記憶體就夠惹
作者: je789520 (hihigogola)   2020-04-23 00:39:00
看沒
作者: bndan (seed)   2020-04-23 00:53:00
當遊戲客端資料全都上雲 解畫面的外掛會變成主流 XD 但這塊門檻就不是只會截資料寫程式的阿貓阿狗能過的了

Links booklink

Contact Us: admin [ a t ] ucptt.com