[Redmi AX6]红米AX6官方固件永久开启SSH解锁telnet解锁xqsystem.lua文件内容

2021-10-01
0评论
/
阅读
爱搜啊

前提:

需要一台电脑(有线),

另外一台解锁了SSH的openwrt的老wifi路由器(下文路由器B)

一台红米AX6

红米AX6官方固件永久开启SSH

AX6 SSH解锁

1. 路由器B的LAN接口ip设置为169.254.31.1, 关闭路由器B的DHCP(电脑设置固定ip:169.254.31.3上去看看, 另外保证能ping通, 路由器B的DHCP是一定要关的)

2. 如果是openwrt的, ssh上去, 自行添加文件/usr/lib/lua/luci/controller/admin/xqsystem.lua,

最终结果是访问http://169.254.31.1/cgi-bin/luci/api/xqsystem/token会显示类似下面一样的内容

{"code":0,"token":"; nvram set ssh_en=1; nvram commit; sed -i 's/channel=.*/channel=\"debug\"/g' /etc/init.d/dropbear; /etc/init.d/dropbear start;"}

(或者\”显示为\u0022, code和token的先后顺序可交换), 请自己先尝试下确保能成功返回

如果不是openwrt的请自行调整步骤, 保证访问相同地址会显示相同内容即可

xqsystem.lua内容如下

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

3. 路由器B放一边开着, 下面先不连设备, 电脑从路由器B断开, 重新打开电脑的DHCP(不是路由器B的);

4. 电脑连接红米AX6,登录红米AX6后台http://192.168.31.1, 记下<STOK>, 输入时不含<>, 请参考你路由器本来的url格式

5. 访问

http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/extendwifi_connect?ssid={B的SSID}&password={B的密码}

自行修改上面链接的内容然后访问

如果正常会显示0,

显示1646的请检查下第一步的DHCP是否关闭,  1619的请检查第一步IP是否设置正确或者路由器B下仍有其他设备, 1655的请再来一次, 有小概率会连接失败

如果一直失败请改下路由器B的SSID/密码/信道/换着连下2.4G和5G(不要开二合一)

6. 访问

http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/xqsystem/oneclick_get_remote_token?username=xxx&password=xxx&nonce=xxx

(中途不要重启任何一个路由器或者改ip)

三个xxx, 随便填, 我填的就是xxx, 不能是空

如果步骤2路由器B需要用户名密码可以这里填上试试, 不保证成功, 反正我的老路由不需要就没有试过

如果正常会显示和步骤2一样的结果

7. 重启红米AX6(不然wifi没信号), 把路由器B的dhcp和ip还原(如果还原不了就恢复出厂吧...);

可选继续进行后面的步骤

固化telnet

目的:防止系统升级后无法解锁或者需要再来一次上面的步骤

步骤请直接参考AX3600的教程1或者2, 操作前请先备份好自己的mtd9,导出到电脑(也可全盘备份)以防万一

备份步骤

mkdir /tmp/syslogbackup/

全盘就是下面的9换成0~15(也可跳过12~14, 只备份0~11和15), 重复16次, 注意从0开始

(16~18是ubifs的虚拟分区, 16+17≈12或者13,18≈14, 不需要备份, 12/13是A/B分区的固件本身, 也不需要, 14是恢复出厂就没了的数据区, 也可以不需要)

dd if=/dev/mtd9 of=/tmp/syslogbackup/mtd9

然后可以用下载工具下会到电脑(浏览器可能有几个文件会识别成页面下不了)

特别注意:

注意unlock那步的时候wifi可能会挂掉, 请全程有线, 不要慌继续往下执行, lock之后应该就恢复正常了.

完事之后可能需要重新设置下wifi密码


本站附件分享,如果附件失效,可以去找找看

诚通网盘附件百度网盘附件


于2021-10-01发布