【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. 这里有好几个很重要的方法onPayCancel
和onSendOrderInfo
, 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 破解 滚动的天空相似的内容: