在没有线的情况下,捣鼓了小半天,尝试调通ADB。凭着以下信念。
1、ADB应该很有用,不能放弃。
2、手指点点点来打开开发者模式彩蛋和反复弹窗允许调试,是没必要的,一定有更直接的命令行模式绕过繁琐步骤。
3、我觉得可以。
这里的手机,默认指Android手机。
一、常规的ADB调试
手机:开发者模式-允许调试,连接数据线。
电脑:adb devices
手机:确认允许
电脑:adb shell
二、常规的无线ADB调试(不要求Android版本)
手机:开发者模式-允许调试,连接数据线。
电脑:adb devices
手机:确认允许
电脑:adb tcpip 5555 #端口任意;举例5555。
手机:拔线
电脑:adb connect [your_phone_ip]:5555
电脑:adb shell
三、高版本的无线配对ADB调试(Android >= 11)
手机:开发者模式-允许调试、允许无线调试。界面显示出IP与端口PORT
电脑:adb connect [IP]:[PORT]
四、真·无线ADB调试(不要求Android版本/不要求GUI界面授权)
前置条件,获得一个手机的shell,ROOT权限。
我遇到的场景里,有telnet到手机的shell。
也可以在ROOT的手机端安装termux等模拟终端的APP。
开始。
手机端或电脑端使用ADB生成一个证书:
adb keygen myadbkey
获得一对myadbkey私钥与myadbkey.pub公钥。
将私钥放在电脑端的家目录下的.android/路径,形如:
#Linux:
/home/jojo/.android/myadbkey
#Windows:
C:Usersjojo.androidmyadbkey
公钥则放在手机端的/data/misc/adb/目录,并务必重命名为adb_keys,设置恰当的用户组与权限。
cp myadbkey.pub /data/misc/adb/adb_keys
chown system:shell /data/misc/adb/adb_keys
chmod 640 /data/misc/adb/adb_keys
手机端接着,运行adbd守护进程。
stop adbd
#可以使用netstat -anltp|grep adb命令,确认adbd进程关闭情况,进程仍存活就去开发者模式把允许调试取消,然后重启,再进行下一步。
setprop persist.adb.tcp.port 5555 #这里设置了5555端口
start adbd
#也可以直接adbd命令,adbd则会在前台运行并输出信息。
电脑端,双手合十,连接。
adb connect [your_phone_ip]:5555
adb devices
#可以看到device的标识,代表成功。
#List of devices attached
#192.168.68.135:5555 device
ADB的一些新奇玩法,还不知道,找找,以后要说说。
FAQ
1、/system/bin/sh: adbd: inaccessible or not found?
自己找真实路径,据有限样本观察,Android是配备了adb、adbd二进制的。
find / -name adbd 2>/dev/null
2、failed to authenticate to [IP]:5555?
再次确认公私钥证书有无放错位置,以及读写权限问题。
可以大胆把.android/、/data/misc/adb/adb_keys目录里的证书都删除。按如上步骤放好生成的证书。
电脑端重启adb服务。
adb stop-server
adb start-server
3、电脑端的ADB工具?
SDK 平台工具下载 https://developer.android.com/studio/releases/platform-tools?hl=zh-cn
目前最新33.03,Win11提示有个dll缺失,建议下载33.02版,https://dl.google.com/android/repository/platform-tools_r33.0.2-windows.zip?hl=zh-cn
Linux系统的adb命令,在ROOT权限下执行。不然提示no auth。
参考链接
1、android - Set adb vendor keys - Stack Overflow stackoverflow.com/questions/32132434/set-adb-vendor-keys
2、Android ADB devices unauthorized - Stack Overflow
stackoverflow.com/questions/31638582/android-adb-devices-unauthorized
3、KMC Staff Blog:Androidのadbのメモ(7) Androidデバイス側でadbを動かす (kmckk.com)
blog.kmckk.com/archives/4092970.html
原文始发于微信公众号(無相安全团队):真无线开启ADB调试
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论