Adb 授权过程分析
Posted 小源子2016
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Adb 授权过程分析相关的知识,希望对你有一定的参考价值。
adbkey与adbkey.pub
adbkey与adbkey.pub_caibaihui的博客-CSDN博客_adbkey是什么文件
实验证明:手机上的公钥和电脑上的私钥配对成功即可,即使后期我修改电脑上的公钥,不影响之前的授权
例如手机内置了公钥,我电脑上生成配对的私钥即可完成授权
adb pull /data/misc/adb/adb_keys . 里面存放的就是公钥
授权弹窗显示的是RSA密钥指纹应该是根据公钥来的,怎么算出来的还不知道
adb keygen cc 可用于生成RSA公钥和私钥
该信息框中一般会显示主机公钥的指纹(MD5),而不是主机
公钥本身
ADB公钥私钥认证机制_羊舒克的博客-CSDN博客_adb 公钥私钥
可用如下命令生成主机公钥指纹:
$ awk "print $1" < adbkey.pub | openssl base64 -A -d -a | openssl md5 -c | awk "print $2" | tr "[:lower:]" "[:upper:]"
23:B2:47:E1:08:DE:5A:3B:58:5A:A5:A6:FA:98:E0:50
实际上我使用这个命令发现生成的和我看到的弹窗不一样,准备放弃,发现新的文章
windows - 如何在Windows上获取RSA公钥的MD5指纹? - Thinbug
重点就是我需要修改下.rsa文件,去除最后的user@domain.com文本信息,然后再我的mac电脑
执行awk "print $1" < adbkey.pub | openssl base64 -A -d -a | openssl md5 -c | awk "print $2" | tr "[:lower:]" "[:upper:]",结果显示,生成的指纹信息和弹窗上的指纹信息就完全一致了
总的来说就是要先分别base64和md5处理才可以
为此,我需要知道文件中的实际密钥是base64编码的部分,即long cryptic string of characters。在我的情况下,键字段后面总是跟着用户 - 主机字段,即类似
user@domain.com
(也是unknown@unknown
)的字符串,在某些字符串中案例前面有一个包含ssh-rsa
的字段。在后一种情况下,我需要过滤第二个字段。在Windows中,显然,这是使用
for
循环完成的。我还将输出发送到文件以便certUtil
进行后续消解,其输出再次进入文件 - 包含不再是base64编码但以字节为单位的密钥 - 最后使用MD5进行哈希处理。将
id_rsa.pub
的第二个字段中的密钥提取到名为tmp.key_base64
的文件中:
以上是关于Adb 授权过程分析的主要内容,如果未能解决你的问题,请参考以下文章