第六课、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 查看进程加载的so
  • memory 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 可以直接curlRPC

  • 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 找到所有的service

  • android intent launch_activity com.cz.babySister.activity.Mes
    sageActivity 绕过登录界面启动其他的service

  • android hooking list receivers 查看广播

  • android hooking list services 查看服务

第六课、Objection使用技巧相关推荐

  1. 第六课:不要为金钱而工作

    第六课:不要为金钱而工作 1995年,我接受了新家坡一家报纸的采访.一位年轻的女记者准时赴约,于是采访立即开始进行.我们坐在一家豪华酒店的大厅里,喝着咖啡,谈论我此次新加坡之行的目的. 我和畅销书作家 ...

  2. 《SQL必知必会》第六课 用通配符进行过滤 使用LIKE操作符,%、[]、_通配符进行通配搜索

    第六课 用通配符进行过滤 使用LIKE操作符,%.[]._通配符进行通配搜索 #前面使用的所有操作符过滤中使用的值都是已知的 #利用通配符可以创建比较特定数据的搜索模式 #通配符:用来匹配值的一部分的 ...

  3. 教学生打字的计算机课教案,《第六课_争当打字小能手》教案

    <<第六课_争当打字小能手>教案>由会员分享,可在线阅读,更多相关<<第六课_争当打字小能手>教案(3页珍藏版)>请在人人文库网上搜索. 1.第六课_争 ...

  4. NeHe OpenGL教程 第二十六课:反射

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  5. TurboLinux入门教程:第六课Linux与其他操作系统的区别(转)

    TurboLinux入门教程:第六课Linux与其他操作系统的区别(转) 第六课 Linux 与其他操作系统的区别 目前运行在 PC 机上的操作系统主要有 Microsoft 的 MS-DOS . W ...

  6. 第六课.NLP文本分类任务

    第六课目录 NLP文本分类简介 IMDB数据集准备 设置随机种子 下载IMDB并划分数据集 构建词汇表 使用torchtext生成batch WordAveraging 模型定义 加载由glove.6 ...

  7. 【C语言探索之旅】 第一部分第六课:条件表达式

    内容简介 1.课程大纲 2.第一部分第六课:条件表达式 3.第一部分第七课预告:循环语句 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. ...

  8. C#之windows桌面软件第六课:(上集)串口工具实现数据校验、用灯反应设备状态

    C#之windows桌面软件第六课:(上集)串口工具实现数据校验.用灯反应设备状态 using System; using System.Collections.Generic; using Syst ...

  9. Linux云自动化运维第六课

    Linux云自动化运维第六课 第九单元  openssh-server 一.openssh-server 功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell 二.客户端连接方式 ss ...

最新文章

  1. 深度学习:pytorch学习
  2. USB设备多个配置描述符的获取过程
  3. vb如何定义微软服务器stul,VBScrip微软官方教程.doc
  4. 最高的分数(信息学奥赛一本通-T1062)
  5. CMDB数据库设计-四种方案任你选
  6. ContextCaptureMaster/Smart3D 集群简单配置
  7. 计算机上缺少vsix安装程序,vsix - Vsix安装程序在Visual Studio 2017(15.3)中失败 - 堆栈内存溢出...
  8. 2022CUDA夏季训练营Day5实践
  9. 直播源 直播地址 测试地址 http rtsp rtmp hls 短视频测试地址
  10. 基于python的掺杂介质六面体nastran网格生成脚本
  11. 办公室最经常用到的WIFI ip地址设置(window10)
  12. 专业的在线考试答题系统,快考题,高并发人数使用流畅
  13. 二分法解一元三次方程c语言,用二分法求一元三次方程的C++程序
  14. 腾讯地图、高德地图去除logo方法
  15. Python基础算法案例:24点纸牌游戏算法
  16. MATLAB中排序sort函数的用法
  17. 韩国三星android多少钱,韩国首款安卓翻盖 三星GALAXY GOLDEN赏
  18. 李白藏头诗鸿蒙,20条藏头诗文案:我想要的很简单 爱只增不减 你待我一如初见...
  19. 如何下载Android Market上未对中国开放的应用
  20. 用python的matplotlib和numpy库绘制股票K线均线的整合效果(含从网络接口爬取数据和验证交易策略代码)...

热门文章

  1. JavaScript(一)——什么是JavaScript?
  2. 为什么网络中的路由器采用存储转发而不是直接转发
  3. 【Rust】日志库log
  4. Js-parentNode、parentElement,childNodes、children 的区别
  5. 平稳过程具有遍历性或各态历经性的判定方法 - 随机过程
  6. 用眼神玩水果忍者 NUIA打造PC端眼控技术
  7. A. Marin and Photoshoot
  8. HDU 5468 Puzzled Elena 莫比乌斯反演
  9. unity适配iPhoneX
  10. Github fow Windows 安装问题