怎样给代码加密,从莉莉丝的彩蛋说起
?這個(gè)世界里,我們常??吹接袃煞N勝利:一舉成功和絕地反擊。作為圍觀的醬油眾,到底還是喜歡后者,因?yàn)閴虼碳?、倍兒?#xff01;
? ? ? ?近日,莉莉絲以一個(gè)小彩蛋取得uCool起訴案的關(guān)鍵性證據(jù)(后者為山寨版《Heroes Charge》開發(fā)商),不費(fèi)吹灰之力即殺得對手丟盔卸甲,這事情一時(shí)成為手游界的熱議話題。
(彩蛋之一:莉莉絲游戲英文名)
?
眾所周知,《刀塔傳奇》基于cocos引擎開發(fā)而成,一經(jīng)推出即大獲成功。各種山寨版本也在海外市場野蠻生長,uCool甚至為《Heroes Charge》狂砸千萬瘋搶“超級(jí)碗”廣告時(shí)段。面對西風(fēng)壓倒東風(fēng)的情形,此次莉莉絲憑借“木馬計(jì)”雖然力挽狂瀾,成功翻盤。但是俗話說得好,亡羊而補(bǔ)牢,不如防患于未然。
?
今天cocos君就傳授各位“三步加密法”,把代碼重重加固、像套娃般倍加呵護(hù)。
?
1、拒絕純裸奔,莫忘字節(jié)碼
堅(jiān)守節(jié)操,拒絕裸奔!所有攻城師請跟著我念:
lua要編譯成字節(jié)碼,不要白白送人!
lua要編譯成字節(jié)碼,不要白白送人!
lua要編譯成字節(jié)碼,不要白白送人!
——除非你真的懶到家了……
?
方法很簡單,在cocos里調(diào)用cocos luacompile 命令,即可輕松將源碼編譯成字節(jié)碼哦!
(命令行)
(duang~效果出來啦!)
?
2、xxtea加密是個(gè)寶,誰用誰知道
做好了字節(jié)碼,我們繼續(xù)為心愛的代碼升級(jí)安全措施。
?
Cocos2d-x v3.2版本已經(jīng)加入了xxtea加密功能。開發(fā)者只需使用命令行 cocos luacompile 加-e參數(shù),即可通過xxtea加密方式來升級(jí)安全指數(shù),誰用誰知道!
輸入-e True是為了支持xxtea加密,如果不再輸入其它的參數(shù),則xxtea加密的key和sign為默認(rèn)值,分別為2dxLua和XXTEA。另外我們也可以通過輸入-k和-b來改變key和sign。
?
下面就是見證奇跡的時(shí)刻啦!
(duang~代碼一秒變亂碼!)
?
具體使用方式可查看這篇教程:http://www.cocos2d-x.org/wiki/Cocos_luacompile
?
這里cocos君也要給大家一個(gè)小貼士:自2015年2月起,蘋果官方要求所有iOS新應(yīng)用必須支持64-bit,而當(dāng)前Luajit穩(wěn)定版本還不支持ARM64。所以為了讓一套lua腳本能同時(shí)跑在32位和64位的iOS設(shè)備上,我們還可以使用`cocos luacompile -s src_dir -d dst_dir -e True -k sdfds -b affd --disable-compile True`指令來對Lua源文件進(jìn)行xxtea加密,如此一來文件就可以同時(shí)跑在32位和64位的iOS設(shè)備上。
?
如下所示:
(命令行)
(毫無源碼痕跡,就是這么任性!)
?
3、加固軟件也別落,專業(yè)工具就是好
除了上面兩個(gè),我們還可以使用專業(yè)工具給代碼加層360度防護(hù)網(wǎng)。
?
目前Cocos Store與多家移動(dòng)應(yīng)用安全服務(wù)商建立了合作,提供了各種實(shí)用第三方工具。這些工具能夠幫助開發(fā)者在不改變用戶體驗(yàn)的同時(shí),對游戲應(yīng)用進(jìn)行加固保護(hù),防止逆向工程破解,杜絕惡意篡改、注入代碼、竊取創(chuàng)意、內(nèi)存修改等危脅,讓游戲源碼仿若身在瑞士銀行地下保險(xiǎn)箱般固若金湯。
(AnySDK加固功能)
此外,AnySDK也具有基礎(chǔ)的加密功能,能夠通過框架、打包工具、服務(wù)端等多方面加固處理,防止渠道包被破解,進(jìn)行二次打包。
?
最后,讓我們用一首詩來總結(jié)下——代碼安全打油詩
植入彩蛋雖然好,防范未然是最高;
代碼就像女盆友,照顧好了沒煩惱;
lua要編字節(jié)碼,xxtea加密是個(gè)寶;
加固軟件也別落,專業(yè)工具就是好;
一切都在cocos,保護(hù)安全任調(diào)教。
?
還!沒!完!!最后的最后,cocos君也有個(gè)“小彩蛋”要送給大家:手把手教大家如何植入一顆自己的彩蛋。
?
世界上沒有不透風(fēng)的墻,也沒有永遠(yuǎn)不被反編譯的軟件,即使強(qiáng)悍如微軟Windows也擋不住山寨商的磨刀霍霍。所以像《刀塔傳奇》那樣加入彩蛋,為法律訴訟提供證據(jù),未來可能成為游戲的標(biāo)配。
?
(注:獲取下述案例代碼及資源請?jiān)L問:http://upyun.cocimg.com/cocos/Brave.rar ,該代碼需要在Quick-Cocos2d-x 3.3上運(yùn)行哦)
?
啟動(dòng)案例游戲后,我們在背景的上下左右4個(gè)角各點(diǎn)一次,會(huì)彈出一個(gè)彩蛋界面。注意每個(gè)角只能點(diǎn)一次,多點(diǎn)少點(diǎn)都不行。
總結(jié)
以上是生活随笔為你收集整理的怎样给代码加密,从莉莉丝的彩蛋说起的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。