adb的使用
Android开发环境中,ADB是我们进行Android开发经常要用的调试工具,它的使用当然是我们Android开发者必须要掌握的。
一. ADB概述
Android Debug Bridge,Android调试桥接器,简称adb,是用于管理模拟器或真机状态的万能工具,采用了客户端-服务器模型,包括三个部分:
- 客户端部分,运行在开发用的电脑上,可以在命令行中运行adb命令来调用该客户端,像ADB插件和DDMS这样的Android工具也可以调用adb客户端。
- 服务端部分,是运行在开发用电脑上的后台进程,用于管理客户端与运行在模拟器或真机的守护进程通信。
- 守护进程部分,运行于模拟器或手机的后台。
二. 如何找到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操作介绍
- 如何把电脑上的文件或文件夹传到模拟器里面?
adb push D:/sex.avi /mnt/avi/
- 如何把模拟器里面的文件或文件夹传到电脑上?
adb pull /mnt/avi/sex.avi D:/avi/
- 安装APK
adb install xxxx.apk
- 卸载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架构
我们解压之后可以使用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在程序中成功启动了
然后我们另外起一个终端
输入:frida-ps -U
我们可以看到frida在手机端也成功启动了