最近需要一个带 USB 的小路由,刚好看见了 RAX3000M,恩山说是现在破解了配置文件的加密密码,刷机无需无需拆机了。多多105拿下一个全新的普通版(128M ROM),批次还挺新,生产日期20231124。

开启 SSH 和去除 ROOT 密码

我这里不是色魔张大妈,尽量少放图,省的硬盘。

导出配置文件

给路由器插上电,网线插路由器 lan 口上与电脑连接,浏览器输入默认后台地址192.168.10.1,第一次会显示密码,可以复制到记事本临时存一下,方便后面用。进去后先完成初始化设置,建议跳过。

进入主界面后点击更多

RAX3000M_点击更多RAX3000M_点击更多

然后点击管理,左侧的配置管理,然后点击导出文件

RAX3000M_点击管理RAX3000M_点击管理

cfg_export_config_file.conf下载后上传到 Linux 系统中,或者使用 WSL 子系统也是可以的。

解压配置文件

  • openssl aes-256-cbc -d -pbkdf2 -k $CmDc#RaX30O0M@\!$ -in cfg_export_config_file.conf -out - | tar -zxvf -
复制

解压后会得到一个 etc 文件夹,如下图,红框圈中的是 SSH 服务 Dropbear 的配置文件

RAX3000M_找到Dropbear配置文件RAX3000M_找到Dropbear配置文件

开启 SSH

用编辑器修改etc/config/dropbear文件,把option enable '0'改为option enable '1'

RAX3000M_启用SSHRAX3000M_启用SSH

去除 root 密码

root 密码存在etc/shadow这个文件中,我们不能读取,但是去除密码还是可以的

原来内容类似下边

  • root:$1$YebSmMyK$8TBIUnTLK/4eCYDqtYaD4.:19179:0:99999:7:::
  • daemon:*:0:0:99999:7:::
  • ftp:*:0:0:99999:7:::
  • network:*:0:0:99999:7:::
  • nobody:*:0:0:99999:7:::
  • ntp:x:0:0:99999:7:::
  • dnsmasq:x:0:0:99999:7:::
  • logd:x:0:0:99999:7:::
  • ubus:x:0:0:99999:7:::
复制

改成下面的样子

  • root::19179:0:99999:7:::
  • daemon:*:0:0:99999:7:::
  • ftp:*:0:0:99999:7:::
  • network:*:0:0:99999:7:::
  • nobody:*:0:0:99999:7:::
  • ntp:x:0:0:99999:7:::
  • dnsmasq:x:0:0:99999:7:::
  • logd:x:0:0:99999:7:::
  • ubus:x:0:0:99999:7:::
复制

打包配置文件并上传

  • tar -zcvf - etc | openssl aes-256-cbc -pbkdf2 -k $CmDc#RaX30O0M@\!$ -out cfg_export_config_file_new.conf
复制

cygwin这里会报错

  • tar: 由于前次错误,将以上次的错误状态退出
复制

所以还是推荐 WSL 或者虚拟机

上传就是上边备份界面,然后等 90S 就可以 SSH 登录了。

连接 SSH

Dropbear 是不支持 SFTP 协议的,后面下载文件不方便。所以得用支持 SCP 协议的 SSH 客户端,比如 MobaXterm,方便后面下载备份。

RAX3000M_新建SSH连接RAX3000M_新建SSH连接

完整备份固件

玩路由,玩机的第二步永远是备份原厂固件。

推荐使用 MobaXterm 连接 SSH。

检查分区表

  • root@RAX3000M:~# cat /proc/mtd
  • dev: size erasesize name
  • mtd0: 08000000 00020000 "spi0.0"
  • mtd1: 00100000 00020000 "BL2"
  • mtd2: 00080000 00020000 "u-boot-env"
  • mtd3: 00200000 00020000 "Factory"
  • mtd4: 00200000 00020000 "FIP"
  • mtd5: 03d00000 00020000 "ubi"
  • mtd6: 02500000 00020000 "plugins"
  • mtd7: 00800000 00020000 "fwk"
  • mtd8: 00800000 00020000 "fwk2"
复制

如果你的分区表和我的不一样就别操作了。

备份第一个分区

第一个分区有点大,备份完后先下载,然后清理腾出空间

  • dd if=/dev/mtd0 | gzip >/tmp/mtd0_spi0.0.bin.gz
复制

然后下载备份,MobaXterm 左侧切换到/tmp目录,然后右键备份文件点击Download

RAX3000M_下载备份RAX3000M_下载备份

删除备份

  • rm /tmp/mtd0_spi0.0.bin.gz
复制

然后备份其他,步骤我就不过多赘述了

  • dd if=/dev/mtd1 of=/tmp/mtd1_BL2.bin
  • dd if=/dev/mtd2 of=/tmp/mtd2_u-boot-env.bin
  • dd if=/dev/mtd3 of=/tmp/mtd3_Factory.bin
  • dd if=/dev/mtd4 of=/tmp/mtd4_mtd4_FIP.bin
  • dd if=/dev/mtd5 of=/tmp/mtd5_ubi.bin
  • dd if=/dev/mtd6 of=/tmp/mtd6_plugins.bin
  • dd if=/dev/mtd7 of=/tmp/mtd7_fwk.bin
  • dd if=/dev/mtd8 of=/tmp/mtd8_fwk2.bin
复制

刷写 uboot

先去下载

[x-link url="https://github.com/hanwckf/bl-mt798x/releases" title="Hanwckf MT7981/7986 Ubbot"/]

下载后把mt7981_cmcc_rax3000m-fip-fixed-parts.bin解压出来,不要看错了。

RAX3000M_解压 ubootRAX3000M_解压 uboot

然后上传到 RAX3000M 的 /tmp 目录下

RAX3000M_上传ubootRAX3000M_上传uboot

然后就可以执行命令刷入 uboot 了

  • mtd write mt7981_cmcc_rax3000m-fip-fixed-parts.bin FIP
复制

RAX3000M_刷入ubootRAX3000M_刷入uboot

刷机

刷完uboot后第一次重启会自动进入刷机模式,如果不是第一次,长按reset按钮同时接入电源,保持长按reset按钮5到10秒即可计入刷机模式。

刷机的时候要把电脑设置为 192.168.1 段的 IP 比如 192.168.1.2