逆向调试objection的使用
官方文件地址:https://github.com/sensepost/objection/wiki/Screenshots
1.安装
pip install objection
2.安卓用法
命令查看
objection --help
objection
#前提frida-server的启动
objection -g 包名 explore
#指定ip和端口的连接
objection -N -h xx.xx.xx.xxx -p xxx -g packageName explore
Spawn方式Hook
#为了避免错过hook时机,采用附加模式,在objection 启动时就注入app
objection -g packageName explore --startup-command "你要执行的oc命令"
hook指定类
android hooking watch class 包名.类名 # hook类的所有方法
android hooking watch class_method 包名.类名.方法 # 默认会Hook方法的所有重载
android hooking watch class_method 包名.类名.方法 "参数1,参数2" # 如果只需hook其中一个重载函数 指定参数类型 多个参数用逗号分隔
#其中参数
–-dump-args: 显示参数;
--dump-return: 显示返回值;
--dump-backtrace: 显示堆栈
#设置返回值(只支持bool类型)
android hooking set return_value com.xxx.xxx.methodName false
#Spawn方式hook时候打印参数
objection -g packageName explore --startup-command "android hooking watch class_method "类名" --dump-args --dump-return --dump-backtrace"
android hooking list classes # 列出内存中所有的类
android hooking list class_methods 包名.类名 # 列出类的所有方法
android hooking search classes 包名包含的关键词 # 在内存中所有已加载的类中搜索包含特定关键词的类
android hooking list activities #枚举activity
android intent launch_activity [activity_class] #启动activity
android hooking list services #枚举services
android intent launch_service [services_class] #启动services
android heap search instances 包名.类名 --fresh # 搜索堆中的实例
android heap execute 地址(hashcode的地址) 方法名 # 调用实例的方法
android sslpinning disable #屏蔽SSL 校验, 使得ssl pinning失效
Memory 指令
memory list modules # 查看内存中加载的库
memory list exports libssl.so #查看库的导出函数
memory list exports libart.so --json /root/libart.json #将结果保存到json文件中
memory search --string --offsets-only #搜索内存
memory search "00 00 00 00 00 00 00"
任务管理
#查看任务列表
jobs list
#关闭任务
jobs kill jobid
3.ios相关指令
参考文档:https://nosec.org/home/detail/2192.html
查看运行的程序
frida-ps -Uia
连接上应用
objection --gadget "com.apple.AppStore" explore
禁用SSL pinning功能
ios sslpinning disable
监听类调用的方法
比如"ProfileHomeViewController"
ios hooking watch classProfileHomeViewController
Hook oc方法
ios hooking watch method"-[ProfileHomeViewController loginOrRegisterButtonTap]"
储keychain的内容
ios keychain dump #就能转储keychain的内容。有时,我们能够从中发现应用程序存储的敏感信息。
绕过越狱检测
ios jailbreak disable