← 返回总索引热血江湖分析总报告2026-09-17-15-08-18\热血江湖分析总报告.html

热血江湖 · 全量分析总报告

汇总范围:2026-09-16 ~ 2026-09-17 全部四轮分析(服务器侧 / 客户端数据 / 内存逆向)
核心对象:D:\rxjh2025\launcher.exe · D:\rxjh2025\client\YGOnline.exe · D:\rxjh2025\client\*.cfg · 官方补丁服务器
分析手段:PE 静态解析 · 字符串/导入表提取 · pktmon 实机抓包 · S3 桶清单探测 · CFG 密钥解密 · CE 内存调试
目录
  1. 一图看懂:整体结论
  2. 服务器侧①:launcher.exe 静态分析
  3. 服务器侧②:内嵌网页地址
  4. 服务器侧③:实机抓包实测
  5. 服务器侧④:更新服务器机制(S3 清单)
  6. 应用:开服检测器 V1→V2
  7. 客户端:CFG 加密破解与数据表
  8. 客户端:文本编码与语言判定
  9. 内存逆向①:基址与对象结构
  10. 内存逆向②:助手模块调用链
  11. 关键修正记录(被推翻的结论)
  12. 文件索引与环境备忘
4
分析轮次
37,405
实机抓包数据包
15.3 MB
补丁下载量(patch_645.zip)
29 / 153
加密 CFG(已解密/总数)
365
补丁服务器对象条目
0x03BE3E68
活游戏对象数组基址

一图看懂:整体结论

一句话:这是一个仍在活跃运营的《热血江湖》台服(代理商 樂意傳播 Happytuk,平台 mangot5.com)。 原厂启动器 launcher.exe(韩版 MFC,2015 年)代码干净,工作流就是「拉公告 → 查版本 → 下补丁 → 起客户端」。 所有通信强制依赖迅游加速器中转,补丁走 HTTP 明文从官方 S3 桶下载。 客户端 CFG 用固定 150 字节密钥表 XOR 加密,已完全破解;内存基址已实测锁定。
维度核心结论可信度
运营状态游戏在运营中 —— 抓取当天(2026/09/17)就有「例行性維護開機公告」;补丁每周四发版实测
启动器性质韩服原厂通用启动器,无壳无签名、无进程注入 API;私服目录那份是原件照搬(哈希一致)静态+哈希
更新链路HTTP 80 明文 GET,非 FTP;补丁地址运行时动态下发,exe 里没有抓包铁证
网络前提全部流量经迅游本地代理(192.168.100.189:61753),内地直连官方 IP 会被 DROP实测
客户端加密29 个 .cfg = 150 字节密钥表 XOR,密钥在 exe .rdata;已全解已破解
内存基址旧「31007 模块」基址已过期;活游戏对象数组基址实测 0x03BE3E68CE 实测
风险点①补丁明文 HTTP 无签名校验 ②加速器会改写请求头 ③客户端带 XIGNCODE 反作弊,调试/读写有封号风险提示

服务器侧①launcher.exe 静态分析

文件识别

文件大小
3,017,728 字节(2.88 MB)
PE 编译时间戳
2015-05-26 05:14:19 UTC(源码内 May 26 2015 自洽)
架构 / 子系统
32 位(I386)· Windows GUI · 5 个常规节 · 无加壳
内部名称
HomunclusLauncher(FileDescription 为韩文「MFC 응용 프로그램」)
数字签名
无签名NotSigned
SHA256
78446D20904802619B2660E987D7B25AFDD9E2EEDC5D30F741D35D3C807B8A84
哈希对比
D:\rxjh2025私服\launcher.exe 完全一致 → 私服未修改启动器

导入表特征

