平头哥 Retal + 只狼 Sekiro 实现 Rpc¶
前言¶
本文用于介绍
frida rpc的另一种实现方式,可以先了解平头哥框架和只狼框架的相关文章再尝试复现此文章。
本文章是在平头哥插件的基础上结合只狼框架来实现 rpc 的效果,所以先自行查看平头哥插件的编写教程。
这里先只放上简要流程,后面会补充详细过程。
1. 前提准备¶
需要提前做好环境和相关依赖库的配置!
- 安装
android studio - 平头哥官方文档: http://ratel-doc.virjar.com/
ratel项目的模版: https://github.com/virjarRatel/ratel-module-template- 平头哥初体验参考文章: https://reao.io/archives/49/
virjar的ratel manager成品地址:https://oss.virjar.com/minio/ratel 或 https://oss.virjar.com/minio/ratel
2. 实现步骤¶
2.1. 给平头哥插件网络权限¶
准备一个平头哥插件,这里为 crack-testrpcall 项目。先要给它个网络权限。

2.2. 添加依赖¶

2.3. 创建对应的 hadlers package¶
添加 ClientTimeHandler 的 hadlers,用来接收 classloader。添加 action 来绑定具体的调用,这里为 clientTime,正常在实现的 RequestHandler 的 handleRequest 方法中添加要 hook 传参和发送结果的功能。

2.4. 创建 sekiro 包¶
用来创建 SekiroClient 来建立 sekiro 的通信功能。此为 hook 的入口类,当运行目标 app 时创建通信的基础配置。

2.5. 安装后,感染¶
这里为 Ratel 的简单使用,不再说。
2.6. 调用 sekiro api¶
通过 sekiro api 来测试 sekiro 服务是否搭建成功。

3. 总结¶
- 可以尝试去
rpc实现其它的app的so实现,这里不再赘述,不是本文考虑的问题,可以看看我的app逆向专题。 - frida + sekiro 实现 rpc 的参考文章
- qin 佬使用 sekiro 实现 rpc 的参考文章