adb相关的知识理解

adb的工作原理:

                     在我们启动PC上的adb.exe进程时,adb会在本地生成一对adbkey私钥和adbkey_pub公钥;

根据弹框提示,可以看出是一对RSA算法的密钥。其中公钥是用来发送给手机的。

当执行adb shell命令时,adb.exe会将当前PC的公钥发送给Android设备;这时,如果android设备上已经保存了这台PC的公钥,则匹配出对应的公钥进行认证。建立adb连接;如果Android上没有保存这台PC的的公钥,则会弹出提示框。让你确认是否允许这台机子进行adb连接。当你点击了允许授权之后,Android就会保存了这台PC的addkey.pub。(这种情况和ssh协议连接client,和server的原理是一样的)

当然有的手机厂商会内置一些adbkey.pub,提供给开发者使用.

密钥在PC和android上分别存储在哪里?

PC:当执行adb.exe文件时,会在当前用户的生成.android目录,其中adbkey和adbkey.pub就在这个目录下(这种思想和linux使用ssh协议的git的如出一辙)。

Android设备上:PC的公钥保存在一个文件中/data/misc/adb/adb_keys

在知道了这个原理之后,你可以在不希望自己的Android设备授权任何PC设备进行adb连接时,清除/data/misc/adb/adb_keys/文件.

也可以在没有屏幕的情况下,让已经认证过的的PC将你PC上的adbkey.pub中公钥导入android设备/data/misc/adb/adb_keys文件中。或者将已经认证过的PC机上的adbkey与adbkey.pub拷贝到本机上覆盖本android设备的adbkey和adbkey.pub。然后重启adb.exe。即可执行adb命令。

 

欢迎讨论。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值