小米路由器如何查看ssh(小米路由mini恢复sn及ssh权限)

小米路由器如何查看ssh(小米路由mini恢复sn及ssh权限)(1)

前面一篇文章《小米路由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模块。

payload内容:

小米路由器如何查看ssh(小米路由mini恢复sn及ssh权限)(2)

dropbear是一个小型的ssh服务器,启动方法:/etc/init.d/dropbear start,小米在dropbear启动脚本start段里增加了判断,稳定版不让启动直接退出,nvram参数 ssh_en不是1也退出。

小米路由器如何查看ssh(小米路由mini恢复sn及ssh权限)(3)

这下就完美了,未通过官方方法获得SSH同时还使得MINI还在保修范围。

二、复原flash内丢失的SN信息

小米路由mini的Bdata分区内保存着SN等信息,Config分区里同样也有SN等信息,但Config分区里是通过读取Bdata分区而得到的,只修改Config分区的信息的话,是可以实现后台出现SN的,但也有可能还是被清空。

首先来看下Config分区内信息怎么改。

登录SSH,使用bdata show命令查看bdata信息,

小米路由器如何查看ssh(小米路由mini恢复sn及ssh权限)(4)

增加&修改命令:(自己替换XXX)

bdata set model=R1CMbdata set color=101bdata set CountryCode=CNbdata set SN=XXXXXXXXXXXX

设置默认ssid:(默认XXXX是网卡LAN口MAC地址后四位大写,输入getmac eth会显示lan口MAC)

bdata set wl0_ssid=Xiaomi_XXXX_5Gbdata set wl1_ssid=Xiaomi_XXXX

保存:

bdata sync && bdata commit

其中model是型号;color=101是指路由器的颜色,随便改,定义为黑色100,白色101,橘色102,绿色103,蓝色104,粉色105;CountryCode是国家代码(CN HK TW EN);SN填写你路由背面的sn码。

另一篇文章说用另一个命令nvram,不知道是否起作用:

nvram set SN=XXXXXXXXXXXXnvram set wl0_ssid=Xiaomi_XXXX_5G nvram set wl1_ssid=Xiaomi_XXXXnvram commit可以再输入命令bdata

show查看是否修改成功。

然后重启路由看看能不能绑定成功,如果成功,进入http://192.168.31.1/cgi-bin/luci/;stok=xxxxxxxxxxxxxxxx/api/xqsystem/init_info看看SN是不是自己的。

以上方法修改的是Config分区,如果不成功,那么还需要修改Bdata分区。

Bdata分区在官方固件下面是只读的,如果想要一起修改Bdata分区就需要刷第三方(比如pandorabox)固件,同时准备好一个Bdata.bin文件,这个文件可以用WinHex制作出来,这里有一个空白Bdata模板,密码jkau,解压密码www.ceniv.com

按照下面图片教程修改:

小米路由器如何查看ssh(小米路由mini恢复sn及ssh权限)(5)

http://img08.mifile.cn/v1/MI_1031495CC30DA4/T151KvBvZv1R4n9VrK.gif

刷好改好后WinSCP登录,把修改好的Bdata.bin传到/tmp目录,使用mtd刷入:

mtd write /tmp/Bdata.bin culiang-Bdata

culiang-Bdata好像是潘多拉固件备份的官方bdata分区,如果是官方系统下修改,可能应该将culiang-Bdata改为Bdata。

只要没有显示错误就刷入成功了。然后再使用官方的方法用U盘刷入官方固件。重新打开路由后台,不出意外的话SN信息就又重现了。

重要提醒:不要随便刷别人备份的整个编程器固件,固件中包含eeprom信息,如果使用了非本机的eeprom,就把你本机原来的Factory(eeprom)分区覆盖了,里棉包含了路由对应的mac和无线校准数据,使用别人的参数你的芯片不能发挥最优性能,无线信号可能会变的非常糟糕!

如果因某些原因需要直接用编程器刷写flash或者用WinHex修改bin文件的,请再参照下一节。

三、编程器直接修改Bdata分区 或 WinHex修改备份bin文件

小米路由mini如果丢失了SN,可以尝试用编程器写入Bdata和Config分区,具体方法如下:

Bdata大小16384 字节,位置00FF0004到00FF3FFF

Config大小4096 字节,位置00030004到00030FFF

正常的Bdata:

小米路由器如何查看ssh(小米路由mini恢复sn及ssh权限)(6)

丢失SN后的Bdata

小米路由器如何查看ssh(小米路由mini恢复sn及ssh权限)(7)

按照格式填入,sn自己换,ssid那是lan口mac后4位,填完后剩下的用00填充一直到00FF3FFF

小米路由器如何查看ssh(小米路由mini恢复sn及ssh权限)(8)

然后计算一下00FF0004到00FF3FFF的crc32,倒序填入前面00FF0000开始的八位

小米路由器如何查看ssh(小米路由mini恢复sn及ssh权限)(9)

config是0030004到00030FFF,类似

小米路由器如何查看ssh(小米路由mini恢复sn及ssh权限)(10)

至此,即恢复了小米路由mini内丢失的sn信息。

记录过程中难免有纰漏,如果有任何问题,请留言探讨。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页