objection简介

objection在Frida的基础上实现了很多具体功能,包括重打包、交互等,支持Android和IOS两大平台,可以快速完成内存搜索、类和模块的搜索、方法Hook以及打印参数、返回值、调用栈等常见功能,从海量代码中定位关键函数。

安装

frida-server下载地址:https://github.com/frida/frida/releases/tag/12.8.0

adb push frida-server-12.8.0-android-arm64 /data/local/tmp
adb shell
cd /data/local/tmp
chmod 777 frida-server-12.8.0-android-arm64
# 稳定版12.8.0
pip install frida==12.8.0
pip install frida-tools==5.3.0
frida --version
pip install objection==1.8.4
objection version

进入REPL界面

# help帮助命令
objection --help# 进入REPL界面
objection -g com.android.settings explore

# 网络连结
# 注意开启frida-server: # ./frida-server-12.8.0-android-x86 -l 0.0.0.0:8888
objection -N -h 192.168.185.101 -p 8888 -g com.android.settings explore

jobs

作业系统

frida 查看frida相关信息

内存漫游

列出内存中所有类

android hooking list classes

搜索包含特定关键词的类,如display

android hooking search classes display

搜索所有包含关键词key的方法

android hooking search methods <key>

查看关心类的所有方法

android hooking list class_methods <class>

列出进程所有的活动

android hooking list activities

列出进程所有的服务

android hooking list services

列出进程所有的广播接收器

android hooking list receivers

列出进程所有的内容提供者

android hooking list providers

Hook的相关方法

Hook指定方法

android hooking watch class_method <methodName>
android hooking watch class_method java.io.File.$init --dump-args --dump-backtrace --dump_return
# 查看任务
job list
# 杀死任务
job kill <id>

--dump-args 用于打印函数的参数。
--dump-backtrace 用户打印调用栈。
--dump_return 用于打印返回值。

Hookclassname中的所有函数

android hooking watch class <classname>
android hooking watch class java.io.File

主动调用

android heap search instances <classname>
android heap search instances java.io.File

调用实例方法

android heap execute <Handle> <methodname>
android heap execute 0x3606 getPath

执行带参数的函数

android heap evaluate <Handle>
android heap evaluate 0x3606# 编辑器内输入内容
console.log('File is canWrite? =>', clazz.canWrite())
clazz.setWritable(false);
console.log('File is canWrite? =>', clazz.canWrite())

objection常见用法相关推荐

  1. mysql中正则表达式的用法_Mysql中正则表达式Regexp常见用法

    Mysql中Regexp常见用法 模糊匹配,包含特定字符串 # 查找content字段中包含"车友俱乐部"的记录 select * from club_content where ...

  2. python六:常见数据类型以及常见用法

    bool 布尔值 # 在bool中 0,()(空元祖),[](空列表),{}(空字典),None,""(空字符串) 都是False int 整形 float 浮点型 str 字符串 ...

  3. vue-router 的常见用法

    vue-router 的常见用法 1. 路由重定向 路由重定向指的是:用户在访问地址 A 的时候,强制用户跳转到地址 C ,从而展示特定的组件页面. 通过路由规则的 redirect 属性,指定一个新 ...

  4. 空的宏定义作用及常见用法

    空的宏定义作用及常见用法 我们学习宏定义的第一个概念是,宏定义作为替换作用. 例如: #define SIZE 32 // 接下来代码使用SIZE就相当于32 宏定义是编译器在编译时,将程序中所有SI ...

  5. Arrays常见用法

    Arrays常见用法

  6. sed文本处理常见用法

    sed文本处理常见用法    2011-06-24  TsengYia#126.com http://tsengyia.blog.chinaunix.net/   ################## ...

  7. typeset的常见用法

    [保留] typeset的常见用法 http://www.chinaunix.net 作者:寂寞烈火  发表于:2007-12-16 09:50:34 [发表评论] [查看原文] [Shell讨论区] ...

  8. 框架前期准备篇之AutoFac常见用法总结 转载

    框架前期准备篇之AutoFac常见用法总结 一. 说在前面的话 凡是大约工作在两年以上的朋友们,或多或少都会接触到一些框架搭建方面的知识,只要一谈到框架搭建这个问题或者最佳用法这个问题,势必会引起一点 ...

  9. Java集合Collection与List的关系、常见用法

    关系树 [java] view plain copy print? ---|Collection: 单列集合 ---|List: 有存储顺序, 可重复 ---|ArrayList: 数组实现, 查找快 ...

最新文章

  1. [微信小程序]下拉菜单
  2. 【Indiegogo众筹】$99高性价比RK3399超小型mini主机
  3. 2 获取对象 IDbDataAdapter 用于填充 DataSet 和更新数据源
  4. jdk源码分析书籍 pdf_什么?Spring5 AOP 默认使用Cglib?从现象到源码深度分析
  5. 支持多分支语句吗_Go的条件判断语句
  6. 我的MYSQL学习心得(十三) 权限管理
  7. java Web应用配置log4j日志记录
  8. 攻击需要成本吗_光伏智能温室建设成本高吗?需要哪种钢结构?
  9. 微服务的设计模式,你用了几个
  10. WPF的打印原理 实现打印页眉页脚和打印预览
  11. ps 图片提取线稿方法2种 转
  12. HOOF(Histogram of Oriented Optical Flow)特征
  13. KEPWAREOPC与西门子PLC以太网通讯
  14. crypto-CommonModulusAttack(GXYCTF2019)
  15. XShell6(配置XFTP 文件传输) 安装+简单使用教程
  16. 安装busybox步骤
  17. 【JS】把JavaScript脚本作为书签收藏起来并可单击执行
  18. ​ 斯科特·马特森​与MIMO发明者谈话节选
  19. Bongo Cat桌面小猫咪单手双手全键盘,写代码效果太舒服
  20. Effie:B站大佬花费百万打造的写作软件有啥不一样?真香!

热门文章

  1. B站 - 狂神 - Spring5课堂笔记
  2. 人生有三件事情不能等
  3. 惠普打印机介质不匹配_惠普打印机常见故障及处理方式
  4. 广州双鲸计算机有限公司,【喜讯】双鲸药业悦而®维生素D荣登2019中国医药品牌榜...
  5. ArcGIS Pro数据发布共享至ArcGIS Online
  6. 关于python下解决pyspark报错问题
  7. 沪江网2011年暑期实习生招聘信息
  8. 奥飞数据拟推5000万元员工持股计划
  9. 【2019年6月全新大学英语四六级】商志英语4级 6级 CET4 CET6 持续更新中 资料网盘
  10. 钉钉微应用手机端导航栏配置