吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1764|回复: 5
上一主题 下一主题
收起左侧

[Android 原创] 基于 FireRPA 的 Frida 脚本持久化以及接口导出和数据上报

[复制链接]
跳转到指定楼层
楼主
rev1si0n 发表于 2024-12-22 16:26 回帖奖励

FIRERPA 提供了一个持久化 Frida 脚本的能力,可以通过调用 Python 接口方便的将 js 脚本注入进程并保活脚本。

使用非常简单,比如我们有下面这个 frida js 代码,他的作用是截获 okhttp 的响应并将数据提交出去。

Java.perform(function() {
        Java.use("com.android.okhttp.internal.http.HttpEngine").getResponse.implementation = function() {
                var res = this.getResponse()
                var data = {}
                data["url"] = res._request.value._url.value._url.value
                data["body"] = res.body().string()
                emit("report_data", JSON.stringify(data))
                return res
        }
})

然后调用如下的接口即可实现将脚本注入到应用进程,并将这个脚本截获到的数据提交到 10.1.1.1 服务器上的 redis 数据库。

app = d.application("com.android.settings")
app.attach_script(script, emit="redis://10.1.1.1/0 ", runtime=ScriptRuntime.RUNTIME_QJS, standup=5)

这里的 script 变量支持明文的 js 以及编译的 byte code,runtime 为对应的 runtime,默认为 qjs,frida 也支持 v8,standup 参数意思是仅在应用启动了 5 秒后再进行注入。
注入后,只要截获到 getResponse 调用,响应的数据就都会传输到 redis 的 report_data 队列里面,非常的方便。

同时,还支持将 frida 的 rpc.exports 方法导出作为 Python 接口调用,比如下面这个代码,定义了三个 rpc 方法,将这段代码注入到应用进程后。

Java.perform(function() {
rpc.exports = {
exampleFunc1: function (a, b) {
        return performRpcJVMCall(function() {
                var String = Java.use("java.lang.String")
                var msg = String.$new("Hello World").toString()
                return msg + ":" + a + b
        })
},
exampleFunc2: function (a, b) {
        return performRpcJVMCallOnMain(function() {
                var String = Java.use("java.lang.String")
                var msg = String.$new("Hello World").toString()
                return msg + ":" + a + b
        })
},
exampleFunc3: function (a, b) {
        return performRpcCall(function() {
                return a + b
        })
},
}
})

然后就可以像这样直接调用这个导出的方法,非常强大。

app = d.application("com.android.settings")
app.exampleFunc1("LAM", "DA")

原视频 https://www.bilibili.com/video/BV1mqkqYhEkt/
相关文档 https://device-farm.com/doc/%E6%8C%81%E4%B9%85%E5%8C%96FRIDA%E8%84%9A%E6%9C%AC.html

免费评分

参与人数 1吾爱币 +7 热心值 +1 收起 理由
正己 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
阿清 发表于 2024-12-23 21:20
没有安卓的嘛 直接安装到手机 模块化那种
3#
Some 发表于 2024-12-23 23:20
4#
 楼主| rev1si0n 发表于 2024-12-25 19:57 |楼主
阿清 发表于 2024-12-23 21:20
没有安卓的嘛 直接安装到手机 模块化那种

这个就是安卓的呀,可以用 magisk 模块安装的
5#
zjh889 发表于 2024-12-25 22:48
这个框架不错,谢谢大师!
6#
roncis 发表于 2024-12-31 17:48
感谢分享!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-8 04:05

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表