本帖最后由 泄密无花 于 2023-6-21 18:06 编辑
0x00 前言
Objection 环境搭建
0x01 准备
1、项目地址
https://github.com/sensepost/objection
2、版本对应关系
-
较稳定版本
-
pip install frida==12.8.0
pip install frida-tools==5.3.0
pip install objection==1.8.4
-
最新版本
-
pip install frida==14.2.18
pip install frida-tools==9.2.5
pip install objection==1.11.0
-
推荐使用miniconda、pyenv等虚拟环境来做版本管理,这里就不再赘述
3、坑点
-
Q:安装卡在Building wheel for frida (setup.py) ...
-
A:是因为 setup.py 在构建的时候,代码内部访问 pipy的官方源 ,导致构建速度几乎没有;给终端挂上DL即可解决
-
set http_proxy=http://127.0.0.1:7890
set https_proxy=http://127.0.0.1:7890
0x02 常用命令
1、USB 模式连接
objection -g <package_name> explore
2、NET 模式连接
objection -N -h <ip> -p <port> -g <package_name> explore
该命令的参数和选项如下:
-N:指示 objection 使用网络DL连接。在本例中, -N 参数意味着 objection 将使用网络DL服务器。
-h <ip>:指示要连接到的网络DL服务器的 IP 地址。
-p <port>:指示要连接到DL服务器的端口号。
-g <package_name>:指示要探索的应用程序的包名。
explore:指示 objection 要进入探索模式。在探索模式下,objection 会尝试使用 Frida 向目标应用程序注入代码,并与其交互,以便进行动态分析和调试。
0x03 实例分析
1、以这篇帖子为例
【原创】安卓逆向实例 - ProCCD复古CCD相机胶片滤镜-吾爱汇编论坛
(1)以最新版的App为例子调试
(2)Objection为最新版本
(3)环境为雷电模拟器 9
2、调试分析
(1)附加进程
# 获取 adb root 权限
adb root
# 上次并运行对应的 frida-server
adb shell push frida-server /data/local/tmp
# 提权
adb shell "chmod 777 /data/local/tmp/frida-server"
# USB 连接模式
adb shell "/data/local/tmp/frida-server &"
# Net 连接模式
adb shell "/data/local/tmp/frida-server -l 0.0.0.0:8888 &"
# 获取第三方App的包名
adb shell pm list package -3
# objection USB 模式 附加调试
objection -g com.cerdillac.proccd.cn explore
# objection NET 模式 附加调试
objection -N -h 127.0.0.1 -p 8888 -g com.cerdillac.proccd.cn explore
(2)搜索方法、类
# 搜索类
android hooking search classes Vip
未完待续 |