|
本帖最后由 snowwolf725 于 2021-6-30 17:48 编辑
只适用1.70.2 之前版本固件, 新版本已改用 PAM 认证
在附件更新了一个自己做的密码算号器方便大家算号
众所周知小爱音箱从去年九月某次升级后 TTL 就需要密码了,
而且这个密码不是通用的是依照自己机器的 SN 搭配通配符进行 MD5 运算后得到的,
在许多前辈高人的指点下也给出了如何算出自己小爱音箱密码的算法,
https://bbs.hassbian.com/thread-8667-1-1.html
https://bbs.hassbian.com/thread-8903-1-1.html
有点好奇这个密码是怎麽产生的,
自己稍微研究了一下,
首先固件的取得可以透过 wireshark 之类的 sniffer 工具当固件升级时取得固件下载连结,
或是在小爱音箱中用 ota check 指令查询固件下载地址
或是用编程器 dump 出分区,
小爱音箱的固件是用类似 OpenWRT 的格式打包的
https://openwrt.org/docs/techref/header
解开固件就可以取得 mico_version, boot.img 以及 squashfs 格式的 root.squashfs
再次解包 root.squashfs 就可以取得 /bin/mi_console 这个产生 root 密码的文档
早期的版本可以透过 mi_console [SN] 取得 root 密码,
不过新版的已经无法透过这方式取得密码,
将 mi_console 透过 ida 可以看出密码是跟型号相关的
lx01, lx05a, lx05, l07a 是使用通配符 A20EDC68-62E5-70C6-76E8-75879721B8EC
s12, s12a, lx06, l09a, l10a 是使用通配符 9C78089F-83C7-3CDC-BCC9-93B378868E7F
但是今年九月后通配符更新了,
这是我逆向小爱音箱 1.66.7 板固件中的 mi_console 得到的内容,
通配符变成了 B0168A6D-119A-F21A-DA58-980732F80A19 以及 5775B10D-15C0-7827-97B9-88EA07FCA97A
lx01, lx05a, lx05, l07a 是使用通配符 5775B10D-15C0-7827-97B9-88EA07FCA97A
s12, s12a, lx06, l09a, l10a 是使用通配符 B0168A6D-119A-F21A-DA58-980732F80A19
小爱音箱 Pro 型号是 lx06 所以通配符 B0168A6D-119A-F21A-DA58-980732F80A19
|
评分
-
查看全部评分
|