status
Published
type
Post
category
安卓逆向
date
Feb 23, 2024
slug
FridaRPC
summary
Frida-rpc的介绍与使用
tags
frida
password
icon
遇到so文件如何分析
- 硬核破解--》难度很大
- frida-rpc,直接调用手机中方法,传入参数,返回结果
- 自己写个app,放入它的so文件,我们主动调用
- unidbg,模拟手机的运行环境--》直接执行so文件
frida-rpc是什么
frida 提供了一种跨平台的 rpc (远程过程调用)机制,通过 frida rpc 可以在主机和目标设备之间进行通信,并在目标设备上执行代码 rpc:远程过程调用 -后端开发--》微服务中会经常使用到
工作原理:

流程图描述
- [宿主程序]:启动Frida,准备调用RPC方法。
- [注入Frida脚本]:将JavaScript脚本注入目标进程。
- [定义RPC方法]:在JavaScript脚本中定义RPC方法。
- [调用RPC方法]:宿主程序通过Frida API调用RPC方法。
- [执行操作]:在目标进程中执行RPC方法。
- [返回结果]:将执行结果返回给宿主程序。
- [双向通信]:可进行额外的数据交换和通信。


如何使用frida-rpc
使用Frida RPC涉及到几个关键步骤,包括编写注入的Frida脚本、定义RPC方法,以及在宿主程序中调用这些方法。以下是一个基本的使用Frida RPC的指南:
1. 安装Frida
首先,确保你已经安装了Frida。可以通过Python的pip包管理器安装:
2. 编写Frida脚本
创建一个JavaScript脚本,用于注入到目标进程中。在这个脚本里,你需要定义一些可以作为RPC方法的函数。例如:
3. 启动Frida并注入脚本
在宿主程序(如Python脚本)中,使用Frida来注入上面的JavaScript脚本到目标进程。例如:
4. 调用RPC方法
一旦脚本被注入并加载,你就可以在宿主程序中通过脚本对象调用RPC方法。例如:
5. 实现双向通信
如果需要,你的Frida脚本可以通过
send函数发送消息到宿主程序,并在宿主程序中通过设置message事件处理函数来接收这些消息。示例
这里是一个完整的示例,展示了如何在Python宿主程序中使用Frida RPC来调用注入脚本的函数。
JavaScript脚本(my_script.js)
Python宿主脚本
某app示例
注意事项
- 目标进程:确保你有权限并能够定位到目标进程。
- 调试:Frida脚本在运行时可能会遇到错误,确保你有办法调试这些脚本(例如通过
console.log)。
- 性能考虑:记住,注入代码和执行RPC方法可能会对目标应用的性能产生影响。
以上就是使用Frida RPC的基本步骤和考虑。实际应用中可能需要根据具体情况进行调整。
📎 参考文章
- 一些引用
- 引用文章
Loading...


.png?table=block&id=8cbd9ef4-8c1c-4581-80f1-a15297380674&t=8cbd9ef4-8c1c-4581-80f1-a15297380674&width=1080&cache=v2)

