02_objection

在macos上问题

执行objection --help,报错 无_lzma模块,解决方法如下

pip install backports.lzma

# ~/.pyenv/versions/3.8.2/lib/python3.8/lzma.py   修改为如下内容
try:
    from _lzma import *
    from _lzma import _encode_filter_properties, _decode_filter_properties
except ImportError:
    from backports.lzma import *
    from backports.lzma import _encode_filter_properties, _decode_filter_properties

objection与frida版本匹配安装

pip install frida==12.8.0

pip install frida-tools==5.3.0

pip install objection==1.8.4

objection连接非标准端口

./frida-server-12.8.0-android-arm64 -l 0.0.0.0:8888

objection -N -h 192.168.1.112 -p 8888 -g com.android.settings explore

# 正确的命令参数是 -g 
objection -g com.android.settings explore

在objection 中执行的指令

frida : 查看当前使用的firda的版本、架构、平台、使用的堆大小等信息

env : 当前apk应用的环境:缓存目录、SD卡目录、apk所在目录等

objection内存漫游、hook、trace

  • 在对某个命令不太熟悉的时候,在命令之前加一个help 可以查看该命令的帮助手册:

    ​ 例如 : help env

  • 在不知道输入什么时候,按空格键,有自动提示命令

    • 在./objectin/objection.log 中保存操作的输入输出日志,可以在这里查看信息
  • jobs系统:

    • 查看jobs : jobs list
    • 取消jobs : jobs kill jobId

查看模块

memory list modules 查看当前进程所有的模块

memory list exports libxx. so 查看当前库的导出函数

memory list exports libxx. so --json /root/libar.json 可以把结果保存到json文件中

memory dump all from_base 提取整个内存

memory search --string --offsets-only

在堆上搜索实例

android heap search instances com.android.settings.DispalySettings --fresh

执行堆上的实例

android heap execute 0x2526 com.android.settings.getPreferenceScreenResID #前面的地址是类的实例handle,上面的命令搜索查出来的handle

执行堆上的实例-通过提供frida的js代码

android heap execute handle # 会进入一个编辑模式 ,输入frida js的代码

直接启动activity或service

android intent launch_activity com.android.settings.DisplaySettings

查看当前可用的Activites

android hooking list activities

列出内存中所有的classes

android hooking list classes

搜索内存中包含特定字符的类

android hooking search classes 关键字

列出指定的类中所有的方法

android hooking list class_methods 类名

搜索内存中包含关键字的方法

android hooking search methods 关键字

hook一个类的所有的方法

android hooking watch class android.bluetooth.BluetoothDevice #只会打印方法、没有参数

查看hook方法的参数需要单独hook,不需要方法的参数

android hooking watch class_method android.buletooth.BluethoothDevice.equals --dump-args --dump-backtrace --dump-return

hook构造函数

android hooking watch class_method java.io.File.$init --dump-args

objection以调试方式启动进程

objection -d -g com.andriod.settings explore

objection以调试方式启动进程,并注入命令

objection -d -g com.andriod.settings explore --startup-command ‘objection相关的命令’

objection插件体系:Wallbreaker : help to understand java memory world.

加载插件 : plugin load 插件的路径

plugin wallbreaker classdump --fullname 类名 #打印全局变量,属性,方法定义等

objection + DEXDump 脱壳

加载插件 : plugin load 插件的路径

plugin dexdump search

plugin dexdump dump

objection在启动时进行hook

objection -g packageName explore --startup-command ‘android hooking watch xxx’

Objection的缺陷
  • 缺少对Native层的支持
  • 对象类型数据的打印有问题,比如Byte array和Json,会显示成[object, object]
  • 对Spawn方式启动的支持不够顺畅
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值