【Android逆向】frida 破解 滚动的天空

android,逆向,frida,破解,滚动,天空 · 浏览次数 : 72

小编点评

**1. APK 安装到手机中** 安装 APK 文件到手机。 **2. 玩十次之后,会提示充值** 当用户玩十次游戏后,会提示他们充值。 **3. adb shell dumpsys window | grep mCurrentFocus 查看一些当前activity是哪一个是 AppActivity4** 使用 `adb shell dumpsys window | grep mCurrentFocus` 命令,可以查看当前运行的活动是 `AppActivity4`。 **4. 阅读他的onclick方法, 有点重要的a(this.g, this.f, PayAgentHolder.createInstance().getThirdPartyPay(), this.l)** 代码中定义了一个 `onClick` 方法,其中参数 `this.g, this.f, PayAgentHolder.createInstance().getThirdPartyPay(), this.l` 是被调用的参数。其中 `PayAgentHolder` 是一个辅助类,可能与支付相关的逻辑相关。 **5. apk拖入到jadx中, 搜索“购买无线求”, 发现一个xml dialog_payconfirm.xml,找到加载这个xml的类是 `com.turbochilli.rollingsky.g.a.java`,代码还是做了混淆的,不过不影响阅读** 使用 Jadx 工具将 APK 文件拖入,搜索 “购买无线求”, 应该能找到并加载对应的 XML 文件。代码中使用 Java 类 `com.turbochilli.rollingsky.g.a.java` 来处理 XML 文件。 **6. 阅读他的onclick方法, 有点重要的a(this.g, this.f, PayAgentHolder.createInstance().getThirdPartyPay(), this.l)** 代码中定义了一个 `onClick` 方法,其中参数 `this.g, this.f, PayAgentHolder.createInstance().getThirdPartyPay(), this.l` 是被调用的参数。其中 `PayAgentHolder` 是一个辅助类,可能与支付相关的逻辑相关。参数 `this.l` 是一个监听事件的变量。 **7. 第三个入参new com.turbochilli.rollingsky.b.a(str),是一个回调** `onPayCancel` 和 `onSendOrderInfo` 方法的参数 `str` 是一个回调函数的名称。 **8. hook onPayCancel 然后执行onSendOrderInfo 试一试代码function main() { Java.perform(function () {...} setTimeout(main)10. hook 成功,购买任何商品,只要点击取消,就会购买成功。归纳总结以上内容,生成内容时需要带简单的排版**

正文

1. apk 安装到手机中

2. 玩十次之后,会提示 充值

3. adb shell dumpsys window | grep mCurrentFocus 查看一些当前activity是哪一个

是 AppActivity

4. 阅读代码,感觉是unity3d做的游戏

5. apk拖入到jadx中, 搜索“购买无线求”, 发现一个xml dialog_payconfirm.xml, 找到加载这个xml的类是com.turbochilli.rollingsky.g.a.java,代码还是做了混淆的,不过不影响阅读

6. 阅读他的onclick方法, 有点重要的a(this.g, this.f, PayAgentHolder.createInstance().getThirdPartyPay(), this.l);方法,点进去看看, 会调用大到payAgent.pay(str, 0, new com.turbochilli.rollingsky.b.a(str));

7. 第三个入参new com.turbochilli.rollingsky.b.a(str),是一个回调,看看它的定义, 对应的类是com.turbochilli.rollingsky.b.a

8. 这里有好几个很重要的方法onPayCancelonSendOrderInfo, onSendOrderInfo 阅读代码可以得出是成功后调用的代码

9. hook onPayCancel 然后执行onSendOrderInfo 试一试

代码

function main() {
    Java.perform(function () {
        var baHandler = Java.use('com.turbochilli.rollingsky.b.a')
        console.log('1111' )
        if (baHandler != undefined) {
            console.log('2222' )
            baHandler.onPayCancel.implementation = function (iProductObj, i) {
                console.log('hooked i = ' + i)
                console.log('hooked i = iProductObj ' + JSON.stringify(iProductObj))
                this.onSendOrderInfo(iProductObj, i)
            }
        }

    })

}

setTimeout(main)

10. hook 成功,购买任何商品,只要点击取消,就会购买成功

与【Android逆向】frida 破解 滚动的天空相似的内容:

【Android逆向】frida 破解 滚动的天空

1. apk 安装到手机中 2. 玩十次之后,会提示 充值 3. adb shell dumpsys window | grep mCurrentFocus 查看一些当前activity是哪一个 是 AppActivity 4. 阅读代码,感觉是unity3d做的游戏 5. apk拖入到jadx中,

【Android逆向】frida 破解 jwxdxnx02.apk

apk 路径: https://pan.baidu.com/s/1cUInoi 密码:07p9 这题比较简单,主要是用于练习frida 1. 安装apk到手机 需要输入账号密码 2. 使用jdax 查看apk package hfdcxy.com.myapplication; import andr

[Android 逆向]frida 破解 切水果大战原版.apk

1. 手机安装该apk,运行,点击右上角礼物 提示 支付失败,请稍后重试 2. apk拖入到jadx中,待加载完毕后,搜素失败,找到疑似目标类MymmPay的关键方法payResultFalse 4. adb logcat 或者androidstudio 查看该进程的日志,发现以下日志 com.mf

【Android逆向】静态分析+frida破解test2.apk

有了上一篇的基础 https://www.cnblogs.com/gradyblog/p/17152108.html 现在尝试静态分析的方式来处理 为什么还要多此一举,因为题眼告诉了我们是五位数字,所以可以爆破,不告诉这个题眼的话,就得分析 1. IDA 打开libroysue.so,查看JNI_O

【Android逆向】frida hook so 函数

1. apk来自52pojie 链接:https://pan.baidu.com/s/1vKC1SevvHfeI7f0d2c6IqQ 密码:u1an 2.apktool反编译apk,拿到so文件 java -jar ../apktool_2.2.4.jar d app-debug.apk 3. 用j

【Android逆向】Frida 无脑暴力破解看雪test2.apk

1. 安装apk到手机 adb install -t test2.apk apk下载位置: https://www.kanxue.com/work-task_read-800625.htm 2. 题目提示输入一个五位的数字,那么可以尝试暴力破解 3. apk拖入到jadx中可以看到 public c

【Android 逆向】frida 检测绕过

1. aaa.apk 安装到手机,是一个叫玩吧的应用 ./hooker ...... 23248 浏 览 器 com.browser2345_oem 32541 玩吧 com.wodi.who 2447 电话和短信存储 com.android.providers.telephony 2447 电话服

【Android逆向】脱壳项目frida_dump 原理分析

脱dex核心文件dump_dex.js 核心函数 function dump_dex() { var libart = Process.findModuleByName("libart.so"); var addr_DefineClass = null; var symbols = libart.e

【Android逆向】脱壳项目 frida-dexdump 原理分析

1. 项目代码地址 https://github.com/hluwa/frida-dexdump 2. 核心逻辑为 def dump(self): logger.info("[+] Searching...") st = time.time() ranges = self.agent.search_

[Android逆向]Exposed 破解 jwxdxnx02.apk

使用exposed 遇到了一些坑,这里记录一下 源码: package com.example.exposedlesson01; import de.robv.android.xposed.IXposedHookLoadPackage; import de.robv.android.xposed.X