https://hot.mangot5.com/hot/index_mango_index.html(52,549B) / _mango_dl.html / _mango_notice.html / _login.html / _launcher.js / _yt_installer.exe(4,878,784B) / _patch_root.html| 项 | 实测值 |
|---|---|
| 页面标题 | 新熱血江湖-唯一官方入口 |
| 游戏代号 | gname = "hot"(window.gname = "hot",全站路由前缀 /game/hot/) |
| 运营方 | 樂意傳播股份有限公司(HAPPYTUK Co., Ltd.)/快樂玩遊戲平台 MangoT5 |
| 开发方 | MGAME Corp.(韩国) |
| 页脚版权 | ©HAPPYTUK Co., Ltd. + ©MGAME Corp. 双版权 |
| 分级 | rating-12.png(辅导十二级);页脚明示「本遊戲部分內容涉及暴力情節」「請避免沉迷遊戲」「免費制,另外提供付費購買虛擬物品」 |
| 站点定位 | 台湾地区(台服)代理版官网,不是国服、不是私服 |
| 平台地位 | MangoT5 平台 PC GAMES 九宫格中的第 9 位(另有 LOST ARK / CLOSERS / 新王者之劍 / 巨商 / 勁舞團 / 彩虹島物語 / Freestyle / A.V.A / Special Force) |
一个容易误判的点:hot.mangot5.com 是「官网门户」,不是游戏服务器、不是补丁站、也不是登录网关。真正的账号体系在 www.mangot5.com,客户端下载在 download.mangot5.com,纯静态资源在 landing.mangot5.com。
浏览器
│ HTTPS (TLS)
▼
Cloudflare ── CF-RAY: ...-HKG (香港节点;仅代理/CDN,未启用 WAF 挑战)
├── hot.mangot5.com 游戏站(Java / JSP,JSESSIONID)
├── www.mangot5.com 平台账号中心(注册/登录/储值/客服)
├── landing.mangot5.com 静态资源(91 次引用,模板+CSS+JS+CMS 图)
├── images.mangot5.com 图标/分级标
├── download.mangot5.com 安装器分发(Clever Cloud + S3,带 x-amz-meta-sha256)
└── api.mangot5.com 独立 API 源站,DNS 直指 123.51.199.33(台湾,未走 CF)
实测证据:
Server: cloudflare,CF-RAY: a4c95342d8e186a7-HKGSet-Cookie: JSESSIONID=...; Domain=.mangot5.com; Path=/; HttpOnly → Java 容器(Tomcat/JBoss 系)/game/<gname>/<action>、xxx.json 后缀、/Index/<Module>/<Action> → Spring MVC / 老式 JSP 分层X-Clv-Request-Id / X-Amz-* → 后端是 Clever Cloud + S3 兼容对象存储,不是自家机器Content-Encoding: br(Brotli 已开),Transfer-Encoding: chunked;本次链路观测为 HTTP/1.1(Cloudflare 侧对现代浏览器一般会给 h2/h3,代理环境下不可作为站点缺陷)子域名矩阵(实测解析):
| 主机 | IP | 性质 |
|---|---|---|
hot.mangot5.com | 172.67.74.230 | 游戏官网(CF) |
www.mangot5.com | 104.26.11.73 | 平台账号/储值(CF) |
landing.mangot5.com | 104.26.10.73 | 静态资源(CF) |
download.mangot5.com | 104.26.11.73 | 安装器分发(CF→Clever Cloud) |
images.mangot5.com | 104.26.11.73 | 图标 |
api.mangot5.com | 123.51.199.33 | 独立源站(未走 CF,直连) |
patch. / patch-yg. / yg. / game. / cdn.mangot5.com | CF | 泛解析,全部落到同一张 43,364B 的平台引导页 |
结论:patch-yg(yg=YulGang 熱血江湖)虽然域名存在,但不是补丁服务器。实测 patchlist.txt / patchlist.xml / version.ini / version.xml / update.ini / patch/ / ygpatch/ / Version.txt / update/ 全部 404。真正的补丁清单只存在于客户端内部,官网不暴露。
加载的库(19 个 <script> + 9 个 <link rel=stylesheet>):
| 库 | 版本/特征 | 判断 |
|---|---|---|
template/common/js/jQuery.js | 93,064 B | 第一份 jQuery |
template/hot/scripts/jquery.min.js | 96,383 B | 第二份 jQuery(重复加载) |
bootstrap.css | 146,010 B | Bootstrap 3 时代 |
bootstrap.min.js + bootbox.min.js | 27,726 + 9,972 B | 弹窗 |
fancybox-1.3.1.css | 8,340 B | 2011 年的 fancybox 1.x |
arpiel.obt.ui.lib.js | 426,099 B | 单文件最大 JS,自研 UI 库 |
arpiel.obt.ui.js | 59,365 B | 同上 |
rolling.js | 7,937 B | 自研无缝滚动 |
Vague.js | 9,326 B | 背景虚化(CSS filter polyfill 时代产物) |
jquery.Framer.js | 30,557 B | IE 滤镜/圆角框架 |
simplebar@latest (jsdelivr) | — | 未锁版本号,供应链风险 |
common_menu.js / nav-panel.css | — | 全平台九宫格导航(跨站复用) |
protocolcheck.js / launcher.js?v=3 | — | HappyTuk 启动器协议(见第六节) |
埋点与第三方:
GTM-PB58S8v2.12(2018 年版),appId=198746237397990,autoLogAppEvents=1代码卫生问题(实测字符串):
protocolcheck.js 里遗留 alert('here3')(IE 分支调试残留)enterBirthday() 弹 日文提示:alert('プロフィールの誕生日を設定してください'),后面跟中文注释 //你沒有登入生日唷<!-- 현재 작업중 -->id="Isletclg20201217"nav.ht-navbar ← 全平台侧滑九宫格(25 个游戏入口,simplebar 滚动)
div#wrapContainer
└ div.wrapbg
└ div.header
├ nav#gnb ← 本站 6 大主栏
└ div.gnbDim
div.promotionPosiWrap ← 焦点图区
├ div.mainRollBanner > ul#mainRollBanner ← 7 张主视觉,缩略图间距 235px,7s 自动轮播
└ div.promoRollingBg
div#wrap.cont
└ div#main
├ div#main-left
│ ├ div.news_box ← 三栏新闻:系統消息 / 活動消息 / 冒險手札(各 7 条)
│ ├ div#banner-box ← 侧栏 3 个入口 banner(→ /game/hot/download)
│ └ div#media.vedio ← 官方影片
└ div#main-right
├ div.sign ← 登录态区:開始遊戲 / 註冊 / 儲值(+ reCAPTCHA)
├ div#abgne_fade_pic ← 活动轮播(fade 2000/3000ms,2s 切换)
└ div.useful_box ← 唯美影片 / 線上儲值 / 網頁商城 / 客服中心
table.footer100 ← 版权 + 分级 + 防沉迷
导航 6 主栏(共 24 个二级入口):
运营位:7 张主视觉 → 分別指向「開放昇天七式」「熊熊來襲」「神靈靈獸開放」「讓你的點數放大5%」「新手專屬福利」「東嶺神女-美高降臨」等活动落地页(landing.mangot5.com/template/hot/event/<日期>_<代号>/index.html)。
最新公告(/game/hot/notice,每页 10 条 + 分页 page 参数):
| 日期 | 标题 |
|---|---|
| 2026.10.14 | 10/14(三)登入異常補償公告 |
| 2026.10.14 | 10/14(三)例行性維護開機公告 |
| 2026.10.13 | 10/14(三)例行性維護公告 |
| 2026.10.09 | 10/9登入異常修復公告(10/12 18:30更新) |
| 2026.10.08 | NPC陳留商店商品更換預告 |
| 2026.05.08 | 【Important】※帳號保管處理費※(长期置顶) |
| 2024.06.28 | 【Important】※帳號防盜以及防詐騙重要宣導※(5/8更新)(长期置顶) |
活动/改版时间线:昇天六式(2024.11.14) → 神靈靈獸開放(2025.02.27) → 夏日活動(2025.07.10) → 熊熊來襲(2025.11.13) → 昇天七式(2026.04.30)。
版本判断:台服当前内容线在「昇天七式」,2026 年 4 月上线,10 月只做例行维护与 bug 修复,没有新大版本。这个进度显著落后于韩服主线,与国服(用户本地 rxjh2025 客户端)不属于同一版本代。
运营信号:连续三次「登入異常」(10/9 修复、10/14 维护、10/14 补偿)说明 10 月上旬台服登录链路出现过持续故障 —— 对做登录自动化的人来说,这类窗口期是外部依赖不稳定的直接证据。
台服没有游戏独立账号,全部走 MangoT5 平台统一账号。
登录入口:/Index/Member/Login?gname=hot&ref=<当前路径+查询串>
表单实测字段:
<form id="Login" method="POST" class="form-horizontal login">
<input type="hidden" name="ref" value="">
<input type="hidden" name="loginBtnClick" value="">
<input type="hidden" name="p" value="">
<input type="hidden" name="r" value="<64位hex,每次变化>">
<input type="hidden" name="gname" value="hot">
<input type="hidden" name="check" value="">
<input type="hidden" name="userNoString" value="">
<input type="hidden" name="clientIP" value="10.100.1.5"> ← 内网地址
<input id="oldPassword" name="userID" type="text">
<input id="newPassword" name="password" type="password">
<input id="validCode" name="validCode" maxlength="11"> ← 图形/短信验证码位
<input type="hidden" name="userNo" value="">
<input type="hidden" id="otpCheck" name="otpCheck" value="">
</form>
实测要点:
r 是每次刷新都变的 64 位 hex(连抓 3 次:1376a303… / 3f3562a1… / 9b4754e0…),随 JSESSIONID 一起下发 → 防重放 nonce(大概率是 HMAC-SHA256(时间戳/会话) 截断)。任何自动化登录必须先 GET 拿 r,不能写死。clientIP 硬编码 10.100.1.5 —— 内网 RFC1918 地址直接出现在 HTML 模板里,说明后端在反向代理后面取的是内网地址,或模板把它当占位符写死。属于信息泄漏,也说明这套模板至少三年没人清理。data-sitekey="6Ldx-YssAAAAAEiHRA60Du9w8dCFhDKgi0RIkqgW",由 /login 返回的 data.result.requireCaptcha 按需触发,不是每次都弹。if ("HK" !== "CN" && typeof grecaptcha !== 'undefined') → 港澳台走 Google reCAPTCHA,大陆(CN)走图形验证码 #captchaCode。同一套模板服务两个区,靠服务端注入的地区码切换。#optForm + submitOtpValidation(),独立提交通道。enterBirthday() 拉去 /web/member/myaccount/info?gname=hot(分级合规要求)。JSESSIONID 仅 HttpOnly,没有 Secure,没有 SameSite —— 但 Domain=.mangot5.com 且全站 HTTPS,实际风险有限,属于配置瑕疵而非可利用漏洞。首页「開始遊戲」按钮的真实目标:
<A title="開始遊戲" href="/game/hot/download" class="gmaestart"></A>
→ 跳下载专区,不是 happytuk: 协议拉起。说明台服热血江湖没有网页一键启动,必须先装客户端。
/game/hot/download 全页唯一主程式下载点:
https://download.mangot5.com/download/yg/kcsdownload/HAPPYTUK_YulGang_installer.exe
实测元数据:
| 项 | 值 |
|---|---|
| 大小 | 4,878,784 B(4.65 MB) |
| SHA-256 | d33530fe7b33d1f8715bc6c17cb98e5a60e508c4f8ab67b70f4be27adf658e92(服务端 x-amz-meta-sha256 与实测一致) |
| MD5 | 7ceef42201381d980eb2c0e0a6345719(等同 ETag) |
| Last-Modified | 2024-05-22 18:01:06 GMT |
| 内部更新时间 | x-amz-meta-s3b-last-modified: 20220704T033435Z |
| PE 架构 | PE32 / i386(32 位),8 个节,Subsystem=2(GUI) |
| 产品名 | KCS-Downloader |
| FileVersion | 2.6.6.9 |
| 公司名 | Kamuse Inc. |
判读:
rxjh2025 同源(韩服 MGAME 引擎),这点对内存偏移移植有利,但版本差异会毁掉全部偏移。本页虽然引了 protocolcheck.js + launcher.js?v=3,但 hot 不在启动器配置里。
实测 /webLauncher/config(GET,无鉴权,直接返回 JSON,14 条):
| gname | id | exename | regpath |
|---|---|---|---|
| au | 7 | patcher.exe | Software\Happytuk\Audition |
| la | 8 | LataleLauncher.exe | Software\HappyTuk\LaTale |
| aika | 17 | AIKALauncher.exe | Software\HappyTuk\AIKA |
| sf2 | 21 | DFUBG.exe | Software\HappyTuk\SF2 |
| 12sky2ori | 23 | Launcher.exe | Software\HappyTuk\12sky2ori |
| ava | 25 | HTLauncher.exe | Software\HappyTuk\Ava |
| islet | 27 | ExecutePatch.exe | Software\HappyTuk\islet |
| sf1 | 28 | SFLauncher.exe | Software\HappyTuk\SF1 |
| gs | 30 | run.exe | Software\HappyTuk\GERSANG |
| lostark | 32 | Launcher.exe | Software\HappyTuk\LOSTARK |
| gj | 33 | GameLauncher.exe | software\HappyTuk\GJ |
| xa | 34 | Patcher.exe | Software\HappyTuk\XA |
| ge | 35 | ge.exe | Software\HappyTuk\GE |
| fs1 | 36 | Launcher.exe | SOFTWARE\Classes\happytuk-fs1\ |
没有 hot → 铁证:熱血江湖台服不走 happytuk: 协议,走独立安装器。同时这份接口裸奔(无需登录即可拿到全部 14 款游戏的 exename / 注册表安装路径 / gameId),是一个设计缺陷(信息泄漏级别,非提权)。
launcher.js 的协议构造规则(可复用知识):
url = protocol + ":" + auth
auth = gname + "|" + (userNo + " " + authKey) + "|" + isTest + "|" + configUrl
// protocol 分支:closers→naddiclauncherjpn、clo→naddiclaunchertwn、
// fs1/wk→happytuk-<gname>(qa 时 happytuk-<gname>qa)、其余→happytuk
各游戏 authKey 获取方式:
POST /game/<gname>/getLauncherAuthKey.json,data:{userNo} → {userNo, authKey}xa(소호강호):先 POST /game/xa/gameAuthLogin.json 验账号,再 POST /xa/getRegistTicket.json 取 ticket,拼成 user:<userId>@taiwan@sso pwd:<ticket>r2:/<userId>/<userNo>/<authKey>au:追加 userInfo + pathPath=patch-au.mangot5.com.tw/audition_patch/patch/<mode>gj:-account=<userNo> -ticket=<authKey>ro:走 launcher_call_as_web → POST /game/ro/getAuthKey.json → POST /ro/auth.json → iframe 内嵌网页游戏| 接口 | 方法 | 鉴权 | 实测结果 |
|---|---|---|---|
/webLauncher/config | GET | 无 | 200,3,590 B JSON,14 条启动器配置 |
/game/hot/getLauncherAuthKey.json | POST userNo | 需登录 | 未登录无 authKey(走"閒置時間過久"分支) |
/game/<g>/checkIngameAccount.json | POST | 需登录 | 返回 {result} |
/game/<g>/createIngameAccount.json | POST | 需登录 | 返回 {result} |
/game/<g>/checkIp.json | POST | 需登录 | 返回 {result}(rom 用,已被注释停用) |
/game/<g>/gameAuthLogin.json | POST | 需登录 | 返回 {returnCode}(50000/50011 账密错、50015/50050 封禁) |
/<g>/getRegistTicket.json | POST | 需登录 | 返回 {result:{returnCode, apiResultMsg}} |
/game/hot/notice?page=N | GET | 无 | 200,每页 10 条,contentNo 可枚举 |
/game/hot/notice/detail?contentNo=N | GET | 无 | 200,33,288 B |
/game/hot/event · guide · journal · faq · wallpaper · newItemList · hotGm · movie · download | GET | 无 | 全部 200 |
/Index/Member/Login?gname=hot | GET/POST | — | 登录表单 + r nonce + reCAPTCHA |
robots.txt 主动泄漏的内部路径:
disallow: /Index/Member/Login
disallow: /Index/Member/Profile
disallow: /Index/Member/ChangePWD
disallow: /game/cls/notice/detail/?contentNo=8639
最后一条是 CLOSERS 的某条公告被单独禁爬 —— 典型的"删不掉就屏蔽"式应急处理,反而暴露了该公告的特殊性。
| 请求 | 结果 |
|---|---|
contentNo=70398 | 200 / 33,288 B(正常详情) |
contentNo=70398' | 200 / 21,544 B(空壳页,无 SQL 报错、无堆栈) |
contentNo=abc | 200 / 21,544 B(同上) |
contentNo=1 | 200 / 21,544 B(同上) |
判读:非数字/不存在的 ID 一律优雅降级到同一张空壳模板,没有异常页、没有 ORM 报错、没有堆栈泄漏。说明该参数走的是强类型绑定(int 转换失败即返回空),SQL 注入面在此处闭合。这是这套老 Java 架构少见的干净点。
实测 HEAD /hot/index:
✗ Strict-Transport-Security
✗ Content-Security-Policy
✗ X-Frame-Options
✗ X-Content-Type-Options
✗ Referrer-Policy
✗ Permissions-Policy
六项全无。结合"页面加载 20+ 个来自 4 个不同域(含 jsdelivr / facebook / google)的脚本、且无一带 SRI",点击劫持与供应链投毒的理论敞口是实打实存在的,只是 Cloudflare 前置限制了直接利用。
| 项 | 风险 |
|---|---|
https://cdn.jsdelivr.net/npm/simplebar@latest/dist/simplebar.js | 未锁版本,npm 上游任意一次发布即生效 |
fancybox 1.3.1(2011) | 已知 XSS 历史版本 |
| 双 jQuery 共存 | 版本冲突/插件重复绑定,未版本化到具体 patch |
| FB SDK v2.12(2018) | 早已停更 |
| 无 SRI | 任一 CDN 被投毒即全站执行 |
clientIP=10.100.1.5 —— 内网地址/webLauncher/config 无鉴权 —— 14 款游戏的 exe 名 + 注册表安装路径robots.txt —— 登录/改密/资料页路径 + 单条 CLOSERS 公告 ID//landing.mangot5.com//template/common/images/404_TW.jpg(双斜杠,暴露目录层级习惯)/Images/cms/happycode/20251113/1763016716747.png → 可精确推断运营活动上线时间(本次据此还原了 2019~2026 的活动节奏)| 指标 | 实测值 |
|---|---|
| HTML | 50,147 字符 / 52,549 B(Brotli 后传输更小) |
| 子资源 | 48 个 |
| 子资源总重 | 5.52 MB(未压缩) |
| JS | 19 个,约 0.99 MB(arpiel.obt.ui.lib.js 单文件 426 KB 最大) |
| CSS | 9 个,约 0.29 MB |
| 图片 | 约 4.68 MB,7 张 CMS 大图占 4.19 MB |
最重的 5 个资源:
765,616 B Images/cms/happycode/20251113/1763016716747.png
719,814 B Images/cms/happycode/20191211/1575996341242.png ← 2019 年的图还在首页
668,975 B template/happytuk/fb/hot_fb.jpg ← OG 图,被当页面资源加载
531,979 B Images/cms/happycode/20191211/1575996847439.png
515,592 B Images/cms/happycode/20260430/1777541975362.png
问题定性:
srcset:整页 <img> 没有一个 loading="lazy",移动端首屏一次性拉全量。1575996341242.png 日期戳 2019-12-11)→ CMS 内容长期未清理。综合评价:这是一张「能用、但完全不优化」的老式官网 —— 5.52 MB 的首屏在现代标准下属重度超标(合格线 1.5~2 MB)。
title / description / keywords 三件套齐全,keywords 堆了 60+ 个词,其中「封測帳號」「CB遊戲」「封測online」「2015」等早已过期的词仍在(说明 meta 里 2015 年写的没更新过)。og:url / og:title / og:description / og:image / og:type=article / og:site_name。meta name="generator" content="mangot5 official homepage" —— 自研 CMS 指纹。revisit-after: 1 days、classification: entertainment,game、rating: general。robots.txt 允许全站,仅屏蔽 3 个会员页 + 1 条公告;sitemap 指向 www.mangot5.com/sitemap.xml,但本域 /sitemap.xml 返回 404 壳页。以下是把你现有rxjh工程(国服D:/rxjh2025/client/+ 自动登录 + 内挂)与台服对照后的直接判断,不是泛泛而谈。
www.mangot5.com),登录带 r nonce(每请求变)+ 按需 reCAPTCHA v2 + OTP + 强制生日。国服那套「账号密码直连」的自动登录思路在这里走不通;若要做,必须先 GET 取 r 再 POST,且要处理 reCAPTCHA 挑战(自动化成本极高,v2 有行为风控)。hot 不在 /webLauncher/config 里,没有 happytuk: 协议入口,只能跑安装器 / 直达 exe。你现在那套「启动线程拉起 client.exe」的做法反而是唯一可行路径。rxjh2025 是另一条版本线。同源引擎(MGAME)→ 数据结构相似,版本差 → 偏移全变。你那套 .aut 11812B 结构、内挂页起点 AOB 锚 01 01 00 00 00 00 16 43 01 01 00 00 3D 0A 57 3F 在台服大概率长度与布局都不同,需重取锚点。client/XIGNCODE/ + xhunter2.sys 的经验不能直接套)。patch-yg.mangot5.com 是泛解析假站,patchlist/version.ini 全 404。要拿补丁清单只能从客户端进程里抓(启动后看它请求哪个 host)。/webLauncher/config)、HappyTuk 协议参数格式、CMS 图时间戳推断运营节奏。这些对做「台服客户端考古」有用,对现有助手代码零复用。| 维度 | 结论 |
|---|---|
| 站点性质 | 台服《新熱血江湖》官网门户,HAPPYTUK 运营 / MGAME 开发 |
| 服务端 | Java(JSP) + Spring MVC 风格 + Cloudflare 前置 |
| 前端 | jQuery 双份 + Bootstrap3 + fancybox1.3.1 + 自研 arpiel UI 库,历史包袱极重 |
| 首屏重量 | 5.52 MB / 48 资源(图片占 4.68 MB)← 严重超标 |
| 客户端 | HAPPYTUK_YulGang_installer.exe = KCS-Downloader 2.6.6.9(Kamuse Inc.,2024-05-22,4.65 MB,32 位) |
| 启动器 | 不走 happytuk: 协议(config 14 条里无 hot) |
| 登录 | 平台统一账号 + r nonce + 按需 reCAPTCHA v2 + OTP + 强制生日 |
| 安全头 | CSP/HSTS/XFO/XCTO/Referrer/Permissions 六项全缺 |
| 信息泄漏 | 内网 IP 10.100.1.5、无鉴权启动器配置、robots 泄漏内部路径 |
| 内容版本 | 昇天七式(2026-04-30 上线),2026-10 只有例行维护 |
| 参数健壮性 | contentNo 强类型绑定,异常优雅降级,无注入面 |
| 对助手价值 | 账号/启动/内存偏移均不可复用,只能取情报 |