手遊拆包亂象叢生,客戶端被玩傢輕易破解的背後到底有多少隱患?

07-17

如今在很多手遊的貼吧裡,玩傢除瞭等待官方的更新公告,還會期待著一部分 " 技術大佬 " 的資源更新。

這些玩傢口中的大佬會對熱門手遊的客戶端進行破解,將裡面的素材扒出來,打包上傳度盤雲盤,甚至國外網盤裡,並給出詳細的指導教程,供玩傢下載。這些素材,既包含玩傢可能沒見過的未解鎖內容,也會包含一些遊戲還沒有開放的提前更新內容。由於這些資源基本通過簡單拆解遊戲包體就得到瞭,所以玩傢都稱這種做法為 " 拆包 "。

在業內,拆包屬於破解客戶端的一種行為,在商業競爭當中也屬於傢常便飯的手段之一,幾乎每傢廠商都會去破解別傢的客戶端,一探究竟。隻是與之不同的是,大批量玩傢期待著遊戲被破解的情況,在近兩年才逐漸蔓延開來。

被拿到臺面上的拆包亂象

從網上被曝光的數據來看,搜索關於遊戲拆包的信息可以得到近 230 萬條相關內容,縮小到手遊領域則能找到 45 萬條,2015 年到現在是手遊拆包事件發生最頻繁的時間,總共能搜索到近 33 萬條相關內容。

可以看到被拆包的手遊,幾乎覆蓋瞭整個市場頭部的重點產品,《王者榮耀》《陰陽師》《夢幻西遊》當然不在話下,甚至一些源自海外的熱門遊戲如《皇室戰爭》《Pokemon GO》《爐石傳說》都遭遇過類似的待遇。如今在淘寶上簡單搜索,就能看到各種出售熱門手遊原素材的商品。

隻是上述產品大多沒有被拿到臺面上來討論。被討論最多的是《火影忍者》《碧藍航線》《龍之谷》這些遊戲,而且很大的一個共通點,玩傢對他們討論最多,訴求最大的,大多集中在美術素材上。

仔細檢索以往被拆包的遊戲,還能發現更多類似的現象,而且多集中在二次元、動漫題材的產品中。

對於上線已久的遊戲,諸如《戰艦少女》《火影忍者》,拆包的訴求一直存在,經常有玩傢催更,坐等新版本資源的流出。類似《戰艦少女》等遊戲還有專門的拆包吧。

比較典型的一例是《少女前線》,這款產品在今年初曾計劃與《蒼翼默示錄》進行 IP 聯動,而後有玩傢自行破解客戶端,提前獲得瞭聯動角色的美術素材,並進行瞭曝光。

隨後少女前線官方給出瞭回應,由於活動還未上線內容就遭到提前曝光,於是官方認為該玩傢的行為對遊戲造成瞭侵權,並表示將采取法律手段追究責任。

而且這種情況並不僅此一次,《少女前線》的遊戲內容曾被多次拆解,相關美術、聲優語音資源也被散佈在網絡中。

這不僅僅暴露瞭拆包事件本身的問題,因此帶來的觀點對立,也一直是部分玩傢爭執的話題。

除瞭《少女前線》,同樣聲勢浩大的還有《鋼鐵少女》的被拆包的事件。《鋼鐵少女》推出以後,由於 UI 和玩法上讓玩傢感到與《戰艦少女》雷同,於是有玩傢指出可能存在抄襲的嫌疑,並進行瞭代碼層面的詳細對比,進一步論證其在數據上抄襲的可能性。

自從二次元遊戲火瞭以後,這個領域基本所有熱門產品都被拆包,被拆出的素材也在玩傢間有著不同程度的傳播度,比如最近熱門的《碧藍航線》,米哈遊的力作《崩壞 3》,此前市場動作頻繁的《Love Live!》,以及早先成績不錯的《乖離性百萬亞瑟王》。

對於拆包這個事件的本身,不同人群表現出的態度可以說完全不一樣。

從大部分玩傢的角度而言,拆包並不是自己做出的行為,隻是看到網上有新的資源,便拿來使用,原則上是處於局外人的立場。但對於喜歡的遊戲,他們必然會積極關註並參與討論,結果上看他們的需求推動瞭一直以來的拆包行為。

然而對很多廠商來說,這件事情其實非常令人困擾。首先活動素材的提前曝光會打亂宣傳推廣的節點,其次遊戲內素材流出後存在被盜用、甚至商用的風險,比如非官方授權制作的周邊等等,最後也是最重要的,對於憑借原創素材盈利的產品來說,素材的流出會直接導致內容的貶值。

在玩傢和廠商中間一直處於輿論風口的,還有一批對拆包資源進行推廣的人。他們可能是吧友,可能是技術大佬,也有可能是一些公眾號、自媒體,出於滿足玩傢期待的理由,會定期更新相關的拆包資源,甚至有的公眾號會借此吸粉。