DLL关键点
WININET.dllHTTP + FTP 双通道全函数:InternetOpenA / InternetConnectA / HttpOpenRequestA / HttpSendRequestA / FtpFindFirstFileA / FtpOpenFileAFTP 部分是遗留导入,实测未被调用
WSOCK32.dll原始 socket(版本握手 / 心跳)
ole32 / OLEAUT32 / OLEACCMFC OLE 支持 —— 为了内嵌 IE WebBrowser 控件渲染公告页
SHELL32 / SHLWAPIShellExecuteExA → 启动客户端 / 建快捷方式 / 开浏览器
ADVAPI32注册表读写 RegCreateKeyExA / RegSetValueExA
关键:无任何 WriteProcessMemory / CreateRemoteThread / SetWindowsHookEx 类的进程注入 API。启动器不做注入

启动流程(字符串 + 资源还原)

launcher.exe
  ├─① 读 launcher.ini          [YB_ONLINE] Name/Exec/VERSION/GROUP/Path/WRITELINK
  ├─② 读注册表 Software\KRGsoft\YBOnline\YB_ONLINE  +  SOFTWARE\WAYI\WSM
  ├─③ HTTP 拉公告 → hot.mangot5.com(内嵌 IE 控件 {8856F961-…} 渲染 notice01/02.html)
  ├─④ 版本校验 → hotsession.mangot5.com(包标识 "Yulgang_File_Update")
  ├─⑤ 下载补丁 → 字符串指向 \downlog\ + temp.zip(实测未落地,见 §3)
  ├─⑥ 解压覆盖 \Client\
  └─⑦ runas 提权拉起 YGOnline.exe

界面与资源

  • Msg.txt —— 全部 46 条中文提示文案外置在该文件(第 21 条「无法连接下载服务器。(查看服务器的 ID,PW)」曾误导判断为 FTP)
  • STRING 资源内置英 / 韩 / 中三套语言;DIALOG 102 = 主窗口(IE 控件 + 进度条)
  • DLGINIT 提供 800×600 / 1024×768 / 1280×1024 / 1600×1200 分辨率选项

exe 内硬编码的网络端点(仅这些)

端点DNS实测状态
hot.mangot5.comCloudflare 104.26.10.73 等在线HTTP 302
hotsession.mangot5.com台湾中华电信 113.196.245.139/140内地直连超时域名有效、服务在
211.115.86.67(唯一裸 IP)韩国 KRG Soft 原厂补丁服已下线21/80/443 全超时

服务器侧②内嵌网页地址分析

exe 里硬编码的网页地址只有 4 条,全部 ASCII 明文:

#地址用途实测内容
1http://hot.mangot5.com「主页」按钮302 → landing.mangot5.com/template/hot/event/260430_Revision/
2…/game/hot/launcher_event右侧公告滚动列表(440×155)200,4386 B,4 条实时公告
3…/notice01.html公告图位①200,758 B,单张活动图
4…/notice02.html公告图位②(商城特惠)200,1949 B,<ul> 为空 → 当前无在售内容

公告列表实际抓到的内容(抓取当天 2026/09/17)

9/17(四)例行性維護開機公告   contentNo=70068   2026/09/17   ← 当天维护完刚开服
9/17(四)例行性維護公告       contentNo=70009   2026/09/16
9/10(四)例行性維護開機公告   contentNo=69978   2026/09/10
9/10(四)例行性維護公告       contentNo=69913   2026/09/09
该页 meta charset=euc-kr、CSS 字体写韩文 돋움(Dotum)—— 韩国原版模板直接搬来没改notice01.html 挂的活动图是 8/6 上传的,落地页却还是 4/30 的改版页(活动期 4/30–5/14 早已过期)。

页面实际跳出的域名分工

域名角色
landing.mangot5.com所有图片 + 活动页(CMS 落地页)
www.mangot5.com会员注册 / 登录 / 储值(MyCard)
download.mangot5.com客户端安装包(直链已取得)
外链巴哈 forum.gamer.com.tw/A.php?bsn=8294 · facebook.com/HOT.mangot5 · GTM GTM-PB58S8
运营主体:台服代理商 = 樂意傳播 Happytuk,平台 mangot5.com("快樂玩")。同一平台还运营笑傲江湖4K、勁舞團、LOST ARK、封印者CLOSERS 等十余款。
当前版本:「昇天七式」(等级上限 180),新地图「安美村落」,新系统「反氣功」。

