Cocos2d-x游戏的一般验证分析

本文分析了Cocos2d-x游戏的apk校验过程,重点在于apk的签名校验和文件合法性验证。在smali、so及dll中查找关键词如'signature'、'publickey',发现会获取MD5值进行验证。
摘要由CSDN通过智能技术生成
Coco2d-x引擎是相对于Unity3D的又一实力派引擎,虽然随着3D游戏的热门,更多的厂商偏向于Unity3D,但是Coco2d-x的普及量也不容小觑,特别是一些比较大的手游公司,比如触控科技仍然一直沿用着Coco2d-x的东西。我们从三个热门游戏来说说Coco2d-x游戏的一般文件验证方法。
1、捕鱼达人2:将Smali文件中获取包路径的参数转向我们自定义的。
该种方法最早见于:http://bbs.csdn.net/topics/390598569?page=2#post-395954285
竟然闪退那必然会在主Activity的oncreate中启动相关代码。下面是流程:
public class FishingJoy extends FishingJoyWrapper-->public class FishingJoyWrapper extends Cocos2dxActivity-->public abstract class Cocos2dxActivity extends Activity;
注意:class A extends B 表示A类承接B类,即B是A的相对父类。从而知 Cocos2dxActivity 是程序启动时的根类,查看 oncreate 方法:
  protected void onCreate(Bundle paramBundle)
  {
    super.onCreate(paramBundle);
    init();
    Cocos2dxHelper.init(this, this);
  }
又转向至 Cocos2dxHelper 类的 init 方法中,下面是其主要的smali代码:
<pre name="code" class="javascript">    //“参考文章:http://android.tgbus.com/Android/tutorial/201108/362210.shtml”
    //通过ApplicationInfo类中的packageName方法获取程序名称并保存在sPackageName字符串中
    iget-object v1, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值