3. Android逆向-基于Frida的工具Objection

本文介绍如何在非Root环境下使用Objection进行app hook,包括安装步骤、常见问题及解决方案,特别关注frida-gadget.so库的正确使用。

Objection安装使用

在开始熟悉Frida时,接触的示例是需要frida-server在一个root过的os环境中运行,便于读取/访问所有需要的数据或其他app。一般真机开发过程,都是一个比较纯粹的App开发,不会在一个Root过的Android设备上进行开发。这篇主要就是学习在非Root环境下hook app。

这里介绍并使用一个基于Frida开发的工具objection: 📱 objection - runtime mobile exploration (github.com)

本篇文章主要描述下objection安装及在使用过程中遇到的问题。

安装

安装Objection工具前先确认系统中安装了Python 3.4以上版本,现在较新的版本基本都比3.4高来了,也可以使用python -V指令查看版本号。另外更新pip3工具,使用命令pip install pip --upgrade进行更新。

最后使用命令pip3 install -U objection进行objection的安装。

Python的版本一定要是Python 3,而非Python 2,否则按照过程会报错。

Collecting objection
  Could not find a version that satisfies the requirement objection (from versions: )
No matching distribution found for objection

可以到Objection wiki中查看安装条件及步骤,[跳转](Installation · sensepost/objection Wiki (github.com))到官网

在Windows上直接尝试了安装最新版本的Frida及Objection,遇到了问题,安装的坑,Objection安装版本需要配合Frida版本,不能在不指定版本的情况下直接安装Frida,因为默认会安装Frida最新版本,这样在运行objection会提示错误。

Unable to connect to the frida server: need Gadget to attach on jailed Android; its default location is: C:\Users\2006017018\AppData\Local\Microsoft\Windows\INetCache\frida\gadget-android-arm64.so

可以查看 问题 中的说明。

使用

在使用过程中,可能会遇到一些不大不小的问题,下面对在Ubuntu上及Windows操作过程出现问题的整理。

Ubuntu

重打包目的是将frida-gadget.so库嵌入到apk中,并且对apk做少许修改,以便可以通过工具进行指令交互。

需要的工具:

  • aapt/aapt2 资源的编译工具,可以在 **$ANDROID_HOME/build-tools/[工具版本]/ ** 路径下找到。
  • adb 指令工具,在 $ANDROID_HOME/paltform-tools/ 路径下找到。
  • jarsigner jar包签名工具,可以在 $JAVA_HOME/bin l路径下找到。
  • Apktool apk反编译工具,需要下载Apktool,ubuntu等linux系统下,不建议直接使用package manager方式安装,建议下载使用最新版本。

可以将这些工具方法同一个目录下便于使用。

下来使用 objection patchapk 指令进行重打包工作。

$ objection patchapk  --source ../ruixi.apk

直接使用指令进行打包遇到的问题.

  1. aapt工具找不到:这个多半是没有配置aapt工具的环境变量,可以配置环境变量解决。一般开发时AS会完成对AAPT工具的使用。

  2. 提示 Failed to determine architecture. Is the device connected and authorized?:这个更容易理解,objection 需要知道apk运行的设备CPU架构,从而对应将 frida-gadget 嵌入到apk中。

  3. frida-gadget版本:需要注意的是,objection 是基于frida开发,frida更新版本快,objection 使用的frida版本不会是最新的,需要注意版本的一致。

  4. frida-gadget下载超时:在开始下载时,会有如下提示,将下载的 f

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zen_Ni

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值