第六课、Objection使用技巧
第六课、Objection使用技巧
1、objection
(免)root动态调试apk
tree -NCfhl |grep aapt
无脑搜
重打包技术
- 把apk解包 加入frida-gadget.so
- 准备aapt 重打包
- 【apk免root重打包连接objection/frida】
- objection的patchapk需要aapt、adb、jarsigner、apktool,其中apktool需要官网下载下,其他前仨在android-studio中就有:
- ln -s /root/Desktop/android-studio/jre/bin/jarsigner /usr/bin
- ln -s /root/Android/Sdk/build-tools/30.0.1/aapt /usr/bin
- ln -s /root/Android/Sdk/build-tools/30.0.1/aapt2 /usr/bin
- ln -s /root/Android/Sdk/platform-tools/adb /usr/bin
- 然后就是解压apk看下它里面的lib是哪个架构的,按架构来运行: # objection patchapk --architecture armeabi-v7a --use-aapt2 --source yourAPK.apk app启动后用objection/frida直接连上即可。
- 安装apktool https://ibotpeaches.github.io/Apktool/install/
- apt install apksigner
- apt install zipalign
- objection patchapk --source falao2.apk
2、objection
内存漫游和组件控制
android hooking list classes
查看所以类env
显示包的cache
主要的缓存在哪里 主要的文件在哪memory list modules
查看进程加载的somemory list exports libpower.so
查看so导出的函数- 当结果太多,终端无法全部显示的时候,可以将结果导出到文件中,然后使用其他软件查看内容
memory list exports libart.so --json /root/libart.json
- 在安卓的堆上搜索实例
android heap search instances com.android.settings.DisplaySettings
- 调用实例的方法
android heap execute 0x2526 getPreferenceScreenResId
- 直接上代码,想要进入显示设置,可以在任意界面直接运行以下代码进入显示设置:
android intent launch_activity com.android.settings.DisplaySettings
- 也可以先使用
android hooking list services
3、objection
类和方法动态trace
例如找加载的图片的加解密地方
- 肯定是要先下载展示 hook这个api Bitmap
android hooking watch class ^Iandroid .graphics Bitmap
android .graphics Bitmap
安卓源码中找的- 把这个相关所有方法都
hook
上 没有hook
构造函数 jobs list
查看hook‘了多少函数
- 手机往下拉 图片开始加载 看什么函数会被触发
- 这就是trace
job kill ID
- 接着hook可疑的函数
android hooking watch class_method android.graphics.Bitmap.nativeRowBytes --dump-args -dump-backtrace --dump-return
- 看调用栈
- 打开jadx进行代码分析
4、objection
+DEXDump
内存暴力脱壳
内存中找魔术头
https://github.com/hluwa/frida-dexdump
pip3 install frida-dexdump
frida-dexdump -U -f com.app.pkgname
When using, I suggest using the
-d, --deep-search
option, which may take more time, but the results will be more complete.
5、objection
RPC
可以直接curl
的 RPC
- objection 启动命令后面带参数 --enable-api
- .https://github.com/sensepost/objection/wiki/API 示例
- https://github.com/sensepost/objection/blob/master/agent/src/rpc/android.ts 更多方法
六、越权进去其他界面
objection -g com.cz.babySister explore
objection注入android hooking list activities
找到所有的serviceandroid intent launch_activity com.cz.babySister.activity.Mes
sageActivity
绕过登录界面启动其他的serviceandroid hooking list receivers
查看广播android hooking list services
查看服务
第六课、Objection使用技巧相关推荐
- 第六课:不要为金钱而工作
第六课:不要为金钱而工作 1995年,我接受了新家坡一家报纸的采访.一位年轻的女记者准时赴约,于是采访立即开始进行.我们坐在一家豪华酒店的大厅里,喝着咖啡,谈论我此次新加坡之行的目的. 我和畅销书作家 ...
- 《SQL必知必会》第六课 用通配符进行过滤 使用LIKE操作符,%、[]、_通配符进行通配搜索
第六课 用通配符进行过滤 使用LIKE操作符,%.[]._通配符进行通配搜索 #前面使用的所有操作符过滤中使用的值都是已知的 #利用通配符可以创建比较特定数据的搜索模式 #通配符:用来匹配值的一部分的 ...
- 教学生打字的计算机课教案,《第六课_争当打字小能手》教案
<<第六课_争当打字小能手>教案>由会员分享,可在线阅读,更多相关<<第六课_争当打字小能手>教案(3页珍藏版)>请在人人文库网上搜索. 1.第六课_争 ...
- NeHe OpenGL教程 第二十六课:反射
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- TurboLinux入门教程:第六课Linux与其他操作系统的区别(转)
TurboLinux入门教程:第六课Linux与其他操作系统的区别(转) 第六课 Linux 与其他操作系统的区别 目前运行在 PC 机上的操作系统主要有 Microsoft 的 MS-DOS . W ...
- 第六课.NLP文本分类任务
第六课目录 NLP文本分类简介 IMDB数据集准备 设置随机种子 下载IMDB并划分数据集 构建词汇表 使用torchtext生成batch WordAveraging 模型定义 加载由glove.6 ...
- 【C语言探索之旅】 第一部分第六课:条件表达式
内容简介 1.课程大纲 2.第一部分第六课:条件表达式 3.第一部分第七课预告:循环语句 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. ...
- C#之windows桌面软件第六课:(上集)串口工具实现数据校验、用灯反应设备状态
C#之windows桌面软件第六课:(上集)串口工具实现数据校验.用灯反应设备状态 using System; using System.Collections.Generic; using Syst ...
- Linux云自动化运维第六课
Linux云自动化运维第六课 第九单元 openssh-server 一.openssh-server 功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell 二.客户端连接方式 ss ...
最新文章
- 前沿分享:连接统计学,机器学习与自动推理的新兴交叉领域
- JAVA设计模式详解(六)----------状态模式
- 利用tensorflow建立简单的神经网络所需要的几条简单语句
- 开源 免费 java CMS - FreeCMS1.9 移动APP管理 执行配置
- 曹大带我学 Go(8)—— 一个打点引发的事故
- 为什么技术最牛的码农当不了首席工程师?
- Apache CXF – JAX-WS –简单教程
- 阿里云开源编程马拉松入围项目
- 利用MyEclipse连接数据库并自动生成基于注解或者XML的实体类
- Linux 删除用户时报错:userdel: user zhoulijiang is currently used by process 1
- IEEE 研究类型 小木虫
- Maximum call stack size exceeded错误
- request.getParameterValues()用法
- Flash Player 更新后视频卡问题
- Unity做动画不播放解决方案之一
- 485通信c语言编程linux,Rs485通信单片机C程序
- 搜苹果ipad版_优秀的文本笔记工具 Keep It 苹果软件破解版
- Python 计算思维训练——输入和错误处理练习(二)
- 计算机二级python备考笔记(十)
- 进程同步控制(锁,信号量,事件), 进程通讯(队列和管道,生产者消费者模型) 数据共享(进程池和mutiprocess.Pool模块)...
热门文章
- matplotlib.pyplot 复习2(4-6章)
- 【软件工程师学硬件】之 通信
- 鸿蒙harmonyOS DevEco Studio 有小伙子想要全局替换
- 电脑桌面两个计算机图标怎么删除,电脑桌面上出现好几个音量图标,还是重叠的,删也删不掉,怎么办...
- 数据分析-多因子探索分析理论铺垫
- C++模板的全特化和偏特化
- SpringMVC框架刘宝宝深度版——Springmvc搭建步骤
- 当下企业信息化的痛点以及相关解决方案
- 2018年LeetCode高频算法面试题刷题笔记——只出现一次的数字(开始之前)
- 不知道实时录音转文字软件哪个好?分享录音实时转文字软件给你