最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Unity干貨分享:兩種項(xiàng)目開發(fā)資源加密方法

2022-09-13 16:21 作者:游戲開發(fā)RAIN  | 我要投稿

Unity的游戲很容易被人反編譯出來,然后再重新打包發(fā)布,把自己辛辛苦苦開發(fā)的游戲,抄寫的一絲不掛。很多項(xiàng)目要求要做好資源加密,Unity中如何做好資源加密呢?本文給大家分享加密算法+資源打包整合思路:

游戲資源包如何選擇加密算法

游戲資源包加密的第一件事情就是選一個(gè)什么樣的加密/解密算法,比較不容易被人破解。我們?nèi)绾蝸磉x擇呢?很遺憾的告訴大家,沒有任何一個(gè)保險(xiǎn)的加密解密算法是安全的。杠精第一時(shí)間就會來反駁,這怎么可能,我加密了他怎么破解?游戲資源加密注定了加密算法不能用太耗時(shí)的加密算法。接下來我們來看下不同加密算法是如何被破解的。

(1) 使用標(biāo)準(zhǔn)庫實(shí)現(xiàn)的加密解密算法,比如使用encrypt加密/解密算法。這里有個(gè)問題,我們會有一個(gè)密鑰用來解密,密鑰一般游戲都寫死到代碼里。這種破解太簡單了,密鑰寫死在代碼里,基本都是字符串等,靜態(tài)分析代碼找到密鑰對應(yīng)的字符串,有了密鑰,你用的是標(biāo)準(zhǔn)庫,一下加密資源就破解了,分分鐘你的資源就被破解了。

加密/解密算法示意如下:

所有從上面分析來看想要不被破解,幾乎是很難,就看破解的代價(jià)。你這個(gè)游戲是否值得。一般我們的目標(biāo)就是不要讓人通過Unity反編譯工具就能直接讓我們的游戲直接反編譯出Unity項(xiàng)目工程,然后重新編譯打包發(fā)布就可以了。解密算法要快,注定他不會太復(fù)雜,密鑰單一的放客戶端或是網(wǎng)絡(luò),注定能獲取到。


Assetsbundle資源包的加密與解密

分析完加密解密算法以后,接下來我們就來看下如何加密我們的資源,先來介紹第一種方案,打資源包的時(shí)候,加密單個(gè)的資源, 把加密后的數(shù)據(jù)打入到資源包。解密的時(shí)候,從ab包中讀取資源,然后再把資源包里的內(nèi)容解密開來。具體做法如下:

(1) 新建一個(gè)類,繼承自FileStream, 重寫Read/Write函數(shù)。代碼如下:

(2) 修改ab包打包工具腳本,再對生成的ab包資源加密一次,打包加密腳本如下:

(3) 解密的時(shí)候,讀取ab包,使用函數(shù)AssetsBundle.LoadFromStream來加載,而這個(gè)會觸發(fā)Stream在Read讀數(shù)據(jù)接口調(diào)用,就可以進(jìn)入我們重載的Read接口,來做解密。代碼如下:


Unity干貨分享:兩種項(xiàng)目開發(fā)資源加密方法的評論 (共 條)

分享到微博請遵守國家法律
大田县| 五家渠市| 金湖县| 北流市| 普安县| 读书| 页游| 三亚市| 天等县| 玉溪市| 德保县| 泗水县| 东光县| 来宾市| 抚松县| 应城市| 章丘市| 呼和浩特市| 乌兰察布市| 巴马| 古丈县| 图木舒克市| 黎川县| 峨眉山市| 浦江县| 拉孜县| 云梦县| 漳浦县| 天长市| 永胜县| 溧水县| 思南县| 胶南市| 绥中县| 兴城市| 织金县| 瑞金市| 增城市| 贵溪市| 万宁市| 乐昌市|