zoukankan      html  css  js  c++  java
  • Android游戏破解练习-大圣觉醒

    Android游戏破解练习-大圣觉醒

    1569400652594

    用Android Skiller搜下关键字看有没有PaySuccess

    发现有关键字

    1569401079176

    那么就用Jadx继续搜索

    找到关键字找到它对应类,右键查找引用

    1569401160256

    看看哪里引用了

    1569401184562

    一直往上找。会看到

    1569401306490

    日志,过滤一下

    1569401426779

    发现关键信息

    再Jadx直接搜索中文支付接口被调用

    1569401517680

    进入后,发现d应该是刚刚看到的跟支付有关的类

    但是不确定,所以想加个日志,那么要再Android Skiller里面找到这个位置

    1569401646871

    根据之前再jadx里面的d函数看到,run函数前面有个判断。

    因此,在Android Skiller里面找到类后,找到run,方法前面有个判断,注释掉

    1569401686640

    右键插入log

    1569401765515

    下面不让它goto,所以直接加个return void

    1569401783810

    有发现log,说明这个跟支付是有关系的

    1569401903144

    但是还是弹出了这个支付。所以还要在往前找一点。

    1569401869858

    1569401970678

    在这里runOnUiThread执行了一个线程的回调函数

    1569402020041

    一直往上看。看到这,猜测可能这个MyOPayLinstener是我们实际支付的那个函数

    进去看下

    1569402074423

    发现这个状态只有1是成功的。其他失败,那么是否可以在外面直接调用成功的这个函数。

    观察他们所在的类的位置。看是否能直接调用nativeBuySuccessHandler()

    注释掉这3行

    1569402365681

    然后调用我们要调用的函数

    首先它是一个静态函数 因此invoke-static,然后复制文件夹名字加上;->函数名调用,最后V是返回值。

    添加代码

    1569402415170

    .line 534
       
        invoke-static {}, Lorg/cocos2dx/lib/Cocos2dxActivity;->nativeBuySuccessHandler()V
        #new-instance v1, Lorg/cocos2dx/lib/Cocos2dxActivity$MyOPayLinstener;

        #invoke-direct {v1, p0}, Lorg/cocos2dx/lib/Cocos2dxActivity$MyOPayLinstener;-><init>(Lorg/cocos2dx/lib/Cocos2dxActivity;)V

       .line 532
        #invoke-static {v0, p0, v1}, Lcom/opay/android/sdk/OPayUtil;->pay(Ljava/lang/String;Landroid/app/Activity;Lcom/opay/android/sdk/OPayCallBack;)V

    编译。完成

  • 相关阅读:
    Eclipse/MyEclip中使用复制粘贴功能很卡
    ActiveMQ使用教程
    ActiveMQ常见消息类型
    推荐12个最好的 JavaScript 图形绘制库
    eclipse 打包springboot成jar
    CentOS 7下ELK(6.2.4)++LogStash+Filebeat+Log4j日志集成环境搭建
    elasticsearch启动常见错误
    使用haproxy实现负载均衡集群
    linux配置mysql5.6 主主复制同步
    力扣No.102 二叉树的层次遍历
  • 原文地址:https://www.cnblogs.com/ltyandy/p/11587039.html
Copyright © 2011-2022 走看看