前排提示:

如果使用虚拟机刷机的,需要在设置虚拟机的地方把网络设置成桥接模式, 也就是书需要在要刷机的小米路由器的网段下
说人话就是小米ip是192.168.31.1 你的机器ip需要是192.168.31.x 否则无法开启telnet

注意:必须使用路由模式,中继模式是打不开telnet的

该方法目前实测适用于3c 3G 3a 4a百兆版 4a千兆版
理论适用小米4代及以前的所有产品
该教程
刷机参考此文
原生固件来源

水友反馈

A:建议linux下使用这个python包,windows和mac下一大堆问题,我原来3.8安装依赖包时失败了 又改了教程里要求的3.6

-------- 来自水友 (~36~)

B:小米3C要用0.0.2版本,只有0.0.2版本可以用,秒进。我刷这个用的win10直接运行python

---- 来自水友 小麻瓜。

A.工具准备:

1.准备电脑一台

win10+ubuntu子系统(以下统称linux)或者linux系统或者win7等+虚拟机(以下统称linux)

2.准备小米路由器若干

B.教程开始:

小米路由器升级成我提供的固件

小米路由器4C
https://wangdadan.lanzoux.com/ic5ehtc
小米路由器3C
https://wangdadan.lanzoux.com/ic89jdg
小米路由器3G
https://wangdadan.lanzoux.com/ic5gnab
小米路由器3A
https://wangdadan.lanzoux.com/ic5ec0d
小米路由器4
https://wangdadan.lanzoux.com/ic5eghe
小米路由器4A百兆版
https://wangdadan.lanzoux.com/ic5ekfg
小米路由器4A千兆版
https://wangdadan.lanzoux.com/ic5ej5a

1.使用root登陆进入linux系统

2.换成国内源

这里我使用的是ubuntu16.04,18系统的请自行百度,或者换16
首先备份源
为了照顾小白,还是说一下吧,sudo是使用root权限执行命令,所以输入这个命令后会让你输入密码。
此时输入的密码你是看不见的,实际上是输入进去了,不必担心。
对了,补充一句,密码是你当前用户的密码。
如果你当前用户是root用户,那么默认是不会让你输入密码的。
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

备份原有源

编辑
cd /etc/apt/
sudo vim ./sources.list

编辑原有源

复制代码
然后把你的输入法调成英文,
然后按两下d键,会删除一行
就这样,把所有内容都删了
然后按 i 进入编辑模式

1.更换阿里源

#更换阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

2.更换清华源

#更换清华源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

粘贴进去之后,点ESC,然后输入 :wq 然后点回车,就保存好了
接下来更新源

apt-get update
apt-get upgrade

耐心等待更新完成(如果准备我上面说的第二个工具,此时你几乎不用等待)

3.安装python3

下面的命令一条一条的复制粘贴回车。

sudo apt-get install python3.6
sudo apt-get install python3-pip

4.电脑连接小米路由器(wifi,网线都行)

电脑浏览器打开小米路由器的管理页面
不要关闭

5.回到linux把代码拉到本地

https://github.com/acecilia/OpenWRTInvasion 的代码利用下面的命令下载下来应网友需求,现已将代码放置本人的服务器上面。各位可以直接使用下面的命令
老版:

wget https://github.com/yuos-bit/rt-n56u/releases/download/v3.4.3-099/OpenWRTInvasion-0.0.1.zip && unzip OpenWRTInvasion-0.0.1.zip
# 建议使用

新版:

wget http://sh.yuos.ml:9986/Linux/OpenWRTInvasion-0.0.1.zip && unzip OpenWRTInvasion-0.0.1.zip
# 不建议使用

6.下面利用漏洞开启telnet

cd OpenWRTInvasion-0.0.1
/*如果使用OpenWRTInvasion-0.0.3请使用命令 cd OpenWRTInvasion-0.0.3/ */
apt install -y python3-pip
pip3 install -r requirements.txt
python3 remote_command_execution_vulnerability.py

