Skip to content

快速上手 ​

这一页带你从零跑通 objection:安装 → 连接设备 → 进入 REPL → 执行第一条命令。

1. 安装 ​

objection 是 Python 包,直接 pip 安装:

bash
pip install objection
# 或升级已有版本
pip install --upgrade objection

安装后会得到 objection 命令。验证:

bash
objection version
# objection: 1.12.5

Python 版本

objection 要求 Python ≥ 3.10(见 pyproject.toml)。

2. 准备目标 ​

你需要决定怎么连接目标。两条路径对应不同前提:

  • frida-server 路径:设备上装并运行 frida-server,宿主机用 USB 连接。
  • Gadget 路径:用 objection patchapk 把 gadget 嵌入 APK(详见 APK Patch),装到普通设备即可。

3. 启动一个会话 ​

最常用的命令是 objection start(旧名 explore,已弃用但兼容):

bash
# USB 连接,附加/拉起指定包名
objection -g com.example.app start

# 通过网络连接远程设备(如 frida-server 监听在 192.168.1.10:27042)
objection -N -h 192.168.1.10 -P 27042 -g com.example.app start

# 直接 spawn 目标(App 未启动时拉起)
objection -g com.example.app -s start

# 连接当前前台 App
objection --foremost start

常用顶层参数(见 console/cli.py:44):

参数含义
-g / --name目标 App 的包名 / bundle id
-N / --network用网络而非 USB 连接
-L / --local本地连接(iOS 模拟器)
-h / --host、-P / --port网络模式的地址端口
-S / --serial指定设备序列号
-s / --spawnspawn 模式拉起目标
-f / --foremost附加到当前前台 App
-p / --no-pausespawn 后立即恢复执行
-d / --debug调试模式,输出详细日志

4. 进入 REPL ​

成功后会进入交互式 REPL,提示符类似 com.example.app on (usb) #。在这里敲 objection 命令:

text
com.example.app on (usb) # android sslpinning disable
(agent) Custom TrustManager ready, overriding SSLContext.init()
(agent) Found okhttp3.CertificatePinner, overriding CertificatePinner.check()
...

com.example.app on (usb) # android hooking list classes
java.lang.String
java.lang.Object
...

com.example.app on (usb) # ios keychain dump

不进 REPL 也能用

单条命令可用 objection run:

bash
objection -g com.example.app run android sslpinning disable

5. 三条最该先试的命令 ​

6. 退出与帮助 ​

  • REPL 里输入 exit 或 quit 退出;
  • 输入 help 查看所有命令,help <命令> 查看某命令用法(帮助文件位于 objection/console/helpfiles/);
  • jobs 查看后台任务,jobs kill <id> 结束任务。

到这里你已经能跑通基本流程。接下来深入原理:Frida 与 Agent。

基于 GPL-3.0-or-later 许可发布