• Stars
    star
    659
  • Rank 68,396 (Top 2 %)
  • Language
    JavaScript
  • Created almost 4 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

安卓Java层多功能追踪脚本

2023-6-15更新:

  • 基于最新Frida16
  • 新增iOS平台支持且自动判断应用所属平台
  • 输出信息非常全面,iOS平台对property的访问也被hook并输出
  • 新增hookALL()模式,hook应用的所有类方法重载;(小应用可用,大应用扛不住)

r0tracer

安卓Java层多功能追踪脚本

AKA:精简版 objection + Wallbreaker

功能:

  • 根据黑白名单批量追踪类的所有方法

hook("javax.crypto.Cipher", "$");

  • 在命中方法后打印出该类或对象的所有域值、参数、调用栈和返回值

  • 极简的文本保存日志机制、易于搜索关键参数

  • 针对加壳应用找不到类时可以切换Classloader

使用方法:

  1. 修改r0tracer.js文件最底部处的代码,开启某一个Hook模式。

  1. 推荐使用Frida14版本,并且将日志使用-o参数进行输出保存
$ frida -U -f com.r0ysue.example -l r0tracer.js  --no-pause -o saveLog5.txt

"-f"为Spawn模式,去掉"-f"为Attach模式

  1. Frida版本=<12时,要加上--runtime=v8选项
$ frida -U com.r0ysue.example -l r0tracer.js  --runtime=v8 --no-pause -o saveLog6.txt

优势

  • objection增加延时spawn
  • objection增加批量hook类\方法\构造函数
  • Wallbreakerfrida14上还是一直崩
  • Wallbreaker增加hookinstancefields
  • inspectObject函数可以单独拿出去使用

注意点:

  • Frida的崩溃有时候真的是玄学,大项目一崩溃根本不知道是哪里出的问题,这也是小而专的项目也有一丝机会的原因
  • Frida自身即会经常崩溃,建议多更换Frida(客/服要配套)版本/安卓版本,ROOT采用Magisk Root
  • 我自己常用的组合是两部手机,Frida12.8.0全家桶+Google Factoty Image Android 8.1.0,和Frida14.2.2全家桶+Google Factoty Image Android 10

致谢 Thanks to

项目 链接
objection https://github.com/sensepost/objection
Wallbreaker https://github.com/hluwa/Wallbreaker
hacking-frida https://awakened1712.github.io/hacking/hacking-frida/