输入完之后系统会提示你输入路由器的ip 默认是192.168.31.1
回车之后会让你输入stok。这个stok就在上面我说的不让你关闭的小米路由器的管理页面。
你地址栏显示的应该是
http://192.168.31.1/cgi-bin/luci/;stok=xxxxxxxxxx/web/home#router
这里面的xxxxxx就是你的stok
在地址栏复制stok,粘贴在linux里面 然后回车。
自动利用漏洞开启telnet
当显示telnet 192.168.31.1的时候一般来说就是成功了

7.telnet连接路由器,先备份原有固件以及eeprom(非常重要)

1.备份编程器固件

xhell登录路由器

查看分区如下,命令:

cat /proc/mtd
root@XiaoQiang:~# cat /proc/mtd

xhell中逐条执行以下命令,备份至tmp目录,使用winscp下载备份,协议选scp
也可以使用 FinalShell下载
FinalShell

dd if=/dev/mtd0 of=/tmp/mtd0.bin
dd if=/dev/mtd1 of=/tmp/mtd1.bin
dd if=/dev/mtd2 of=/tmp/mtd2.bin
dd if=/dev/mtd3 of=/tmp/mtd3.bin
dd if=/dev/mtd4 of=/tmp/mtd4.bin
dd if=/dev/mtd5 of=/tmp/mtd5.bin
dd if=/dev/mtd6 of=/tmp/mtd6.bin
dd if=/dev/mtd7 of=/tmp/mtd7.bin
dd if=/dev/mtd8 of=/tmp/mtd8.bin
dd if=/dev/mtd9 of=/tmp/mtd9.bin
dd if=/dev/mtd10 of=/tmp/mtd10.bin
dd if=/dev/mtd11 of=/tmp/mtd11.bin
dd if=/dev/mtd12 of=/tmp/mtd12.bin

2.备份eeprom

eeprom

dd if=/dev/mtd3 of=/tmp/eeprom.bin
# 需要备份的eeprom 请根据实际更改命令备份 Factory(mtd*)分区,大小一般为64kb

xhell中逐条执行以下命令,备份至tmp目录,使用winscp下载备份,协议选scp
也可以使用 FinalShell下载
FinalShell

8.获取breed

小米4A千兆版 :

cd /tmp && wget http://sh.yuos.ml:9986/Linux/breed/breed-mt7621-pbr-m1.bin && mv breed-mt7621-pbr-m1.bin breed.bin

小米3G 和 小米4:

cd /tmp && wget http://sh.yuos.ml:9986/Linux/breed/breed-mt7621-xiaomi-r3g.bin && mv breed-mt7621-xiaomi-r3g.bin breed.bin

小米3A,3C,4A百兆版,4C:

cd /tmp && wget http://sh.yuos.ml:9986/Linux/breed/breed-mt7688-reset38.bin && mv breed-mt7688-reset38.bin breed.bin

网盘地址:小渔网盘

9.将备份的eeprom保存到本地

a.下载winscp

b.下载Finalshell

两者任选其一

下载好之后,参照下图连接路由器

登陆后,右边找到tmp文件夹,点进去下载eeprom.bin到本地。(非常重要)

10.刷breed

mtd write breed.bin Bootloader

第一次进breed刷固件的时候,需要先按照第二张图恢复公版设置然后把备份的eeprom(信号文件)给刷了。
怎么刷eeprom?



你要是还不会,那么抱歉。。。我帮不了你

刷完后自动重启

拒绝龟速百度,从点滴做起!

11.固件下载链接:

蓝奏网盘
小渔网盘

12.padavan下载链接:

蓝奏网盘
小渔网盘
Github下载

13.固件Web管理:

openwrt默认网关地址:192.168.1.1
padavan默认网关地址:10.32.0.1
#如果是从光猫DHCP下来的请修改默认网关地址,否则网关冲突没网!

Padavan Web: admin
password:admin

Openwrt web:root
password:password
Last modification:May 15th, 2021 at 11:14 pm
如果觉得我的文章对你有用,请随意赞赏