play11pop 发表于 2026-4-29 16:08:42

奇迹MU S20.2-3 客户端 加解密问题

本帖最后由 play11pop 于 2026-4-29 16:08 编辑

找到S20.2-3 客户端加解密Item.bmd的工具.但是登入后却显示档案已损毁.有大佬可以帮忙看看


Item-bmd-txt-txr-bmd-Season-21-MU-ITEMTOOL.zip
链接:https://pan.baidu.com/s/1dx6s4hpYd3maIhlP-OYTLA?pwd=1234

zj1022 发表于 2026-4-29 18:01:30

主要实际使用风险:

BMD 文件长度和 CRC 没有校验
第 118 行 (line 118) 直接读取 item_count,之后按数量解析,但没有检查文件是否足够长,也没有校验末尾 CRC。损坏文件、版本不匹配文件可能导致报错,甚至生成看似正常但游戏不认的 BMD。

有 3 个字节不会被导出/导入
结构表缺少偏移 599、609、635。我验证过:解码后再编码,这 3 个字节会被重置为 0。如果它们只是 C 结构 padding,问题不大;如果 Season 20 实际使用这些字段,会丢数据。

中文/非 Latin-1 名称会被替换成 ?
第 132 行 (line 132)、第 176 行 (line 176) 使用 latin-1。如果你的 Item.bmd 里有中文、韩文或本地 ANSI 编码文本,编辑再编码会损坏名称。

固定长度字符串满 64/260 字节时会少 1 字节
编码时用了 [:size-1],强制保留 NUL 结尾。若原文件某个字符串字段正好占满固定长度,重新编码会截断最后 1 字节。

TXT 编辑容错较弱
第 162 行 (line 162) 忽略表头,只按列顺序映射;用户如果用 Excel/编辑器改动列顺序、保存为非 UTF-8、输入超出 B/H/I 范围的数字,都会失败或生成错误数据。

结论:这个工具适合“结构完全匹配、英文/Latin-1 文本、只做轻量编辑”的场景;如果要用于真实服务端/客户端文件,建议先补上文件长度校验、CRC 校验、3 个缺失字节字段,以及按实际客户端编码处理文本。
页: [1]
查看完整版本: 奇迹MU S20.2-3 客户端 加解密问题

本站内容如若侵犯到您的权益,请来电来函告知,我们会尽快处理!
联系QQ:1953150286,2251387361,123784736,免责申明