从莉莉丝的彩蛋说起:如何给代码加密

世界上有两种胜利:一举成功和绝地反击。身为围观者,到底还是喜欢后者,够刺激、倍儿爽。

近日,莉莉丝以一个小彩蛋取得uCool起诉案的关键性证据(后者为山寨版《Heroes Charge》开发商),不费吹灰之力即杀得对手丢盔卸甲,这事情一时成为手游界的热议话题。

703b8905155eae4771798839228992c9.jpeg

(彩蛋之一:莉莉丝游戏英文名)

众所周知,《刀塔传奇》基于cocos引擎开发而成,一经推出即大获成功。各种山寨版本也在海外市场野蛮生长,uCool甚至为《Heroes Charge》狂砸千万疯抢“超级碗”广告时段。面对西风压倒东风的情形,此次莉莉丝凭借“木马计”虽然力挽狂澜,成功翻盘。但是俗话说得好,亡羊而补牢,不如防患于未然。

今天cocos君就传授各位“三步加密法”,把代码重重加固、像套娃般倍加呵护。

1拒绝纯裸奔,莫忘字节码

坚守节操,拒绝裸奔!所有攻城师请跟着我念:

lua要编译成字节码,不要白白送人!

lua要编译成字节码,不要白白送人!

lua要编译成字节码,不要白白送人!

——除非你真的懒到家了……

方法很简单,在cocos里调用cocos luacompile 命令,即可轻松将源码编译成字节码哦!

aebca444cfa5698b2106a8c3e4f4f296.png

(命令行)

96c77d80b9657699adfc6a01dbe6db57.png

(duang~效果出来啦!)

2xxtea加密是个宝,谁用谁知道

做好了字节码,我们继续为心爱的代码升级安全措施。

Cocos2d-x v3.2版本已经加入了xxtea加密功能。开发者只需使用命令行 cocos luacompile 加-e参数,即可通过xxtea加密方式来升级安全指数,谁用谁知道!

1ec7448713c66210bb5d84429f6b5388.png

输入-e True是为了支持xxtea加密,如果不再输入其它的参数,则xxtea加密的key和sign为默认值,分别为2dxLua和XXTEA。另外我们也可以通过输入-k和-b来改变key和sign。

下面就是见证奇迹的时刻啦!

19620f1be53f29375fd851469c59a075.png

(duang~代码一秒变乱码!)

具体使用方式可查看这篇教程:http://www.cocos2d-x.org/wiki/Cocos_luacompile

这里cocos君也要给大家一个小贴士:自2015年2月起,苹果官方要求所有iOS新应用必须支持64-bit,而当前Luajit稳定版本还不支持ARM64。所以为了让一套lua脚本能同时跑在32位和64位的iOS设备上,我们还可以使用`cocos luacompile -s src_dir -d dst_dir -e True -k sdfds -b affd --disable-compile True`指令来对Lua源文件进行xxtea加密,如此一来文件就可以同时跑在32位和64位的iOS设备上。

如下所示:

5f0882ee18a61afe76d47e2ba5376285.png

(命令行)

213d91d896ebace7d74f7c4763c200ae.png

(毫无源码痕迹,就是这么任性!)

3加固软件也别落,专业工具就是好

除了上面两个,我们还可以使用专业工具给代码加层360度防护网。

目前Cocos Store与多家移动应用安全服务商建立了合作,提供了各种实用第三方工具。这些工具能够帮助开发者在不改变用户体验的同时,对游戏应用进行加固保护,防止逆向工程破解,杜绝恶意篡改、注入代码、窃取创意、内存修改等危胁,让游戏源码仿若身在瑞士银行地下保险箱般固若金汤。

6f0a8e14f19a9d34d03c507f9e6b0251.jpeg

(AnySDK加固功能)

此外,AnySDK也具有基础的加密功能,能够通过框架、打包工具、服务端等多方面加固处理,防止渠道包被破解,进行二次打包。

最后,让我们用一首诗来总结下——

代码安全打油诗

植入彩蛋虽然好,防范未然是最高;

代码就像女盆友,照顾好了没烦恼;

lua要编字节码,xxtea加密是个宝;

加固软件也别落,专业工具就是好;

一切都在cocos,保护安全任调教。

还!没!完!!最后的最后,cocos君也有个“小彩蛋”要送给大家:手把手教大家如何植入一颗自己的彩蛋。

世界上没有不透风的墙,也没有永远不被反编译的软件,即使强悍如微软Windows也挡不住山寨商的磨刀霍霍。所以像《刀塔传奇》那样加入彩蛋,为法律诉讼提供证据,未来可能成为游戏的标配。

(注:获取下述案例代码及资源请访问:http://upyun.cocimg.com/cocos/Brave.rar ,该代码需要在Quick-Cocos2d-x 3.3上运行哦)

启动案例游戏后,我们在背景的上下左右4个角各点一次,会弹出一个彩蛋界面。注意每个角只能点一次,多点少点都不行。

313b93787c7777eb456de70f8a63db03.png

867dd16f6f5aeea38fdc133a9dd14aff.png

据说,世界上有两种成功:一举成功和绝地反击。但是身为行业中人,咱们到底还是喜欢前者,顺顺利利就好。 (。・`ω´・)

另外一个据说,转发此微信,没女票的男生今年注定脱单跑不掉,有女票的男生会幸福圆满一辈子哦! (/≧▽≦/)

【前方高能!福利时间到了!】

21b65747dd0c26d1188d6a00967f64ce.png

Cocos 2015开发者大会(春季)火热抢票中!前500名进入会场的听众,不分门票类别,均可以获得限量版cocos玩偶一只。

点击“阅读原文”即可进入“Cocos 2015开发者大会(春季)”微信专属抢票页面哦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值