如何让小米路由4C刷上Openwrt20【教程】

2022-08-30 11:23:27 浏览数 (1)

0x00

本教程需要wsl环境,需要在wsl中安装、配置好python3环境。以及后续编译固件需要访问国外网站 从中访问国外网站的工具,我使用proxychains,具体配置详情见百度~

0x01

首先对小米路由原生固件进行破解,通过Github搜索,找到exp脚本。 目前只支持破解原生固件 2.28.622.28.132 于是clone下来。

代码语言:javascript复制
proxychains git clone https://github.com/acecilia/OpenWRTInvasion.git
cd OpenWRTInvasion
sudo proxychains pip3 install -r requirements.txt
sudo proxychains python3 remote_command_execution_vulnerability.py

提示输入Router IP address [press enter for using the default 直接回车 当提示输入stok的时候,你需要登录小米路由后台,在浏览器参数stok中获取值,复制并粘贴 若中间破解失败,检查下是否已具备科学上网条件。

0x02

路由破解成功后,我们需要telnet的方式,连接上路由并刷入breed。

代码语言:javascript复制
telnet 192.168.31.1
dd if=/dev/mtd3 of=/tmp/eeprom.bin

用WinSCP的FTP把eeprom.bin备份到本地

代码语言:javascript复制
cd /tmp && wget https://breed.hackpascal.net/breed-mt7688-reset38.bin && mv breed-mt7688-reset38.bin breed.bin
mtd write breed.bin Bootloader

按住路由Reset按键3秒通电进入Breed,刷eeprom后双清。

0x03

在上面我们已经成功的刷入breed了,那么开始编译Openwrt固件,我首先选用的是lede,主要能保证编译成功。由于官方并不支持小米路由4c,通过论坛搜索,找到国外老哥**@MacTavishAO**的仓库:https://github.com/MacTavishAO/openwrt,但是他的dts文件的分区,并不适用于本教程,因此改动成如下

代码语言:javascript复制
                        partition@0 {
                                label = "u-boot";
                                reg = <0x0 0x30000>;
                                read-only;
                        };

                        partition@30000 {
                                label = "u-boot-env";
                                reg = <0x30000 0x10000>;
                        };

                        factory: partition@40000 {
                                label = "factory";
                                reg = <0x40000 0x10000>;
                                read-only;
                        };

                        partition@50000 {
                                compatible = "denx,uimage";
                                label = "firmware";
                                reg = <0x50000 0x1000000>;
                        };

但是具体的改动了哪些文件,详情见链接

代码语言:javascript复制
https://github.com/ITJoker233/lede/commit/7c46ed3605def221b749fcf356dba5c865a9c54e

以下是编译过程

代码语言:javascript复制
proxychains git clone https://github.com/ITJoker233/lede
cd lede 
sudo proxychains apt-get update
sudo proxychains apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs gcc-multilib g  -multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler antlr3 gperf swig
sed -i 's/#src-git helloworld/src-git helloworld/g' ./feeds.conf.default
proxychains ./scripts/feeds update -a
./scripts/feeds install -a
cp xiaomi-router-4c.config .config

开始下载dl等配置并编译

代码语言:javascript复制
proxychains make download -j8
make -j1 V=s

具体速度取决于你的电脑配置,大概10-30分钟左右编译完成~ 这有一份已经编译好的固件,均带科学上网插件,推荐无ipv6版本,可以自行下载通过Breed刷入 固件下载(中文)不带ipv6版本 固件下载(中文)带ipv6版本

0 人点赞