服务器侧③实机抓包实测(决定性证据)

抓包时间 2026-09-17 16:17:55 – 16:19:21 | 工具:Windows 内置 pktmon(NIC 层全包)+ 进程/连接/DNS 轮询

抓到的唯一一条游戏外联请求(完整报文)

GET /yg_patch/patch_645.zip HTTP/1.1
Accept: */*
User-Agent: NetGame                        ← launcher.exe 自己的 UA,确认由它发出
Host: patch-hot.mangot5.com.tw.wyjsq.com
User-Agent: xunyou.com                    ← ① 迅游代理插入
Connection: Keep-Alive
Cache-Control: no-cache
User-Agent: xunyou.com                    ← ② 迅游代理又插一次(正常请求只有 1 个 UA)

服务器响应头(暴露整条中转链路)

HTTP/1.1 200 OK
Content-Type: application/zip
Content-Length: 15306429
Server: openresty
X-SteamCache-Processed-By: vm-24-118-ubuntu.xunyou.com   ← 铁证:迅游缓存节点
EO-Cache-Status: HIT
X-Client-Host: patch-hot.mangot5.com.tw.wyjsq.com
Last-Modified: Thu, 17 Sep 2026 06:03:30 GMT              ← 补丁当天早上刚生成
Cache-Control: max-age=3600

正文首字节 PK\x03\x04,是真 ZIP,首个条目 = Client/YBdrop.cfg(解包即覆盖客户端目录)。

启动全过程时间线

时刻事件
16:17:55.316启动 launcher.exe(PID 2464),cwd = D:\rxjh2025
16:17:57.586一口气建立 11 条 TCP 连接 → 192.168.100.189:61753xunyou.exe 本地代理
16:17:58.802DNS 查询 patch-hot.mangot5.com.tw.wyjsq.com.wyjsq.com = 迅游包装后缀)
16:17:58.938发出 GET /yg_patch/patch_645.zip
16:17:59.345200 OK,15,306,429 字节
16:18:02.234下载完成(4 秒 ≈ 3.8 MB/s)→ YGOnline.exe(PID 14608)被拉起
16:18:05客户端日志 log_14608.txtMap Loading Success 1000001Login Interface
16:18:xxlauncher.ini 被改写:VERSION 644 → 645(与 patch_645.zip 闭环)
之后launcher 自动退出(交接给客户端,正常行为)

流量全景

目标包数 / 流量归属
49.119.123.181:8017,470 / 15.3 MB迅游节点 热江补丁下载(全部)
113.96.15.21:2089 / 139.199.2.66:2089602 / 68 KB迅游加速隧道
47.108.x:2920024 / 4 KB迅游测速 POST /v1/speed_report
其余腾讯系(copilot / telemetry)、向日葵远控、WorkBuddy 自身(噪音)
完全没有出现的地址:hotsession.mangot5.com(零流量)、hot.mangot5.com(零流量)
→ 4 个公告页在抓包期间零流量(WinINet 复用缓存,或也走加速隧道);hotsession 请求走本地代理,pktmon NIC 组件看不到环回。

DNS 对比

域名解析结果判定
hotsession.mangot5.com113.196.245.139 / .140真实官方 IP台湾中华电信
patch-hot.mangot5.com.tw183.232.200.0内地段受加速器/DNS 改写,走加速器才通
hot.mangot5.com104.26.10.73 / 172.67.74.230Cloudflare公告站

服务器侧④更新服务器机制:S3 桶清单(本次最大发现)

核心发现:GET http://patch-hot.mangot5.com.tw/ 返回的不是网页,而是 S3 风格桶清单 XMLListBucketResult,桶名 happytuk-tw-hot,109,067 字节)。 一次请求即可同时读出:服务器在不在 + 最新版本号 + 最后更新日期 + 补丁总数

清单结构

HTTP/1.1 200 OK
Content-Type: application/xml
Server: openresty
Content-Length: 109067
Cache-Control: max-age=3600
EO-Cache-Status: HIT        ← CDN 缓存快照

<ListBucketResult><Name>happytuk-tw-hot</Name><IsTruncated>false</IsTruncated><MaxKeys>1000</MaxKeys>
  365 个 <Contents>,每条含 Key / LastModified / ETag / Size / Owner:
    - 7z.exe                                 1,589,510 B
    - yg_patch/                              (目录)
    - yg_patch/patch_282.zip … patch_644.zip (363 个补丁

补丁发版节奏(LastModified 实测)

补丁patch_640641642643644
日期08-0608-1308-2709-0309-10
大小510 KB1.41 MB7.65 MB1.40 MB1.38 MB

每周四发版;超过一个月没新补丁即可判为停更。

CDN 缓存与版本落差:清单带 Cache-Control: max-age=3600EO-Cache-Status: HIT, 清单只到 v644 / 2026-09-10,而客户端 launcher.ini 已是 v645。 需再探一次状态码纠正:实测 patch_645.zip → 200(存在)、patch_644.zip → 200patch_999.zip → 404(区分有效)。

补丁地址从哪来?

patch-hot.mangot5.com.tw 这个串根本不在 exe 里——exe 明文只有 hotsession.mangot5.com 和 4 条 hot.mangot5.com 页面地址。 → 补丁地址是运行时由 hotsession 动态下发的。

应用开服检测器 V1 → V2

V1 的致命缺陷

V1 用「TCP 端口通不通」判开服。抓包已证伪:hotsession.mangot5.comTCP 握手足额成功,应用层却一个字节都不回, V1 会把一个"进程在听但服务已死"的端误报成「已开服」。TCP 层在 NAT / 防火墙 / CDN / 加速器面前几乎没有判别力。

V2 三级判据(全部实测、全部 ASCII)

级别判据实测
patch-hot.mangot5.com.tw/ 正文含 ListBucketResult 200,363 个补丁,最新 v644
hot.mangot5.com/game/hot/launcher_event 正文含 contentNo= 200,4 条公告,最新 2026/09/17
参考 hotsession.mangot5.com 直连超时(内地被 DROP,不参与结论
判活关键词必须用 ASCII:公告页是 meta charset=euc-kr 且字体写韩文 돋움,用中文匹配必然踩编码坑。

易语言实现要点

  • 正文获取:InternetOpenUrlA + InternetReadFile(V1 只有 HttpQueryInfoA,拿不到正文)
  • 绕过缓存:InternetOpenUrlA 的 flags 传 -2147483648INTERNET_FLAG_RELOAD),否则读到 1 小时前的旧清单
  • 超时设置:InternetSetOptionA option 2=CONNECT / 3=SEND / 5=RECEIVE,否则默认 30 秒卡界面
  • 读正文时在 已读 位置补 0 终止符再 指针到文本,避免读到缓冲区尾部残留
  • 语法坑:易语言的 .如果真 不能配 .否则(只有 .如果 可以)—— 4 层嵌套时极易写错

实测预期输出

补丁服务器  ● 已开服  最新v645  清单日期2026-09-10  共363个补丁  本地v645 已最新 (清单为CDN缓存)
公告站      ● 已开服  4条公告  最新公告2026/09/17
版本服务器  ○ 直连超时  (内地直连被拦, 需加速器; 不影响开服判定)
本地版本    v645
综合结论    ● 服务器正常运营中
使用前提:检测器走系统 WinINet 会沿用加速器路径。加速器关掉时可能检测失败,这不代表服务器关了 —— 结论以「补丁服务器 + 公告站同时失败」为准。

客户端CFG 加密破解与数据表

加密算法(已完全破解)

plain[i] = cipher[i] ^ KEY[i % 150]        // 150 字节常量密钥表
KEY 位置:YGOnline.exe .rdata  VA 0x10705A0(文件偏移 0xC6EFA0),首 4 字节 2D 97 84 F2
验证:7D 85 84 F2 ^ 2D 97 84 F2 = 50 12 00 00 = 小端魔数 0x1250
  • 29 个 .cfg 被加密(客户端共 153 个)→ 解密后为 Big5 繁体文本
  • 产物:D:\rxjh\cfg_decrypted\(29 繁体)+ cfg_decrypted_sc\(29 简体 UTF-8)
  • 工具:D:\rxjh\rxjh_cfg_decrypt.py(自解析 EXE 取密钥 + 解密 + --to-simple
  • 弯路记录:单字节 XOR / 加减常量 / 差分链式 / zlib 全部无效,必须走 EXE 取密钥表

CFG 二进制格式

说明
魔数50 12 00 00(0x1250)
两种头校验 cd cc 8c 3f → rec@12 / fcnt@16 / 名字@20;校验 00 00 80 3f → rec@8 / fcnt@12 / 名字@16
字段名字和值均为 <1字节长度><字节内容>,长度 = 精确字节数
头部声明记录数恒比实际多 1;cfg_decrypted_sc(UTF-8 版)不可按长度解析(长度前缀仍是原 Big5 字节数)

产出的数据表

文件内容
cfg数据总表.html + cfg_tables\*.csv×2929 个 CFG 全量表(表头已中文化),含 NPC 编号名称对照
客户端明文文件总表.html153 个客户端文件清单 + .ini 明细(根目录 10 + 各角色 UserConfig.ini×191 / 购买物品列表.ini×137)
全部数据整理表.html武功 / 状态异常 / 地图城镇 等游戏数据汇总
npcnames.csv1137 行 NPC 编号↔名称(519 条资料站收录 + 618 条本地摆放坐标)
交错验证成功:NPC1 韦大宝@101、NPC74 南明洞护法@1301、NPC75 武剑刀@20001(坐实 20001 = 伏魔洞)、NPC124 船夫金氏@101。

客户端文本编码与语言判定

结论:外观 / 资源类表(resource、resource1~6、resource_weapon、resource_mob、resource_soulpet)的字符串原文是 韩文 CP949,之前被按 Big5 解成了伪汉字。不存在"Big5 转简体"能解决的事。

实测对照

乱码(Big5 误解)原始字节CP949 真身中文
骯顫犒(鼠晝)(陴)BB EA C5 B8 …산타복(무급)(남)圣诞服(无等级)(男)
橾霜紫일직도一直刀
奩錯紫반월도半月刀
撖寡情E5 AF B9 E8 B1 A1UTF-8 中文「对象」被按 Big5 解 → 还原即得

解法:rxjh_text_dec.py(三态判定模块)

  • CP949 判为"真韩文"(有谚文 + KS 常用音节占比 ≥ 0.6 + 无兼容字母)→ 取韩文
  • 否则走 Big5 路径 → 再试 UTF-8 恢复 → 都不行则逐字节修正
  • 必须带文件级偏好:外观系列 prefer='korean',其余表 'chinese'(纯字节层无法区分)
  • 高频韩文对照:등급=等级 / 남=男 / 여=女 / 도=刀 / 검=剑 / 창=枪 / 궁=弓 / 공통=共通

内存逆向①基址与对象结构

★ 最重要修正:辅助源码里那套「江湖基址 31007」模块的基址(0x03173B70 等) 对当前活游戏已过期。实测活游戏对象数组基址 = 0x03BE3E68(= YGOnline.exe + 0x37E3E68)。 两者 RVA 不同(0x37E3E68 vs 0x2D73B70)→ 不是同一游戏构建

目标进程

进程
YGOnline.exe(32 位,FileVersion 1.0.0.23,构建于 2026-09-14
模块基址 / 大小
0x00400000 / 约 88.2 MB(无 ASLR,绝对地址 = RVA)
反作弊
XIGNCODE已加载 → 内存读写/调试有封号风险

对象 / 玩家数组结构(CE 实地验证)

数组基址         = 0x03BE3E68
槽位 k 的地址     = 0x03BE3E68 + k * 4      ← 每槽 4 字节,存对象指针;k 从 8000 起
对象 (obj) 结构  :
    +0x08  = 对象类型    0x31=人物  0x18=物品  0x20=?  0x22=怪物
    +0x0C  = 对象ID      实测 == 槽位号 k(34/34 全部满足)
    +0x14  = 全服ID      = 邀请组队封包目标
    +0x18  = 名字(BIG5 内联串)
对象ID 会变:同一角色不同时刻 ID 不同(美美 15:12 = 1278 → 15:47 = 1423),因为槽位会被回收复用。 任何缓存都会失效,必须每次实时读取。

其余数组

角色基址 / 背包基址 / 队员基址 / 技能 / 状态 / 快捷 / 装备 / 仓库 / 聊天 / 地图ID 等在 31007 模块里的值同样可能已过期, 本轮 CE 只坐实了对象数组基址。权威途径二选一:①CE 指针扫描逆推 ②解密辅助的 Update.dll[data](运行时下发的当前版本基址,最准)。

内存逆向②助手模块调用链(动态取证实锤)

完整调用公式(用户点击助手面板按钮后断点验证):
mov  ecx, [YGOnline.exe + 37E5FC4]     // = 0x4DAC5008,助手管理对象
push 0                                 // arg2
push <命令码>                           // arg1(如 0x31 对应某个按钮)
call YGOnline.exe + 63D8C0             // 0xA3D8C0 = 真·总调度器(thiscall)

链路还原

UI 按钮点击
  → call 63D590(ecx = 0x4DAC5008, arg1 = 0x3F4, arg2 = 0x31, arg3 = 0)
      → case 0x3F4
          → call 63D8C0(arg1 = 0x31, arg2 = 0, ecx = 0x4DAC5008)
总调度器YGOnline.exe + 63D8C0(0xA3D8C0)· 命令码有效范围 0x0B ~ 0xA4(sub 0x0B 后 cmp 0x99)
上层分发器YGOnline.exe + 63D590(0xA3D590)· case: 3/6/7/8/0x3EE/0x3F4
管理对象(ECX)[YGOnline.exe + 37E5FC4] = 0x4DAC5008(静态,可作稳定入口)
虚表0x10953B0(+0:0xA2D9E0, +4:0xA3D590)
封包发送函数0x0076C080(读 buf+4 作长度字,上限 0x90)
发包公式组队 opcode = 30001400,名字 BIG5 + 00 00 + 补零到 40 字节;名字两端不加 A440
重要更正:早前抓到的 7 条 0x30不是组队邀请 —— 目标槽位对象类型全是 0x18/0x22/0x20(物品/怪物/NPC), 而人物是 0x31。判断那些是挂机程序自己发的「打怪 / 拾取」包(封包拦截 hook 的是统一发包函数,自己的包同样被拦到)。

关键修正记录(被推翻的结论)

本次多轮分析中,后一轮实测推翻了前一轮静态推断的地方,逐条列出以备查:

原结论实测结果性质
补丁下载走 FTP(因导入表含 FtpFindFirstFileA 实际走 HTTP 80 明文 GETContent-Type: application/zip 推翻FTP 函数是遗留导入,从未被调用
hotsession.mangot5.com「应用层静默 → 服务已停摆」 DNS 正常(台湾真实 IP),仍是唯一承载版本/补丁配置下发的服务 推翻是「内地直连被 DROP」,不是「已停摆」
补丁地址写在 exe 里 patch-hot.mangot5.com.tw 不在 exe 中,明文只有 hotsession + 4 条 hot 页面地址 推翻地址为运行时动态下发
补丁落地 \downlog\temp.zip 该目录不存在,实际是「下载 → 校验 → 就地覆盖 Client 补充字符串存在但未落地
0x30 包 = 组队邀请(带对象ID) 目标槽位对象类型非 0x31(是物品/怪物),不是邀请包 推翻系挂机自身发出的打怪/拾取包
辅助「31007 模块」基址可用(0x03173B70 等) 活游戏对象数组基址为 0x03BE3E68,RVA 不同 → 不是同一构建 推翻旧基址已过期
「经验基址 = 当前血量值 + 24」 常量 24(0x18)在字段表里是名字偏移,读名字前 4 字节当经验 → 判定恒真 致命无经验检测假阳性
CFG 文本编码 = Big5 外观/资源类原文是韩文 CP949,被按 Big5 解成了伪汉字 修正需按文件区分编码偏好
检测器 V1:TCP 可连 = 已开服 hotsession TCP 握手成功但应用层零响应 → 会误报 推翻V2 改用 S3 清单 + 公告页 ASCII 判据

文件索引与环境备忘

交付物(正式报告与代码)

文件内容所在位置
热血江湖分析总报告.html本文件 · 全部结论汇总当前工作区根目录
launcher启动器分析报告.htmllauncher.exe 静态分析(PE / 导入表 / 资源 / 私服对比)当前工作区根目录
启动器抓包分析报告.html实机抓包分析(时间线 / HTTP 报文 / 流量全景)当前工作区根目录
易语言_游戏服务器开服检测.txtV2 检测器源码(可直贴「_启动窗口」程序集)当前工作区根目录
cfg数据总表.html29 个 CFG 全量表(21 标签页)WorkBuddy\2026-09-17-12-57-40\
客户端明文文件总表.html153 个客户端文件清单 + .ini 明细WorkBuddy\2026-09-17-12-57-40\
全部数据整理表.html武功 / 状态 / 地图等游戏数据WorkBuddy\2026-09-17-12-57-40\
CE分析报告_对象数组与邀请封包.md对象数组结构 + 封包定位WorkBuddy\2026-09-16-13-19-49\
D盘rxjh2025_目录分析.md基址 31007 过期修正WorkBuddy\2026-09-16-13-19-49\
rxjh_cfg_decrypt.pyCFG 解密工具D:\rxjh\
rxjh_text_dec.py三态文本解码模块(CP949/Big5/UTF-8)WorkBuddy\2026-09-17-12-57-40\

原始数据(当前工作区)

文件内容
_launcher_report.txtPE / 导入表 / 资源 / 字符串 全量提取
_launcher_net.txt网络端点与连通性探测
_launcher_extra.txt注册表字符串 + 私服配置提取
_launcher_ui.txt界面资源与对话框文字
_launcher_webpages.txt4 个内嵌页面完整响应 + 资源链接清单
_web_detail.txt客户端下载页 + 活动页全文
capture\rxjh.pcapng (22 MB)抓包原始文件
capture\monitor.log进程/连接/DNS 轮询日志
capture\http_sessions.txtHTTP 会话重组
capture\patch_timeline.txt补丁下载时间线
capture\endpoints.txt端点统计
_patch_index.xml (109 KB)S3 桶清单原始正文(365 条目)
_patch_index.txt清单解析结果
_verify.txt三个判据联合逻辑实测输出
_probe_new.txt各端点响应实测(状态码/正文长度)

环境与工具链备忘(可复用)

本机环境坑

  • PowerShell 工具 不回显 stdout(只给 exit code)→ 输出必须重定向到文件再 Read
  • Bash 默认 PATH 缺 coreutils → 需 export PATH="/c/Windows/System32:<managed-python>:…PortableGit…/usr/bin:/usr/bin:/bin"
  • reg.exe 在程序黑名单中禁止调用;grep -a -o -E 在本环境报错 → 改用 Python 做字符串搜索
  • Python re 的 bytes 模式不支持 \uXXXX 转义
  • PE 资源目录解析:OffsetToData 高位置 1 表示指向子目录(需递归),清 0 才是指向 DATA_ENTRY

无 Wireshark 时的抓包工作流

  1. pktmon start --capture --pkt-size 0 --comp nics --flags 0x012 -f <绝对路径>.etl(管理员,立即返回)
  2. 轮询脚本每 0.5s 跑 tasklist /fo csv /nh + netstat -ano + ipconfig /displaydns 对比基线
  3. pktmon stoppktmon etl2pcap x.etl -o x.pcapng → 自己写 Python 解析 pcapng
  4. 关键:pktmon etl2txt --brief 只输出包头不含 payload,搜 HTTP 关键字必然为空,必须走 pcapng
  5. pktmon list --all 只有 NIC 组件、无 loopback → 抓不到本地代理的明文