從正月初五起至正月初九,我們每天将推送一個主題的“舊文回顧”,涉及運營、策劃、美術、技術、營銷等領域,今天為技術篇。
如今在很多手遊的貼吧裡,玩家除了等待官方的更新公告,還會期待着一部分“技術大佬”的資源更新。
這些玩家口中的大佬會對熱門手遊的客戶端進行破解,将裡面的素材扒出來,打包上傳度盤雲盤,甚至國外網盤裡,并給出詳細的指導教程,供玩家下載。這些素材,既包含玩家可能沒見過的未解鎖内容,也會包含一些遊戲還沒有開放的提前更新内容。由于這些資源基本通過簡單拆解遊戲包體就得到了,所以玩家都稱這種做法為“拆包”。
在業内,拆包屬于破解客戶端的一種行為,在商業競争當中也屬于家常便飯的手段之一,幾乎每家廠商都會去破解别家的客戶端,一探究竟。隻是與之不同的是,大批量玩家期待着遊戲被破解的情況,在近兩年才逐漸蔓延開來。
從網上被曝光的數據來看,搜索關于遊戲拆包的信息可以得到近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. 如果能力足夠,可以嘗試自研引擎。自研引擎本身就是一種加密的狀态,别人不知道你的引擎如何定義資源的格式,肯定也就沒法輕易拆開遊戲的包體。
隻是這裡的方案也不是十全十美的。對于注重資源的遊戲而言,如前文提到的絕大多數二次元産品來說,加密資源是一件消耗非常大的事情,如果每個資源都需要在客戶端運行解密算法,那麼遊戲運行就會變得非常吃力。而對于這些遊戲來說,資源的重要程度并不亞于代碼,所以很多時候必須在加密上采取一些折中的方案。
有些時候,廠商需要對遊戲更新内容進行更嚴格的規劃,以避免提前洩露資源的問題。也可以從從遊戲外圍着手,正确引導玩家獲取想要的資源,比如定期推出一些壁紙,素材包,表情等等,這也能在營銷推廣、刺激用戶活躍度、引導二次創作内容等方面,帶來更正向的效果,讓玩家逐漸脫離對拆包内容的依賴性。
關注微信公衆号“遊戲葡萄”,每天獲取最前瞻的遊戲資訊
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!