也有一部分純粹為瞭技術研究和興趣愛好而拆包的人。

在一位曾拆解過《戰艦少女》《碧藍航線》《乖離性百萬亞瑟王》的用戶看來,拆包隻是滿足自己的收藏欲,以及對技術的興趣。" 我有一個原則,絕不發佈完全完成的解密方法與解密圖片,都會保留最後一步," 這位用戶向葡萄君強調這一點,他還向葡萄君分享瞭一些技術研究的博客,裡面公開瞭一些拆包工具,也有其他用戶針對拆包思路進行討論。

透過這些現象能看出,玩傢、廠商的利益很難維系到一起,玩傢的內心永遠追求的是新鮮感,追求更快的內容,而官方需要一步步放出內容,並不能全盤托出。拆包者成瞭兩者之間端盤子的人,自然會有嗷嗷待哺的玩傢不停催更,拆包也就成瞭常態。

但就像一位不願意公開自己拆包成品的用戶擔憂的:" 總有人是為瞭偷盜素材,不是嗎?" 廠商總會擔心這樣的問題,從而封禁刪帖,限制素材的傳播,反過來也激起瞭一些拆包者的不滿,促使他們繼續拆包、公開資源,甚至引起激烈的爭執。

導致拆包亂象的兩大問題

促成這些現象的根本原因有兩個:一是二次元產品的技術軟肋。二是遊戲價值向內容遷移時產生的新矛盾。

一方面,從技術層面講,拆包本身不是一個復雜的事情,隨著工具的發展、網絡教程的增多,很多遊戲包體都可以被輕易拆開。一位用戶告訴葡萄君,卡牌收藏類遊戲都非常容易拆,他自己所用的工具都是網上能搜到的,唯一用到的技術是圖像處理。

尤其是采用瞭成熟引擎的手遊,由於它們的資源格式都是固定的,所以很多遊戲都能被簡單破解。比如使用 Unity 引擎研發的遊戲,在 UnityStudio 環境下就能導出遊戲裡的圖片、模型等資源。

對於一些防范意識不強的廠商來說,底層代碼也存在不小的風險。" 老一點的使用 Unity 引擎的遊戲,還可以用 NET_Reflector 反編譯代碼來看遊戲裡的機制,比如去看遊戲裡傷害計算公式、武器實際參數等。" 在這位會拆包的用戶看來,拆包本身並不是高技術難度的事情。

而我們知道,二次元產品一直以來都存在技術軟肋,這些問題可不僅存在於功能實現方面。在程序加密方面,使用已有解密方法的公開技術的產品存在很大的風險。

" 我曾經試過一款遊戲,用網上的工具可以提取出圖片,然後連反編譯都不用,直接用編輯器搜索就可以拿到異或字符串," 在這位拆包者看來,很多時候遊戲被解密的原因,完全在於廠商的安全意識薄弱:" 這和把鑰匙放在小偷眼前有什麼分別?"

另一方面,手遊產品的變化,讓需要被保護的核心內容也產生瞭變化。對於二次元遊戲來說,題材和素材本身就是最大的賣點。比如原畫、立繪和配音,這些都是邀請瞭知名畫師,或者知名聲優來制作的,除瞭本身投入的資金價值外,這些內容還起到支撐運營、營收的重要作用。

在傳統手遊當中,大多數產品的題材都采用瞭三國、西遊等通用 IP,在 UI 設計上也沿用瞭很多成熟模式,使得皮相本身遠遠不及系統架構、玩法設計、數值體系那麼有價值。再加上很多量產遊戲采用瞭換皮的套路,更是弱化瞭表象本身的價值。

而隨著內容時代的到來,題材的新穎、品相的包裝、內容的設計,反而更能吸引用戶的東西。比如《陰陽師》的題材創新帶動瞭強勁的社交話題,《碧藍航線》對內容的包裝,也在一個老品類中做出瞭新的高度。

隻是被拆包以後,這些本能為產品帶來更多價值的東西,變成瞭提前被用戶消費的資源,甚至有可能淪為話題炒作、商業吸睛的道具。於是,傳統手遊中未被高度關註的素材資源,在如今的市場中有瞭更大的價值,其被非正常曝光所帶來的問題也就更突出瞭。

安全意識薄弱帶來的隱患

不僅局限在二次元領域,對於整個手遊行業來說,拆包所暴露出來的問題還有很多。

從小的方面來看,遊戲原創的素材被盜用幾乎已經成為常態,遊戲本身享有著作權的產品總是存在被盜用的風險,如果僅作為玩傢自己使用,風險相對小一些,但更惡劣的情況是被用作商業目的,比如廣告營銷、直接販售,或是盜用生產相關周邊產品,誘導用戶消費。對於重視 IP 培養,以及遊戲衍生價值的產品來說,這一點的風險可小可大。

