CR6608开SSH并刷入PB-Boot。
准备
先将路由器降级至原始版本(固件版本号低于:1.0.103即可)
确定自己的型号信息:
型号 | CR6606(联通) | CR6608(移动) | CR6609(电信) |
Web后台IP | 192.168.31.1 | 192.168.3.1 | 192.168.2.1 |
Web后台密码 | 自行设置 | 自行设置 | 自行设置 |
root登录密码 | 无(根据序列号算出来) | 背面密码 | 背面密码 |
xqsystem.lua文件
以下xqsystem.lua文件的内容1:
module("luci.controller.admin.xqsystem", package.seeall)
function index()
local page = node("api")
page.target = firstchild()
page.title = ("")
page.order = 100
page.index = true
page = node("api","xqsystem")
page.target = firstchild()
page.title = ("")
page.order = 100
page.index = true
entry({"api", "xqsystem", "token"}, call("getToken"), (""), 103, 0x08)
end
local LuciHttp = require("luci.http")
function getToken()
local result = {}
result["code"] = 0
result["token"] = "; nvram set ssh_en=1; nvram commit; sed -i 's/channel=.*/channel=\"debug\"/g' /etc/init.d/dropbear; /etc/init.d/dropbear start;"
LuciHttp.write_json(result)
end
已刷OpenWrt的设备
一台已拥有OpenWrt系统的“设备A”,虚拟机应该也可以2。
解锁CR6608的SSH
设置”设备A”
电脑通过无线(或网线)连接“设备A”。
将上述xqsystem.lua
文件上传至路径/usr/lib/lua/luci/controller/admin/
下,或者通过SSH,使用以下命令创建xqsystem.lua
文件:
> vi /usr/lib/lua/luci/controller/admin/xqsystem.lua
在编辑框中按“i”进入编辑模式,将上述xqsystem.lua
文件的内容粘贴进去,按“Esc”退出编辑模式,输入:wq
保存即可。
将“设备A”的IP地址修改为169.254.31.1
,并且关闭其DHCP功能。
记住“设备A”的WiFi名称(SSID
)和密码(PWD
)。
保持”设备A“当前的开机状态
设置CR6608
电脑通过网线连接CR6608,登入其管理后台(192.168.10.1)。
此时地址栏的连接格式如下:
http://192.168.10.1/cgi-bin/luci/;stok=<STOK>/web/home#router
首先将/web/home#router
修改为以下内容并回车:
/api/misystem/extendwifi_connect?ssid=SSID&password=PWD
# SSID 和 PWD 替换为上述提到的WiFi名称和密码
回车之后,网页会提示以下内容
{"msg":"connect succces!","code":0}
再将链接的/api……PWD
部分修改为以下内容并回车:
/api/xqsystem/oneclick_get_remote_token?username=xxx&password=xxx&nonce=xxx
之后就可以通过WinSCP等工具连接CR6608了
备份分区
使用”PowerShell“或 WinSCP 连接CR6608,密码通过上面的表格获取。
> ssh [email protected]
获取分区表信息
> cat /proc/mtd
dev: size erasesize name
mtd0: 00080000 00020000 "Bootloader"
mtd1: 00040000 00020000 "Nvram"
mtd2: 00040000 00020000 "Bdata"
mtd3: 00080000 00020000 "Factory"
mtd4: 00040000 00020000 "crash"
mtd5: 00040000 00020000 "crash_log"
mtd6: 01e00000 00020000 "firmware"
mtd7: 01e00000 00020000 "firmware1"
mtd8: 00340000 00020000 "kernel"
mtd9: 01ac0000 00020000 "rootfs"
mtd10: 00ec0000 00020000 "rootfs_data"
mtd11: 03200000 00020000 "overlay"
mtd12: 01000000 00020000 "obr"
分次使用以下命令将分区备份至路由器的/tmp/rom-bak/
目录下。每备份一个分区就从
中下载一个分区,避免空间不够导致备份失败。/tmp/rom-bak/
nanddump -f /tmp/rom-bak/mtd0_Bootloader.img /dev/mtd0
nanddump -f /tmp/rom-bak/mtd1_Nvram.img /dev/mtd1
nanddump -f /tmp/rom-bak/mtd2_Bdata.img /dev/mtd2
nanddump -f /tmp/rom-bak/mtd3_Factory.img /dev/mtd3
nanddump -f /tmp/rom-bak/mtd4_crash.img /dev/mtd4
nanddump -f /tmp/rom-bak/mtd5_crash_log.img /dev/mtd5
nanddump -f /tmp/rom-bak/mtd6_firmware.img /dev/mtd6
nanddump -f /tmp/rom-bak/mtd7_firmware1.img /dev/mtd7
nanddump -f /tmp/rom-bak/mtd8_kernel.img /dev/mtd8
nanddump -f /tmp/rom-bak/mtd9_rootfs.img /dev/mtd9
nanddump -f /tmp/rom-bak/mtd10_rootfs_data.img /dev/mtd10
nanddump -f /tmp/rom-bak/mtd11_overlay.img /dev/mtd11
nanddump -f /tmp/rom-bak/mtd12_obr.img /dev/mtd12
在浏览器中分次输入以下链接来下载备份好的分区,也可以直接使用WinSCP等来将备份好的分区下载至电脑。
http://192.168.10.1/tmp/rom-bak/mtd0_Bootloader.img
http://192.168.10.1/tmp/rom-bak/mtd1_Nvram.img
http://192.168.10.1/tmp/rom-bak/mtd2_Bdata.img
http://192.168.10.1/tmp/rom-bak/mtd3_Factory.img
http://192.168.10.1/tmp/rom-bak/mtd4_crash.img
http://192.168.10.1/tmp/rom-bak/mtd5_crash_log.img
http://192.168.10.1/tmp/rom-bak/mtd6_firmware.img
http://192.168.10.1/tmp/rom-bak/mtd7_firmware1.img
http://192.168.10.1/tmp/rom-bak/mtd8_kernel.img
http://192.168.10.1/tmp/rom-bak/mtd9_rootfs.img
http://192.168.10.1/tmp/rom-bak/mtd10_rootfs_data.img
http://192.168.10.1/tmp/rom-bak/mtd11_overlay.img
http://192.168.10.1/tmp/rom-bak/mtd12_obr.img
刷入PB-Boot
使用”PowerShell“或 WinSCP 连接CR6608,将pb-boot.img
放到 /tmp
目录中,或者将PB-Boot文件放至D盘,打开”PowerShell“,使用以下命令上传至CR6608的/tmp
目录:
> cd d:
> scp /pb-boot.img [email protected]:/tmp
接着在”PowerShell“中使用命令连接CR6608,将PB-Boot写入 Bootloader
> ssh [email protected]
> mtd write /tmp/pb-boot.img Bootloader
至此,路由器便拥有了刷机底包,在正常情况下不会变砖。
刷入其他版本的固件
将路由器断电,使用牙签等工具按住reset按钮,通电,直到路由器指示灯开始黄色慢闪即可松开reset。
使用网线连接路由器LAN口,浏览器输入192.168.1.1进入PB-Boot控制台,点击浏览,选择适配CR6608且后缀为factory.bin(或firmware.bin)的固件,再点击恢复固件,等待几分钟后,路由器会重启进入新系统,输入固件包作者给的IP地址(可通过电脑查看)、账号和密码来访问路由器管理页面。
至此CR6608变完成了刷机。
请问这种macOS样式的代码块是如何实现的?
主题自带的(忘记了,也可能是我CSS脚本美化的)