Cocos2d-x 游戏防打包解决方案

        做手机游戏的最怕的是啥,估计就是打包吧,打包党的猖獗致使很多好的手机游戏被淹没,所以,游戏开发者在这方面也是斗智斗勇!有没有什么好的防打包的技巧呢?

        先来看下,什么是打包党?

        打包党是一种职业,一种不光彩的职业,他们专门去下载别人的游戏安装包,反编译,然后加入自己的广告,最后重新打包上传到各个市场,从而谋取收益。

        下面进入正题,就Android游戏说下怎么防二次打包,也就是防打包党

        1.代码混淆

        Android本身就能进行代码混淆,代码混淆就是把类名、变量名、方法名变成各种abcd,增加源代码阅读的难度,这对于刚加入打包党的小黑客来说可能有点难度,也许能阻止一小部分比较懒惰的打包党,但是, 对于有技术含量的打包党来说,根本不是问题!

        2.在线检测包名、版本号

        如果你的游戏需要网络环境,那么,你可以在游戏里加一个机制,获取游戏安装包的包名以及版本号。包名和版本号Android本身的API就提供了接口。

        每次打开游戏,就获取包名和版本号,然后联网检测,联谁的网?比如你用友盟统计,那就可以用友盟的在线参数。在线参数里填写你游戏的包名和最新版本号,然后在游戏里对比在线参数和实际包名、版本号是否一致,不一致的怎么办?直接闪退!让打包党打包的游戏连审核都无法通过。

        不过,事实上,有些市场,并不是人工审核的,即使一打开就闪退的游戏,也有审核通过的可能。

         3.本地检测包名、版本号

        对于不需要联网的游戏怎么办?好吧,其实不联网的游戏,对我们也没有多大的意义了(因为没法放自己的广告了)。

        其实本地的检测也是一样的,获取版本号和包名,然后每次打包游戏之前都在代码里也写死一个版本号和包名,运行游戏的时候就对比一下。

        发现对不上的,果断闪退没商量~

        大家是不是觉得对比包名和版本号很无敌?打包党一定没法下手了吧?

        其实不然,版本号和包名都是从Android端获取的,只要打包党在Android端的代码里做手脚,把包名和版本号写死为你原来的包名和版本号,那就能顺利骗过了。

        所以,我们可以尽量把获取包名和版本号的代码写复杂点,比如创建好几个类,都是用来获取包名和版本号的,创建很多个函数,都是同样的功能,但是名字不同的。

        然后最终只使用其中一个看起来最不起眼的,前提是,你还记得你用的是哪一个 

        4. 加密

        以上的方法都有漏洞,都防止不了打包党,而且开发者本身能力、精力有限,没有那么多的时间去研究防二次打包、防黑客攻击的技巧。所以,各种移动安全保护公司就是这样产生的,有需求才会有市场。他们的出现,也正好可以解决广大Android应用开发者的难题,简直就是共赢!目前来说,比较专业的还是爱加密,他们不仅提供有免费版的加密,还有专门针对各种不同行业的加密解决方案,采用定制化的加密方案,全方位的为广大Android开发者提供保护服务! 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30017186/viewspace-1336119/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30017186/viewspace-1336119/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值