Files
90CNServer/server/internal/services/dnfbridge/client_build_id.go
T
hanfuit 2ca06e113a 修正客户端完整性校验:补齐 CRC 后处理脚本并回绑 90CN.dll 指纹
问题:上一提交把 boundDll 指纹改成 1230336/F6DDA534…,但配套的
90CN.dll 未交付到客户端目录,服务端启动即被 verifyClientArtifacts 拦下
(client dll: size mismatch: 1230848 != 1230336),日志表现为空壳。

本次改动:
- 新增 client-patch/tools/patch_dll_crc.py,实现仓库中缺失的 DLL 自校验
  槽位回填(magic 0xC0DEC0DE + offset + 全文件 CRC32,跳过自身 4 字节),
  附带 verify 子命令可回读校验
- 新增 client-patch/tools/build_90cn.bat / .ps1,一键编译 + 打 CRC + 输出指纹
- client_build_id.go 指纹回绑到本次实际构建产物:
  1215488 / 30E41FF583893E611E6975DF96246E1320B042F7B33A32503C987F211D1776F5

验证:重编 DNF90Server.exe 后裸跑,完整性校验通过,PVF 加载完成,
dnfbridge 正常监听 :7001,game_ports=31,admin http 127.0.0.1:18111。
2026-11-05 10:41:47 +08:00

19 lines
655 B
Go

package dnfbridge
// Code generated by rebuild_all.ps1; DO NOT EDIT.
// 2026-10-24: re-bound after admitting the six quest-completion tickets
// (10303915/10303916/490001725/490001726/490008275/490003186) to the 90CN.dll
// inventory-use fallback, alongside 10301410 and 10303920.
// The DLL must be post-processed with client-patch-src/tools/patch_dll_crc.py
// before these values are recomputed.
const (
boundMovieSHA256 = "D62E3623C39CD9FCED5F6C4C7F5E6E18BEB69EB269ABF5D713EDE08EE8C926A1"
boundMovieBytes = int64(22846532)
boundDllSHA256 = "30E41FF583893E611E6975DF96246E1320B042F7B33A32503C987F211D1776F5"
boundDllBytes = int64(1215488)
)