由于Android系统的开放性,让人人都是开发者成为可能,也正因如此,手机APP遭受破解和盗版问题长期存在,且愈演愈烈。尤其是手游 行业,如刀塔传奇、植物大战僵尸、2048等知名游戏被破解的案例不胜枚举。破解者通过各种工具篡改游戏内存中的数值、参数或广告等,达到过关、升级、谋取暴利的目的。
《屌丝保卫战》是一款射击类游戏,游戏内涉及关卡、道具、虚拟金币等内容。通过简单几个破解步骤,即可完成关卡升级、虚拟货币充值等目的。
在游戏未进行任何安全保护措施前,破解者可以轻松将apk文件用winrar打开,将lib/armeabi/libcocos2dcpp.so文件解压出来之后用IDA(一款专业的逆向工具)打开。在IDA解析完成之后,搜索MyLoadBegin函数即可看到初始化的钻石数量,金币数量,vip等级等,这正是破解者进行破解的突破点。如图1所示, 10000为金币数量,100为钻石数量。
破解者是如何篡改游戏内数值的,揭秘Android手游破解全过程-风君雪科技博客
通过图2则可以判断该代码是决定VIP等级的部分。
 
破解者是如何篡改游戏内数值的,揭秘Android手游破解全过程-风君雪科技博客
找到初始化数据后,破解者就可以对其进行任意数值和参数的篡改了,图3和图4是对游戏内的金币与钻石的初始化数值进行篡改的前后对比图。
 
破解者是如何篡改游戏内数值的,揭秘Android手游破解全过程-风君雪科技博客
破解者是如何篡改游戏内数值的,揭秘Android手游破解全过程-风君雪科技博客
   图5和图6是对VIP等级进行篡改的前后对比图。
破解者是如何篡改游戏内数值的,揭秘Android手游破解全过程-风君雪科技博客
经过上面的数值篡改,前台页面最终展示的结果如图7和图8所示,能看到,钻石数量由初始的100改成了99999,金币数量由10000改成了99999。
破解者是如何篡改游戏内数值的,揭秘Android手游破解全过程-风君雪科技博客
破解者是如何篡改游戏内数值的,揭秘Android手游破解全过程-风君雪科技博客
同时,如图9和图10所示,VIP等级也已经从初始的VIP1达到了满级。
 
破解者是如何篡改游戏内数值的,揭秘Android手游破解全过程-风君雪科技博客
破解者是如何篡改游戏内数值的,揭秘Android手游破解全过程-风君雪科技博客
通过以上几个简单步骤,就完了对游戏的破解和篡改。对破解者而言,这只是分分钟的事情,而对于游戏开发者,却是多少个加班和心血被付诸东流的惨剧。开发不易,提供应用安全性,需要防患于未然。撰写代码规则、进行漏洞检测或使用第三方加密保护都是避免被破解的方法。第三方加密保护可以选择专业的移动应用安全智能服务提供商——爱加密,他们不仅有专业的安卓apk加密,还有各种类型apk的加密解决方案,关于手游解决方案可以参看:http://t.cn/RzemnNW