frida-skeleton https://github.com/Margular/frida-skeleton
frida-skeleton
是基于frida的安卓hook框架,提供了很多frida自身不支持的功能,将hook安卓变成简单便捷,人人都会的事情,主要有:
- 根据正则表达式批量hook安卓应用,支持多线程,可同时hook多个设备互不影响
- 针对不同的应用可以同时加载不同的hook脚本,且支持优先级配置
- 自动将手机上的所有TCP流量重定向到PC上的抓包工具如BurpSuite,无需手动配置,且自动绕过证书绑定机制
- 丰富的日志记录功能,让你的hook历史永不丢失
- 自动识别当前使用的frida版本并下载对应版本的frida-server到/data/local/tmp运行
- 提供封装好的实用API以减少日常工作中的重复劳动
- Python3
- 克隆本项目到本地
git clone https://github.com/Margular/frida-skeleton.git
- 安装第三方依赖库
pip install -r requirements.txt
python frida-skeleton.py -h
详细说明请移步WIKI
文件目录
├── CHANGELOG.md 项目改动记录
├── LICENSE 许可证
├── README.md 本文档
├── /assets/ 下载的frida-server存放的位置
├── frida-skeleton.py 项目入口
├── /images/ 本项目用到的图像资源文件
├── /lib/ Python库文件,frida-skeleton核心实现部分
├── /logs/ hook日志记录文件夹
├── /projects/ hook脚本存放的文件夹,以目录区分项目
├── requirements.txt 三方库需求列表
├── /scripts/ 封装好的实用API
└── /tests/ 提供测试的安卓项目
贡献使开源社区成为一个学习、激励和创造的绝佳场所。你所作的任何贡献都是非常感谢的。
- Fork本项目
- 创建开发分支 (
git checkout -b dev
) - 提交更改 (
git commit -m 'Add something'
) - 推送到分支 (
git push origin dev
) - 提Pull Request
该项目使用Git进行版本管理。您可以在repository参看当前可用版本。
该项目签署了MIT 授权许可,详情请参阅 LICENSE
Add
- 新增--no-root选项,有的设备不支持adb root
- frida-server使用随机端口绕过常规检测
- 在初始化FridaThread时校验设备是否root
Changed
- 使用enumerate_applications替换enumerate_processes
Fixed
- 修复有的su不支持后面跟一个-
- attrdict本地模块化以兼容3.10及以上版本
Add
- 保存hook脚本的整个内容方便调试和查看
Changed
- 在调用Trace.javaClassByRegex的时候默认跳过hook系统函数
Fixed
- 修复可能无法退出程序的BUG
Add
- 新增Jav.describeObject API,很方便地打印java对象的函数和字段信息
- 加入星链计划2.0
- 添加logo
Changed
- 迁移wiki到github
- 主程序帮助界面改为中文