本帖最后由 lhro 于 2023-12-21 22:18 编辑
前言
objection 的最新版本 1.11.0 发布时间为2021年,与其匹配的frida版本为14.2.18。然而frida server 14.2.18在我的测试机一加Ace 2V 会导致系统崩溃重启,似乎是与MTK的兼容性问题。frida 降级到 12 后,虽然手机不崩溃了,但是这个版本在Mac上仅有X86的版本,与M2芯片不匹配。。。
另一方面,虽然objection虽然较长时间没有新发布,但是仓库代码仍保持更新,最近一次提交时间为9月10日,因此萌生了从源码编译安装的意图。
objection编译步骤
测试环境:
- macos 14
- python 3.8
- frida 16.1.8
- node.js 20.10.0
- Android 13
- 准备工作
- 安装 node.js:https://nodejs.org/en
- 下载objection源码
git clone https://github.com/sensepost/objection.git
- 进入objection源码目录
cd path/to/objection/
- 准备 npm 项目依赖
cd agent
npm install
- 编译
cd .. # objection源码目录
make frida-agent
make sdist
- 安装
pip install dist/objection-1.11.0.tar.gz
PS
此时编译的objection与1.11.0版本的命令有一定变化。常用命令变化为:
-g --> -n
explore --> start
Usage: objection [OPTIONS] COMMAND [ARGS]...
_ _ _ _
___| |_|_|___ ___| |_|_|___ ___
| . | . | | -_| _| _| | . | |
|___|___| |___|___|_| |_|___|_|_|
|___|(object)inject(ion)
Runtime Mobile Exploration
by: @leonjza from @sensepost
Options:
-N, --network Connect using a network connection instead of USB.
-h, --host TEXT [default: 127.0.0.1]
-p, --port INTEGER [default: 27042]
-ah, --api-host TEXT [default: 127.0.0.1]
-ap, --api-port INTEGER [default: 8888]
-n, --name TEXT Name or bundle identifier to attach to.
-S, --serial TEXT A device serial to connect to.
-d, --debug Enable debug mode with verbose output.
-s, --spawn Spawn the target.
-p, --no-pause Resume the target immediately.
-f, --foremost Use the current foremost application.
--debugger Enable the Chrome debug port.
--uid TEXT Specify the uid to run as (Android only).
--help Show this message and exit.
Commands:
api Start the objection API server in headless mode.
patchapk Patch an APK with the frida-gadget.so.
patchipa Patch an IPA with the FridaGadget dylib.
run Run a single objection command.
signapk Zipalign and sign an APK with the objection key.
start Start a new session
version Prints the current version and exits.
PPS
单元测试不通过,影响未知。。。
|