Canary Workshop

Whatever is worth doing at all is worth doing well

[施工中]小米路由器3的折腾

半年前就在使用小米路由器3,但一直将其作为一个纯粹的老式路由器而未折腾。今天成功打开了其SSH并安装了opkg,使之成为了真正的“智能路由器”。现将过程记录在此。

0、背景

现在常用的智能路由器系统,大概只有OpenWrt了。OpenWrt的官方文档中提到不支持小米路由器3,因为其使用了高开发成本的NAND闪存。是不是无解了呢?事实上,小米路由器3作为一款智能路由器,其本身就基于OpenWrt,我们所需要做的仅仅是像iOS设备的越狱一样,拿到它的完整控制权。雷军:我听说你们想刷机来躲过我的控制?拿衣服!有开发者提供了利用固件漏洞来获取root权限的方式,这也是后续的基本条件。

1、开启SSH

上文提到,开启SSH是利用了固件漏洞,那么小米发现了漏洞后必然修补,因此目前只能用早期的开发版固件来操作。我这里用第一个开发版操作成功了。下载固件后刷入,然后按照这个教程打开SSH即可。确认SSH启用之后,是可以升级最新版固件的,SSH仍会被保留。

2、安装opkg

进入SSH后,就获得了对设备的root控制权。然后就会喜闻乐见地发现:没有opkg指令。这里提供两种方法:
1、直接下载源中的二进制

1
2
3
4
#下载源中的包文件,我这里使用清华大学的源,下载到了https://mirrors.tuna.tsinghua.edu.cn/openwrt/chaos_calmer/15.05/ramips/mt7620/packages/base/opkg_9c97d5ecd795709c8584e972bfdf3aee3a5b846d-7_ramips_24kec.ipk
tar xvzf *.ipk
tar xvzf data.tar.gz
mv ./bin/opkg opkg

然后将opkg用SCP协议上传至路由器的/data目录,不能使用SFTP
在路由器上:

1
2
chmod +x /data/opkg
/data/opkg

若无意外将看到正常的命令帮助输出。

未完待续