進一步來看,拆包還會帶來核心內容泄露的風險,而這對產品的影響是更加直接,極其巨大的。核心代碼的泄露,直接會導致數據被競品復用,代碼本身也容易被模仿和抄襲。遊戲行業內的破解競爭雖然幾乎不在公開場合被提及,但競爭一直異常激烈。

葡萄君也咨詢瞭很多資深技術從業者,瞭解到通常大廠都有很強的防范意識,類似騰訊網易的產品,幾乎很難通過反編譯獲得其源代碼。

而拆包現象的存在,也會帶來一些廠商之間的糾紛。

例如曾有媒體質疑樂動卓越《我叫 MT3》盜用《神雕俠侶》資源、數據的事件,甚至詳細指出,在當時《我叫 MT3》的遊戲版本中,簡單解壓後就能得到與《神雕俠侶》命名規則相同的大量素材文件,且素材的 MD5 校驗碼也是相同的。雖然事件沒有得出最終的結果,但這樣的質疑已經對遊戲造成瞭巨大的影響。

此外玩傢質疑《鋼鐵少女》盜用《戰艦少女》遊戲數據的事件也引起瞭大量討論,甚至有玩傢詳細對比二者在代碼層面的異同。

當時被曝光出來的遊戲內資源,左神雕右 MT3(來源:觸樂)

再往大的方面考慮,底層代碼泄露更嚴重的是導致各種外掛、黑科技的出現,這對遊戲本身的傷害更加直接。比如破解遊戲以後,他們利用漏洞修改客戶端參數和代碼,改動技能效果、做智能施法,或者無限刷鉆石等,制成功能性外掛吸引玩傢購買。還有通過破解,進而制作比如反和諧版等一系列非官方正式版本的包體等等。

中小團隊仍須提高防范拆包的安全意識

對於如今遊戲行業的大型廠商來說,防范破解已經是傢常便飯,而在一些中小團隊當中,廠商的防范意識並不強烈。畢竟如果真的有專業破解人員來拆包,加密再好也會存在被破解的風險。

但做和不做的區別依然非常巨大,簡單的加密能過濾掉很多不專業的拆包行為,也就能在很大程度上減輕前文中很多產品遇到的問題,而且進行加密本身的成本並不高,加密的方法也很多。

針對中小團隊可以采用的加密方法,一些資深從業者也給出瞭他們的建議:

1. 包體本身來看,首先是可以直接加密資源本身,比如做資源校驗,但這個方式對文件的完整性要求很高,可能在打渠道包的時候,會遇到修改後校驗失效的問題。其次是按文件校驗,但這屬於比較消耗的方式,每個文件都拆出來做校驗,工作量很大,會影響到遊戲性能。

2. 代碼層面來看。首先是利用引擎自帶的加密功能,比如 Unity3D 引擎是有一些措施去防拆包的,可以在工程設置裡面設置加密,這樣遊戲的 C#代碼就不會被輕易破解瞭。其次是直接在底層加密,很多大廠都選擇用這樣的做法,把 Unity 底層動態鏈接庫的代碼改掉,寫入加密算法。

3. 對於更新內容的加密,原則上加密方式與包體本身是一樣的。比如如果采用熱更新技術比如 Lua,可以直接把 Lua 代碼做一個加密算法,由於 Lua 在更新中也是以文本資源的形式存在的,除非別人知道你的加密方式,否則就很難破解。

4. 對於內存方面的修改行為,主要需要通過服務器校驗來規避。

5. 可以嘗試借助第三方的免費加密工具,但這些工具沒有付費版功能齊全,存在一定的風險。另外可以考慮和第三方安全廠商合作。

6. 如果能力足夠,可以嘗試自研引擎。自研引擎本身就是一種加密的狀態,別人不知道你的引擎如何定義資源的格式,肯定也就沒法輕易拆開遊戲的包體。

隻是這裡的方案也不是十全十美的。對於註重資源的遊戲而言,如前文提到的絕大多數二次元產品來說,加密資源是一件消耗非常大的事情,如果每個資源都需要在客戶端運行解密算法,那麼遊戲運行就會變得非常吃力。而對於這些遊戲來說,資源的重要程度並不亞於代碼,所以很多時候必須在加密上采取一些折中的方案。

有些時候,廠商需要對遊戲更新內容進行更嚴格的規劃,以避免提前泄露資源的問題。也可以從從遊戲外圍著手,正確引導玩傢獲取想要的資源,比如定期推出一些壁紙,素材包,表情等等,這也能在營銷推廣、刺激用戶活躍度、引導二次創作內容等方面,帶來更正向的效果,讓玩傢逐漸脫離對拆包內容的依賴性。

精彩圖片
文章評論 相關閱讀
© 2016 看看新聞 http://www.kankannews.cc/