ADB和Frida的环境配置

配置Frida用于hook安卓设备的环境

Posted by Aaron on May 10, 2024

adb的使用

Android开发环境中,ADB是我们进行Android开发经常要用的调试工具,它的使用当然是我们Android开发者必须要掌握的。

一. ADB概述

Android Debug Bridge,Android调试桥接器,简称adb,是用于管理模拟器或真机状态的万能工具,采用了客户端-服务器模型,包括三个部分:

  1. 客户端部分,运行在开发用的电脑上,可以在命令行中运行adb命令来调用该客户端,像ADB插件和DDMS这样的Android工具也可以调用adb客户端。
  2. 服务端部分,是运行在开发用电脑上的后台进程,用于管理客户端与运行在模拟器或真机的守护进程通信。
  3. 守护进程部分,运行于模拟器或手机的后台。

二. 如何找到adb?

安装模拟器后,电脑桌面会有“模拟器”的启动图标,鼠标右键–打开文件所在的位置,就会进入***\模拟器名称\bin,比如我的路径是D:\Nox\bin,然后可以在该路径下找到nox_adb.exe

三. 如何连接设备?

首先需要进入\Nox\bin路径的cmd窗口。

方式一:继续上述的步骤,进入\Nox\bin目录,然后按Shift键的同时,单击鼠标右键,就会看到“在此处打开命令窗口(W)”,点击即可进入\Nox\bin路径的cmd窗口。

方式二:按Windows+R键,在弹出的“运行”窗口输入cmd,确定,然后输入cd C:\Program Files (x86)\Nox\bin(说明:这是你的夜神模拟器安装路径),即可。说明:如果你的夜神模拟器不是安装在C盘,比如安装在D盘,请在cd前面先输入D: 然后按回车键,再cd ……\Nox\bin。

在连接设备之前,先查看一下在运行的设备:

adb devices

C:\Program Files (x86)\Nox\bin>nox_adb devices

List of devices attached

127.0.0.1:62001 device

四. 常用adb操作介绍

  1. 如何把电脑上的文件或文件夹传到模拟器里面?

adb push D:/sex.avi /mnt/avi/

  1. 如何把模拟器里面的文件或文件夹传到电脑上?

adb pull /mnt/avi/sex.avi D:/avi/

  1. 安装APK

adb install xxxx.apk

  1. 卸载APK

adb uninstall 包名

比如卸载QQ:adb uninstall com.tencent.mobileqq

frida技术

windows环境构建

frida 是一款基于 python+javascript 的 hook 框架,可运行在 android、ios、linux、win等平台,主要使用的动态二进制插桩技术。

  Frida官网:https://www.frida.re/

  Frida源码:https://github.com/frida

Frida的安装很简单,需要在windows安装frida客户端和在安卓安装frida服务端

``

pip install frida
pip install frida-tools

  • 查看连接到的设备
frida-ls-devices

手机环境构建

首先到github上下载frida-server,网址为https://github.com/frida/frida/releases,从网址可以看到,frida提供了各种系统平台的server,我的模拟器为三星galaxy note10,是x86,所以我下载的为x86的

  查询手机对应的cpu

adb shell getprop ro.product.cpu.abi

注意是:frida-server-版本号-平台-cpu架构

image-20230818165142042

我们解压之后可以使用adb命令push到手机中

adb  push  D:\Downloads\frida-server-16.1.3-android-x86  /data/local

#进入手机终端,修改文件权限并运行
adb shell

cd /data/local

chmod 777 frida-server-16.1.3-android-x86

./frida-server-16.1.3-android-x86

我们可以验证一下是否frida在程序中成功启动了

image-20230818170758076

然后我们另外起一个终端

输入:frida-ps -U

image-20230818171001498

我们可以看到frida在手机端也成功启动了