首頁>Club>
能不能設計一款外掛侵入不了的遊戲?
7
回覆列表
  • 1 # 娛遊意

    輕輕點選關注,我們的故事便會就此展開。

    想要設計一款外掛侵入的遊戲,必須先考慮一下外掛、輔助指令碼之類的東西到底是如何做成的。因為單從理論方面來講的話,任何遊戲都應該是沒有任何外掛和輔助指令碼之類的,即使有,也應該會被很快的清除乾淨才對。那麼,下面就讓我為大家好好分析一下。

    我們首先來看一下外掛的原理。

    眾所周知,外掛是一種透過欺騙或修改遊戲以謀取利益的作弊程式,是指某些人利用電腦技術針對一個或多個網路遊戲,透過改變軟體的部分程式製作而成的作弊程式,最早的外掛指的只是類似金山遊俠、按鍵精靈之類的第三方軟體或程式,而後慢慢引申成了改變遊戲人物屬性等的作弊程式。那麼,這種作弊程式到底能夠避免麼?

    答案當然是否定的!這是因為

    一、遊戲自身問題

    目前的大多網路遊戲都是基於Internet上客戶端/伺服器模式(C/S模式),服務端程式執行都是在遊戲伺服器上進行,遊戲設計者也只算得上是在遊戲中建立了一個龐大的遊戲環境,玩家們也就是這個遊戲環境中進行遊戲,而外掛設計者也可以在這個遊戲環境中進行侵入和修改,從而做出外掛。而且,不少的遊戲都存在BUG,外掛使用者也是可以透過BUG和遊戲系統的不完善來做出更多的外掛,所以,只要BUG永遠不被清除完,外掛也永遠都會存在。

    二、由於研發技術問題

    那麼,既然說起BUG和遊戲漏洞的話,這些都是由於程式技術人員在進行程式設計的某些過程中出現問題所導致的,所以從理論上講,只要程式技術人員在程式設計的過程中絲毫不出現問題,那麼遊戲也是不會出現外掛的,但這點也基本不可能做到,畢竟人無完人,一款遊戲需要數個程式開發的技術人員,不可能做到完美。

    所以,綜上所述,程式設計師根本不可能設計出一款外掛侵入不了的遊戲,不過肯定有外掛使用者不喜歡研發外掛的遊戲,而且,不少的遊戲廠商們都在努力研發自身的反作弊機制,對外掛的打擊力度也從未變過,而且隨著科技越來越發達,相信,不久的未來一定會有沒有外掛的遊戲。

  • 2 # 衣文2

    完全不可能。

    我們首先要明確一個概念,外掛是安裝在玩家裝置中對遊戲進行修改作弊的程式。

    而網路遊戲的從運算到顯示給玩家的遊戲過程是分成兩塊兒的,一部分在玩家的電腦上完成,另一部分在運營商的伺服器裡完成。

    外掛想要完成作弊效果,無非是三種方式要麼修改遊戲在客戶端的運算結果,要麼破解記憶體檔案讀取遊戲資料從而提供給玩家額外的資訊,再或者就是直接修改客戶端和伺服器之間的資料使得伺服器端按照被修改後的資料進行運算。

    至於類似改lol面板這種是修改本地檔案,更像mod.姑且不認為這是外掛。

    所以防外掛最簡單的方式就是把所有的運算甚至大部分遊戲檔案放到運營商的伺服器裡,讓玩家的客服端只有非常少的檔案和資料流。這樣外掛就完全無法影響到遊戲檔案,甚至透過劫持流量也變得非常困難。

    但問題是這樣做對網路的要求非常的高,任何微小的延遲在激烈的遊戲過程中都會被放大。rpg遊戲還好,如果是fps遊戲哪怕你與伺服器之間只有十幾毫秒的延遲,這也是無法接受的。

    受限於物理極限,這十幾毫秒的延遲可能永遠都無法降低。容易總會有一些運算是要在玩家電腦裡完成的。

    另一點,任何遊戲終要都要吧遊戲結果回傳。伺服器回傳或者客戶端本身產生的很多資料是放在記憶體裡卻不顯示給玩家的。主要是用來等待讀取——總不能玩家扭個頭還要重新運算讀取一邊資料等個小圈圈吧?

    這些資料往往就是外掛需要的,透過劫持流量和讀取記憶體。遊戲外掛就可以把正常遊戲不會顯示的內容提供給遊戲玩家。面對這種問題廠商只能透過一遍遍的加密和檢測來抵抗,但往往收效甚微。

  • 3 # loong龍吟

    等到網路及計算機處理能力發展到一定程度後是可以的,現在的遊戲架構是由客戶端進行了大量的資料計算,而服務端只需要返回結果以及部分校驗(現存反外掛機制),這種架構不依賴網路及伺服器的計算資源,但也讓外掛有機會獲得原始資料。如果所有的計算全部放在服務端,客戶端只需要拿到經過計算後的多媒體資源,以及回傳控制訊號,那麼就從架構上限制了外掛的發揮,到時頂多也就只能出現諸如按鍵精靈一類的操作模擬型別外掛,而不會存在修改引數的外掛了。 這就像虛擬桌面一樣,客戶端只有滑鼠鍵盤顯示器,完全不給你外掛的空間。

  • 4 # 無名氏126224576

    理論上可行,有兩種實現思路,一種是遊戲關鍵資料儲存在伺服器,這樣外掛就不能透過修改本地記憶體來實現作弊了,但是這樣做延遲高,不適合fps等這類遊戲,第二種就是資料本地加密儲存,但是如何保證加密金鑰不洩漏是個難題,因為電腦在玩家手上,想對電腦幹什麼就幹什麼,加密金鑰甚至可以透過記憶體匯流排窺覽(就是在記憶體和pci e介面之間加裝監聽器)得到。那有沒有保護本地記憶體金鑰的方法呢,有,那就是intel的sgx技術和amd的guard mi技術,這兩個技術可以實現加密ram記憶體中的內容,即使記憶體匯流排窺覽也只能得到被加密的內容,金鑰則儲存在cpu內的快取中,無法從外部獲取(除非有漏洞,不過這種級別的漏洞一般很快就會被修復),目前用到intel sgx技術的有aacs2.0等,sgx和guard mi有些不同,sgx是針對不同程序來分配ram加密安全區的,不是所有ram的內容都加密,而guard mi則加密所有寫到ram的內容,不受系統影響,對於系統來說,ram的內容是透明的。但是這種方法受到CPU的限制,不是所有cpu都支援這些技術,sgx好像要7代或以上的CPU才能支援,而amd guard mi只有ryzen pro系列才支援,不帶pro的不支援

  • 中秋節和大豐收的關聯?
  • 醫藥行業2019下半年將走勢如何呢?