逆向学习系列(三)adb的使用
由于是记录学习,我就用结合自己的理解,用最通俗的语言进行讲解。
adb是android debug bridge的简写,其作用就是将电脑和手机相连接,用电脑控制手机。
一、adb哪里来
我使用的adb一般都是安装模拟器的时候,模拟器自带的。
比如我安装的是逍遥模拟器,在安装路径下,有一个adb.exe。
可以设置一下环境变量。
当然,也可以从谷歌官网上下载。
二、adb的使用
首先,无论是逍遥模拟器,还是真机,使用adb之前,都需要先启用“开发者选项或者模式”,且将"usb调试"打开(真机一般还需要安装驱动)。
常用命令:
adb kill-server
adb start-server
adb connect ip:port
adb devices
查看我的文章如何查看多开的逍遥模拟器的adb连接端口号_逍遥模拟器端口-CSDN博客
下面是我连接逍遥模拟器的命令:
现在用usb连接真机后,用adb看一下
(注意:对于我的VIVO,在有些电脑上,需要先安装弹出框的“互传”的应用,也就是手机的驱动)
然后,直接adb devices就能看到真机信息了。
然后打开模拟器,再执行adb devices,两个设备就都显示出来了。
多个设备的话,需要使用adb -s 设备名 具体指令
举例:
(1)将电脑上的文件推送到模拟器中
adb -s 127.0.0.1:21523 push d:/moniqi.txt /storage/emulated/0/Download
运行完毕后,模拟器的相应路径下就有内容了
(2)将电脑上的文件推送到真机中
adb -s a9bd35f0 push d:/zhenji.txt /storage/emulated/0/Download
运行完毕后,真机的路径中也有了(注意:务必写对真机上的路径,可以在真机上安装Root Explorer查看相应文件夹的路径)。
(3)将真机上的文件传送到电脑上来
adb -s a9bd35f0 pull /storage/emulated/0/Download/aed26e77.0 d:/vivo
运行命令后,电脑上就有了相应内容。
(4)用电脑操作真机安装和卸载指定的APK
首先将APK下载到电脑上, 如d:/xiaohongshu.apk
运行命令
adb -s a9bd35f0 install d:/xiaohongshu.apk
注意:需要在真机上点击操作“继续安装”等步骤。
卸载app
(a)比如我要卸载刚刚安装的小红书
adb -s a9bd35f0 uninstall 小红书的包名
但是我不知道小红书的包名怎么办呢?
使用命令:
adb -s a9bd35f0 shell pm list packages
此命令会列出所有的包
太多了,找不到怎么办?使用带有搜索功能的命令。
adb -s a9bd35f0 shell pm list packages -e xhs
然后卸载
adb -s a9bd35f0 uninstall com.xingin.xhs
你就发现,真机上的小红书APP就卸载成功了(图标都没有了)。
(5)查看真机的CPU构架
adb -s a9bd35f0 shell getprop ro.product.cpu.abi
我的真机是arm64-v8a的,也就是64位的ARM。(32位的ARM样式位armeabi-v7a)。
顺便看下逍遥模拟器的CPU构架。
可以看到,逍遥模拟器的是x86_64的。
(6)如果想要在电脑上进入真机的操作系统中,执行adb shell即可
电脑命令行状态
真机内部命令行状态
模拟器内部命令行状态
在内部使用exit;退回到电脑端命令行。
这里注意哦,真机的命令是带有$,而模拟器的命令是#,区别:
(1)$:打头的表示这不是在root用户(管理员用户)下执行的命令(因为我的真机没有root)
(2)#:打头的和前者相反,即root用户下(因为模拟器开启了root权限)
那么,着重研究下VMOS的命令行操作(因为我的真机中的VMOS已经root了)。
VMOS只支持网络 abd连接。(所以需要真机连接WIFI,而不是仅仅USB连接电脑)。
确保真机和电脑在同一个WIFI下,然后进行如下操作。
进入VMOS,底部菜单栏的“设置”(非桌面上的设置)-高玩设置-网络ADB(可以在电脑上通过adb connect 172.26.144.5:5667远程),拨到开启状态。
adb connect 172.26.144.5:5667
adb devices
在VMOS已经root的情况下,运行
adb -s 172.26.144.5:5667 shell
su
当输入su的时候,即表示要从普通用户转到超级用户($--->#),这时,真机VMOS中会弹出提示:
会发现手机VMOS中的超级用户中,多了一个Shell。
如果想从su变为普通用户(#---->$),在超级用户下使用exit即可
查看一下VMOS的CPU构架,发现是arm64-v8a的。
分别执行电脑向VMOS传文件,VMOS向电脑传文件,VMOS中安装APP。
a.电脑向VMOS传文件
adb -s 172.26.144.5:5667 push d:/vmos.txt /storage/emulated/0/Download
b.VMOS向电脑传文件
adb -s 172.26.144.5:5667 pull /storage/emulated/0/Download/charles-proxy-ssl-proxying-certificatevmos.pem d:/vivo
c.VMOS中安装和卸载APP,均测试成功。
adb -s 172.26.144.5:5667 install d:/xiaohongshu.apk
adb -s 172.26.144.5:5667 uninstall com.xingin.xhs
另外,还有其他一些常用命令,如下:
最后测试一个VMOS的截屏并传送到电脑上,
adb -s 172.26.144.5:5667 shell screencap -p /storage/emulated/0/Download/aa.png
adb -s 172.26.144.5:5667 pull /storage/emulated/0/Download/aa.png d:/vivo
最后再次提醒:
以上所有的adb操作,都首先使用adb将电脑和手机相连接,在adb devices中看到设备后(在连接的情况下)才能操作。
(1)逍遥模拟器不需要usb,不需要WIFI
(2)真机需要usb
(3)真机VMOS需要WIFI