吃雞也要講基本法
不然小心被坑
一些差友們應該聽說過最近很火熱的遊戲: 「 吃雞 」。
差評君先給平時不太關注遊戲的差友們介紹一下這款遊戲
官方名稱是 PlayerUnknown's Battlegrounds, 譯名 絕地求生:大逃殺
這款遊戲的玩法特別有意思:
一大堆玩家被空降到一個島上,然後大家利用島上找到的武器來互相傷害,直到剩下最後一個人(或者一支小隊)。
這個遊戲有個安全區的概念,呆在安全區外的人會受到傷害直到被淘汰,這個機制是為了在玩家數量變少之後加快遊戲節奏。
它被叫做吃雞的原因是因為最終贏家的屏幕上會顯示 「 winner winner, chicken dinner "
這句話的中文翻譯不得不說翻得極棒!
很多人為了看到這一幕覺都不睡
說完了吃雞,該說到最近一件遊戲直播圈挺火的事情了。。。
相信不少差友們應該早就聽說過了:黃旭東懟上了鬥魚吃雞主播魔音糯米,說他開外掛!
原因是在一些帖子裡有人認為主播糯米做出的一些操作非常反人類。。。
↓ 引起爭議的操作片段 ↓
這把槍的後坐力不小,需要很高的壓槍技巧才能達到這種效果,還有就是,這槍是半自動的,每發一槍都要點一下滑鼠,這位大神在 2 秒內打了17 發,而且槍槍壓準心壓得賊好。。。
說實話,差評君自己玩兒大逃殺的時候只能給別人當雞飼料,作為一個菜雞,實在是分辨不了這段操作到底是高手超神還是用了外掛。
所以,咱們今天主要講講外掛~
曾經某一款魔獸外掛
相信玩網遊的差友們應該知道外掛是幹啥的:打遊戲的作弊器。
遊戲就是一個程序,遊戲裡發生的事情本質上是一些數據的計算和交換,那麼你想要在遊戲裡作弊,就是要對這些數據做出修改,修改數據的工具就是所謂外掛。
對於單機遊戲,這一步其實不算太難,因為遊戲數據肯定以某種方式儲存在本地,所以想辦法修改文件就可以做到。
其實還好,單機遊戲你再怎麼作弊,也只影響你一個人的遊戲體驗,所以沒什麼人在意。
但是,網路遊戲就不一樣了,因為大家都在玩兒,你要是隨便改會對別人的遊戲體驗產生影響(一般是負面的),尤其是競技遊戲,核心點 公平 被破壞了,還怎麼保持競技性。
大部分網遊的數據都儲存在伺服器中,玩家的操作通過網絡傳到伺服器,伺服器處理後再傳回客戶端,這個過程中沒有本地數據可以修改,因此開發網遊外掛要難不少。
怎麼獲取數據呢?
網遊伺服器和客戶端之間會互相傳遞數據包,直接截取數據包不就完了?
靈魂畫手差評君的作品↓↓↓
然而這種方法其實比想像的難,因為數據包都是加密的啊!
另一種方法是在計算機進程裡找正在運行的遊戲,遊戲運行時會在電腦裡進行一些數據的處理,外掛製作者可以通過逆向思維檢驗彙編代碼來理解這些數據的計算機制,然後通過不斷的測試來發現這些數據在遊戲裡代表的意義,最終寫出外掛來完成修改。
還有一種最簡單的外掛,不用這麼麻煩,只是寫個腳本模擬輸入信號(比如滑鼠點擊的信號),這種外掛一般只能起一些輔助作用例如簡化操作,開發難度也相對低。
腳本外掛
無論如何,這些能做外掛的其實都挺厲害的,幹著這樣高難度的活兒也難怪他們收這麼多錢,還要與時俱進,跟上一次次遊戲的版本更新來更新他們的外掛。
在外掛的世界中,射擊遊戲的外掛一直都層出不窮。
CS:GO 的透視外掛
射擊遊戲因為操作量大,需要大量的計算,而每一次計算都要在伺服器和客戶端之間傳送一次數據就太慢了,滿足不了這類遊戲普遍較快的節奏。
打個比方,想像一個場景:你在遊戲裡一邊移動著人物,一邊移動著鏡頭,這時候跳出來個人你眼疾手快突突突把他打死了。
這個過程中咱們來看看有多少數據交換:
你按鍵移動的信號給伺服器->伺服器計算數據移動了你人物位置->傳到你這裡畫面顯示你移動了。
滑鼠移動同上,只不過你移動的只有鏡頭
對面的人出現在你面前也有類似同上的過程
你開槍->伺服器(計算一個傷害數據)->傳給被你突的人,血量被扣到0->伺服器(判定死亡)->被你突的人倒下->伺服器->你看到那個人倒下
然後還給所有人更新一下擊殺數據
而且差評君根本沒寫全!實際上遠比上面的多(例如判定彈道有沒有擊中)
也許計算機的 CPU 運算速度快到你感覺不到,但是這個網絡的延遲就比較慢了(一般是毫秒級別的),來回這麼多次,加起來就可能有幾秒鐘,這就沒法玩兒了,分分鐘卡死你!
所以射擊遊戲有大量數據運算是在本地完成的,把計算結果整合一下送到伺服器做一些判定。
在上面的突突突場景中,減少網絡通信步驟以後可以這樣:
你開槍突突突,本地計算你打中了對面少了多少血->伺服器->對面扣到0,判定死亡->伺服器->你看到他死了
搞定!
為了讓本地能多做計算,很多信息會實時存在本地,比如說對手的位置,而外掛會通過某種方式獲取這些信息,調整你的準心,讓你跟著瞄準。
說來說去,是不是覺得外掛是由一些酷酷的極客們為了掙外快做出來的高科技玩意兒?
事實上,正如大部分灰色產業一樣,這水深得很。。。
差評君的老朋友振宇(公眾號:一本黑,ID:darkinsider)也挺關注最近的吃雞外掛事件,所以他這次也決定搞個事兒。
他想辦法摸到了一些QQ群,加了進去打算觀察觀察。
收集到的QQ群共享的文件,多半是外掛
透視自瞄外掛Demo
收費外掛多半需要卡密(激活碼)來解鎖使用,這也是他們的賣錢方式。
振宇兄決定先用一個專業黑客的最基本方法:社會工程(就是忽悠),以測試為由向其中一個群主問出一個卡密來。
然後振宇按照群主提供的方法,先打開這個文件
然後把圖中紅框內的東西改成群主提供的卡密,才能試用。
振宇兄那邊的黑客老司機通過脫殼、逆向出偽代碼後,並沒有發現這程序與後臺有交互的信息,拿到的東西都是些不痛不癢的數據,價值不是很大,場面一度十分尷尬。。。
與此同時,群主有點急了,振宇兄只能隨便編個理由糊弄過去。
這次破解看來不太成功。。。
就在這時,另一個群裡有人發了一個在線提卡的網址,所需要的卡可以在網上自助提取。
點擊在線購買後,網頁會跳轉到另一個網站,該網站是一個自動發卡平臺,是個第三方,出售外掛的人通過這個第三方來賣外掛。
老規矩,想辦法找到這個黑產賣家的訂單、售賣金額、數據流水等信息。
黑客老師傅通過自己多年的社工經驗,經過郵箱反查等操作,找到了該曹姓商家的帳戶名,電話、以及名下的域名等信息。
但是在嘗試了多種方法後,不管是源碼分析,還是數據包分析,始終還是不能進入後臺資料庫。
後來換了個思路,直接破解這哥們帳號的密碼!
跑了小半天密碼本之後,還是一無所獲。。。
老司機抱著試試看的態度,選擇了密保問題改密碼。
售賣外掛的商家設置了兩個名為 「 321 」 的密保問題,只要回答上這兩個密保問題,就可以對密碼就行修改。
老師傅試了5次就成功了!
所以說弱密碼真的很可怕,專業老司機滲透一天不如猜 5 次密碼。。。
帳戶登錄成功
帳戶餘額、今日收入、今日成交、今日利潤一目了然
該商家每天的數據流水,基本保持在每天 15000 元,成交量在 170 筆左右。
在月統計中可以看出,八月份的總額高達 47 萬,成交量近六千筆。
看了看往期數據,短短幾個月時間,這個商家就利用賣外掛牟利上百萬。
在我們進入該商家後臺的半小時內就有近十人下單並成功付款。
看了一眼商家信息,小夥子姓曹,96年的,年紀輕輕就日入過萬
(其實差評君覺得這個信息可能是買來註冊的,不一定是本人)
下面,重要的東西來了!這人賣的基本都是假貨!
買家們很顯然是被坑慘了。。。
在差評君看來,他們不光是為自己的大意買單,更像是為遊戲中的虛榮心買單。
上面的只是騙個錢而已,還有其他賣假外掛的騙子發硬碟邏輯鎖玩兒敲詐的。。。
這些無良商家利用了人打遊戲時候的失衡心態來獲取暴利。
如果人們玩遊戲不要這麼功利,也不要扭曲自己的求勝欲,放好心態享受遊戲,也不會被這些人鑽了空子。
生活本身就不太公平,每個人都看不起那些到處鑽空子創造不公平的人,於是有一些厲害的人創造了遊戲,給大家提供了一個相對公平的環境讓大家找到快樂。
現在,你去使用外掛,不就成為了自己看不起的那些人了嗎?
作為一個理智的人,我一般都直接卸載遊戲~
快開學了
差評君做了一個大學排位賽
你可以給母校瘋狂打 Call
賊雞兒風騷
快去點閱讀原文去試試!