objection简介
objection是基于frida的命令行hook集合工具, 可以让你不写代码, 敲几句命令就可以对java函数的高颗粒度hook, 还支持RPC调用。可以实现诸如内存搜索、类和模块搜索、方法hook打印参数返回值调用栈等常用功能,是一个非常方便的,逆向必备、内存漫游神器。
安装:pip install objection
objection快速上手
日志文件目录:C:\Users\Administrator\.objection
启动命令
objection -g 包名 explore
# 启动前就hook
objection -g 进程名 explore --startup-command "android hooking watch class 路径.类名"
基础API
- 查看内存中加载的库,会显示很多基本不用:
memory list modules
- 查看库的导出函数,不如直接用IDA基本不用:
memory list exports so名称
- 查看内存中加载的activity:
android hooking list activities
- 查看内存中加载的services:
android hooking list services
- 启动
activity
或service
:android intent launch_activity 类名
- 关闭ssl校验:
android sslpinning disable
- 关闭root检测:
android root disable
内存漫游
- 内存搜刮类实例:
android heap search instances 类名
- 调用实例的方法:
- 无参调用:
android heap execute <hashcode> <方法名>
- 有参调用:
- 先进入编译器:
android heap evaluate <hashcode>
- 传入参数:
console.log(clazz.方法名称(参数));
- 按住esc+enter触发
- 先进入编译器:
- 无参调用:
- 列出内存中所有的类:
android hooking list classes
- 在内存中所有已加载的类中搜索包含特定关键词的类:
android hooking search classes 关键类名
- 内存漫游类中的所有方法:
android hooking list class_methods 类名
HOOK
- hook类的所有方法:
android hooking watch class 类名 --dump-args --dump-return --dump-backtrace
- hook指定方法:
android hooking watch class_method 类名.方法名 --dump-args --dump-return --dump-backtrace
- hook 类的构造方法:
android hooking watch class_method 类名.$init
- hook 方法的所有重载:
android hooking watch class_method 类名.方法名
感谢:【新提醒】《安卓逆向这档事》十四、是时候学习一下Frida一把梭了(中) – 『移动安全区』 – 吾爱破解 – LCG – LSG |安卓破解|病毒分析|www.52pojie.cn