目 录CONTENT

文章目录

启航Android逆向-03-认识adb

天阁创客official
2024-10-06 / 0 评论 / 1 点赞 / 28 阅读 / 0 字
温馨提示:
作者:天阁创客official 作者承诺教程免费,拒绝盗版搬运,复制转发请指明出处! 让天下没有难学的技术!

认识adb

什么是adb

adb是一种命令行工具,用于和Android设备进行通信。全名叫做Android Debug Bridge,根据英文名字就可以知道,ADB主要还是用来进行Android设备调试的工具。adb 提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。

adb的作用

adb的作用主要有以下几点:

设备控制、应用安装与调试、文件传输、shell命令执行、查看系统状态、控制网络、按键模拟、屏幕录制、备份与恢复、访问数据库、获取root权限等。

adb的构成

adb的构成如下:

  • client端(客户端),在电脑上发送adb调试命令

  • daemon守护进程adbd(守护进程),负责接受和执行adb命令

  • server端(服务端),负责管理客户端和守护进程之间的通信

原理图如下:

配置adb

配置环境变量

我们需要在电脑上安装adb,下载地址为:https://developer.android.google.cn/tools/releases/platform-tools?hl=zh-cn;如果你是Windows的操作系统,请下载第一个:

Windows手动安装

下载好之后如下:

解压到你创建好的目录中,例如我这里在C盘创建了一个ADB的目录,并且将其解压到了该目录下

创建环境变量

在系统设置中,找到高级系统设置,然后点击环境变量:

修改用户变量和系统变量:

点击新建,把adb的路径输入,然后保存退出:

进入操作系统的终端,输入以下命令查看是否能使用adb命令:

Linux手动安装

下载适用于Linux的platform-tools-latest-linux.zip

解压下载的文件到某个目录下。

将解压后的目录添加到你的PATH环境变量中。例如,如果你解压到了/home/rk3588s/adb,则可以在你的~/.bashrc~/.zshrc文件中添加以下行:

export PATH=$PATH:/home/rk3588s/adb

保存文件后,运行以下命令使变量生效:

source ~/.bashrc

或者如果你使用的是zsh:

source ~/.zshrc

运行adb version来验证ADB是否已正确安装。

Linux命令安装

如果你是Linux操作系统,那么可以直接使用shell命令安装更方便快捷,无需手动配置环境。如下:

基于Debian的系统:

sudo apt install -y adb

基于RPM的系统:

sudo yum install -y android-tools
sudo dnf install -y android-tools

基于Arch的系统:

sudo pacman -S android-tools

使用命令安装好之后不在需要进行任何配置

手机连接PC调试

打开开发者模式

我这里以原生Google的Android系统做演示,国内其他手机类似。

Android原生

打开手机设置--->关于手机--->版本号点击7次即可:

小米手机:MIUI or HyperOS

打开手机设置--->点击我的设备--->点击全部参数与信息--->点击MIUI版本或者OS版本7次

打开USB调试

在设置中搜索开发者模式或者开发者选项,进入之后找到USB调试,将其打开:

打开WIFI调试

在开发者模式中找到无线调试,将其打开,或者使用第三方工具打开,例如wirelessADB工具。

Phone的shell控制台

使用adb shell命令就可以进入到手机的shell控制台,并且可以使用Linux shell命令。

在Android的shell控制台中是可以使用Linux的命令的,因为Android的内核是基于Linux的内核的,里面存放了一些内置的Linux shell基本命令。

常用的adb命令

adb

adb version									--显示adb版本
adb start-server							--启动server
adb kill-server								--停止server
adb device									--显示连接设备列表
adb install <name>.apk						--安装APP
adb install -r <name>.apk					--覆盖安装
adb uninstall								--卸载APP
adb push <PC/PATH> <Android/PATH>			--推送文件到手机
adb pull <Android/PATH> <PC/PATH>			--拉取手机文件到电脑
adb shell									--进入手机shell控制台
adb -s <device> shell						--进入指定的设备shell
adb reboot bootloader						--重启到bootloader模式

查看帮助:

adb
adb help
adb --help

使用adb -helpadb -h是错误的。

fastboot

fastboot devices					--加载设备
fastboot getvar product				--查看设备型号
fastboot reboot						--重启设备
fastboot flash boot PATH			--刷写boot
fastboot getvar all					--获取设备所有信息
fastboot flashing unlock			--解锁bootloader
fastboot flashing lock				--重新锁定bootloader
fastboot reboot-bootloader			--重启到bootloader模式

logcat

logcatadb 命令中的一个重要组成部分,它是用于在Android设备上查看实时系统日志的命令。通过 logcat,开发者可以监控应用程序的运行情况,查看系统消息、调试信息、警告和错误等。

adb logcat								--查看日志
adb logcat -c							--清除日志
adb logcat -g							--显示缓冲区的大小
adb logcat -G 256M						--修改缓冲区的大小
adb logcat -v time						--设置不同的显示格式
adb logcat -v color						--带颜色显示
adb logcat -s <messages>				--g根据tag过滤日志

常见操作:

覆盖安装APP

adb install -r xxx.apk

当有多个设备连接电脑的时候我们需要连接指定的设备进行操作,否则直接使用adb shell会报错,例如:

adb -s SERIAL shell

SERIAL是什么?SERIAL就是设备编码,设备编码如何查看?


发送文件到手机:

adb push D:\apk\MixFile-release-1.5.0.apk /storage/emulated/0 

这里前面是Windows或者Linux、MAC的路径,后面是Android手机的目录路径。

注意:如果要修改文件名字到Android系统,那么只需要在路径后面修改文件名即可

adb push D:\apk\MixFile-release-1.5.0.apk /storage/emulated/0/MixFile-1.5.0.apk

拉取手机文件到电脑:

adb pull /storage/emulated/0/Download/MixFile-release-1.5.0.apk D:\apk\

如果没有指定PC端的目录,那么就会放在当前目录下。

注意:手机APP的数据文件和下载的文件都在storage/emulated/0/的目录下面,如果没有Root权限,就无法访问更上级的目录,例如storage/emulated/0。


使用超级权限进入Android控制台:

adb root

如果需要执行设备,在adb之后添加-s和串口通信的设备码即可。

如果显示adbd已经是启动的,并且是root模式,那么当我们使用adb连接设备的时候会直接进入到root用户下,如上图一条命令返回结果,反之就是第二条结果。

1

评论区