前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何让小米路由4C刷上Openwrt20【教程】

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

作者头像
ITJoker
发布2022-08-30 11:23:27
2.7K1
发布2022-08-30 11:23:27
举报

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版本

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-11-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00
  • 0x01
  • 0x02
  • 0x03
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档