小米路由器恢复出厂设置了怎么办 小米路由器恢复出厂设置


小米路由器恢复出厂设置了怎么办 小米路由器恢复出厂设置


前面一篇文章《小米路由mini折腾笔记》记录了拾肆刷入第三方固件、刷入bootloader以及刷回官方固件的方法 。本文将介绍如何在路由内丢失了sn码及ssh权限的情况下 , 找回sn以及获取ssh权限 。
一、丢失SN信息后获取SSH权限
如果你用编程器备份过Flash , 那么直接编程器恢复吧!如果没有备份 , 那么下面这个是最后一个办法来救命了 , 需要按照以下步骤来操作 。
1.安装小米官方旧版本的固件(新版本固件可能已经禁止了此方法) , 可以使用官方稳定版2.6.11或开发版2.7.11 , 至少这两个版本测试通过 。
1.下载xiaomi-mini-py脚本包 , 下载密码eyaq , 解压(解压密码www.ceniv.com) , 出现mini.py(这个用于小米路由mini版 , 硬盘版使用mi.py)和payload文件 , 文本编辑器打开payload修改默认密码admin为你自己设置一个密码 。
2.电脑上安装系统相应版本的python软件 , WIN64位https://www.python.org/ftp/python/3.5.0/python-3.5.0-amd64.exe , WIN32位https://www.python.org/ftp/python/3.5.0/python-3.5.0.exe , WinXP用户安装这个https://www.python.org/ftp/python/3.4.3/python-3.4.3.msi 。如果难安装成功 , 据说XP这个版本也可以在win8.1正常安装 。进入上一步解压出的mini.py文件所在目录下打开cmd , 输入pip install requests安装python的requests模块 。
3.小米mini路由器上插入一个FAT32格式的U盘 , 浏览器进入路由后台(建议之前先恢复出厂设置) , 找到地址栏的stok值(即stok=\”\”这一段字符串 , 每次登陆不一样) , 复制下来 , 保持浏览器不关闭 。
4.还是在mini.py所在目录进入命令提示符内运行mini.py , 然后在弹出的Paste your session here后粘贴刚才复制的stok值 , 回车执行 。(如果想有详细的执行过程回显信息 , 那么把mini.py脚本里#print (req.content)前面的#删掉即可 , 共4处;脚本里U盘位置写的是sda1 , 由于U盘分区不同或者多次插拔 , 挂载点名称可能会变成sdb1、sdc1或sda4、sdb4等会导致不成功 , 需自己修改py脚本 , 或者直接重启换U盘)
5.等待执行完毕 , 出现提示重启时 , 说明操作完成 , 这时手动重启系统就再次获得ssh权限了 。
下面解释下这个mini.py脚本执行的操作 , 
a.上传payload到路由器可写目录;
b.把/etc/rc.local重命名备份为/etc/rc.local.bak;
c.复制payload到/etc/目录;
d.把payload重命名替换为/etc/rc.local;e.删除可写目录下的payload 。
rc.local里面的命令开机后会自动执行 , payload是原始rc.local增加了破解命令 。
原始rc.local内容:
payload内容:
dropbear是一个小型的ssh服务器 , 启动方法:/etc/init.d/dropbear start , 小米在dropbear启动脚本start段里增加了判断 , 稳定版不让启动直接退出 , nvram参数 ssh_en不是1也退出 。
这下就完美了 , 未通过官方方法获得SSH同时还使得MINI还在保修范围 。
二、复原flash内丢失的SN信息
小米路由mini的Bdata分区内保存着SN等信息 , Config分区里同样也有SN等信息 , 但Config分区里是通过读取Bdata分区而得到的 , 只修改Config分区的信息的话 , 是可以实现后台出现SN的 , 但也有可能还是被清空 。

推荐阅读