国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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ā)資源加密方法的評論 (共 條)

分享到微博請遵守國家法律
兰溪市| 仪征市| 石渠县| 泸西县| 平乡县| 温泉县| 庄河市| 轮台县| 镇原县| 张家界市| 邳州市| 鄂温| 常宁市| 高要市| 荆州市| 麻城市| 湖北省| 新野县| 黎川县| 霍城县| 旌德县| 麻江县| 浮山县| 汉寿县| 上栗县| 开远市| 天镇县| 漳平市| 大新县| 宜阳县| 泰来县| 随州市| 广饶县| 奉节县| 洛扎县| 澳门| 台中县| 溆浦县| 招远市| 望城县| 曲阜市|