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的文件中:

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值