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

    编译。完成

  • 相关阅读:
    软件工程基础
    第一个微信小项目
    数据库实践
    爬虫
    模拟体育竞技
    自己的第一个网页
    科学计算和可视化
    结队项目
    自动生成小学四则运算
    自动生成小学四则运算
  • 原文地址:https://www.cnblogs.com/ltyandy/p/11587039.html
Copyright © 2011-2022 走看看