objection操作

objection(https://github.com/sensepost/objection)集成了一些基于Frida的hook脚本,用一条命令即可实现内存搜索、类函数hook等操作,同时支持Android和iOS,在逆向APP时非常方便。

使用环境

  1. 运行Frida server
  2. 启动objection (pip3 install objection –upgrade更新到最新版)
    • 正常启动:
      objection -g com.xxx.xxx explore
    • 指定ip和端口(与frida-server一致)
      objection -N -h 192.168.1.221 -p 9999 -g com.xxx.xxx explore

objection操作

objection的操作和参数如下图,具体可以在 objection –help 中查看。
upload successful

按空格键会出现命令提示

  • env 当前APP的环境变量

upload successful

  • file 文件相关
    file download []
    file upload []
    file http start 当前目录下启动一个http server
    upload successful

  • import 1.js 导入外部js脚本

upload successful

  • plugin load 加载外部脚本
  • reconnect 重连frida server
  • grep
    object的命令执行结果是无法grep的,可以使用objection run xxx | grep yyy的方式,例如objection -g com.tencent.mm run memory list modules|grep xxx

memory操作

  • memory list modules 列出加载的module

upload successful

  • memory list exports libssl.so 查看指定module的导出函数
    memory list exports libssl.so –json /tmp/export.json 将结果保存到文件

upload successful

  • memory dump all /tmp/dump dump所有内存

upload successful

  • memory dump from_base 指定地址和大小dump内存

upload successful

  • memory search “frida” –string 内存中搜索(–offsets-only 搜索结果只显示offerset)
    memory search “66 72 69 64 61” 按字节搜索
    memory search “66 72 ?? ?? 61” 字节匹配搜索
    upload successful
  • memory write 0xfffff “frida” (–string) 修改内存

android相关

组件相关(activity/services/receivers)

android hooking list activities
android hooking list services
android hooking list receivers
android hooking get current_activity 获取当前activity
android intent launch_activity xxxx 启动指定activity
android intent launch_service xxxx 启动指定service

class和method相关

android hooking list classes 列出所有加载的类
android hooking search classes xxxx 搜索包含关键字的类
android hooking search methods xxxx 搜索包含关键字的方法
android hooking list class_methods xxxx 列出类的所有方法
upload successful
android heap search instances xxx 查找类的所有实例
upload successful

hook相关

android hooking generate simple xxxx 生成hook代码,默认对指定类的所有方法hook
android hooking watch class xxxx hook类的所有方法(–dump-args –dump-backtrace –dump-return 显示参数、返回值、调用栈)
upload successful
android hooking watch class_method class_func_xxx hook指定的方法,包含所有重载
upload successful
android heap execute instance_ID function 主动调用指定实例的函数
使用jobs list命令可以看到所有的hook情况
upload successful
jobs kill job_id取消hook

其他常用操作

android sslpinning disable 去掉证书绑定
upload successful
android clipboard monitor 监控剪贴板
android keystore list 列出keystore,常用于国外APP

upload successful
android root disable 对APP隐藏root
android shell_exec ls 执行命令
android ui FLAG_SECURE true 设置当前activity的FLAG_SECURE
android ui screenshot /sdcard/1.png 截屏

objection patchapk –source app-release.apk patch安装包,将frida-agent打包到APP里