一、 准备工具
准备好putty、winSCP、HxD、crash_unlock.img、小米降级固件
这里提供了部分不好找的工具
二、开启临时SSH
-
固件降级至1.0.336
-
用登录后的stock替换下列url开启临时SSH
http://192.168.31.1/cgi-bin/luci/;stok=<STOCK>/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h; nvram set ssh_en=1; nvram commit; sed -i 's/channel=.*/channel=\"debug\"/g' /etc/init.d/dropbear; /etc/init.d/dropbear start; echo -e 'admin\nadmin' | passwd root;
三、 修改bdata分区数据
-
备份bdata分区
cat /proc/mtd | grep bdata 看下名称前缀 如 mtd9: 00080000 00020000 "bdata" mkdir /tmp/syslogbackup/ nanddump -f /tmp/syslogbackup/mtd9 /dev/mtd9 dd if=/dev/mtd9 of=/tmp/syslogbackup/mtd9 -
浏览器下载bdata
http://192.168.31.1/backup/log/mtd9 -
用
HxD.exe工具修改记住文件总行数(重要‼️) 从wl0_ssid=前面开始插入`telnet_en=1.ssh_en=1.uart_en=1.` `.boot_wait=on`这条参数添加到最后面 `.`对应的16进制都改为00 删除部分00的数据使文件总行数和最初保持一致 -
刷入
crash_unlock.img和修改后的mtd9
-
上传crash_unlock.img到
/tmp目录mtd write /tmp/crash_unlock.img crash reboot -
上传mtd9到
/tmp目录mtd write /tmp/mtd9 bdata reboot 再进行一个恢复出厂设置
四、 升级固件至最新
五、telnet连接开启SSH(因为每次升级ssh会关闭)
sed -i 's/channel=.*/channel=\"debug\"/g' /etc/init.d/dropbear
/etc/init.d/dropbear start
echo -e 'admin\nadmin' | passwd root (这里的admin密码最好改下)