Files
xieyi-weixin-/WECOM_5_0_11_ADAPTATION.md
2026-09-21 10:56:48 +08:00

3.6 KiB
Raw Permalink Blame History

v1.4.15 更新:两个版本已整合到主程序,5.0.11 首次发送验证在同一界面完成,取得真实回执后启用当前账号。最新说明见 DUAL_VERSION_COMPATIBILITY.md。以下内容保留此前阶段的验证记录。

企业微信 5.0.11.6018 兼容性进展(2026-09-15)

状态:候选适配已实现,目标客户端真实收发尚未验收,未发布新的正式安装包。

本次故障证据

用户提供的 runtime-log-20260915-143126.txt、runtime-log-20260915-143558.txt 和截图均显示企业微信为 5.0.11.6018 x86。v1.4.14 只支持 5.0.10.6023 x86,因此检测首先被版本限制阻止,尚未进入当前账号、数据库和发送检查。不同安装位置已经成功识别;这两份日志不能证明更换账号可解决问题,也不能证明后续检查一定通过。

实现与证据

  • 从腾讯官方下载并校验 5.0.11.6018 安装程序和 WXWork.exe 的有效 Authenticode 签名。未执行安装程序,未升级本机企业微信。
  • 以精确文件 SHA-256 选择版本布局。新版不复用旧版地址或仅放开版本号。
  • 新版发送函数新增第四个参数,callee 从 ret 12 改为 ret 16;新调用代码提供零初始化的可选字符串参数。
  • 消息工厂和发送回执 promise 构造代码在移除重定位差异后与旧版一致;这属于静态证据,不是服务器回执。
  • x86 CPU 模拟验证两个版本的参数顺序、栈平衡、寄存器保存、账号变化和错误消息类型拦截。模拟不向真实客户发消息。
  • 新版仍标记 verified=False。自动回复不能凭检测布尔值或版本号启动;只有明确的单次验证入口可执行候选版本测试。
  • 验证入口绑定预期客户端版本和账号,唯一匹配现有单聊,检测联系人验证提示;固定测试文本为“协议通道测试,请忽略”。记录去重请求和服务器回执,结果不明时不重发。

已完成验证

  • 651 项相关回归通过:tmp/wecom-5.0.11/regression.log。后续验证工具交互和输出目录调整对应的 8 项测试另行通过。
  • 当前本机 5.0.10.6023 只读检测仍返回 native_ready,当前账号与数据库可读取;本次未发送真实消息。
  • 独立验证工具已打包为 onedir,依赖齐全,不需要目标电脑安装 Python。
  • ZIP 完整性检查通过,没有加入账号密钥、用户配置或聊天数据库。
  • ZIP 解压到中文、空格目录,使用全新 LOCALAPPDATA 和仅包含 Windows 系统目录的 PATH,成品自检通过;成品环境只读检测也完成。此项不是另一台物理电脑测试。
  • Defender 文件扫描未检出威胁,保护保持启用。历史原生调用行为告警和微软复核仍未解决,不应将文件扫描通过描述为行为验证通过。

待完成

当前开发电脑不能升级;用户已明确这一限制。需要在已有 5.0.11.6018 的目标电脑运行验证工具并取得真实回执,再决定是否将该构建标为已验证并重新生成正式安装包。没有跨设备访问和回执时,不能声称两台电脑均已修好。

验证包:dist/validation/企业微信5.0.11-收发验证包.zip。

解压后运行 WeCom-6018-Validation.exe,暂停原客服程序监听,输入该账号已有的专用测试会话并确认测试发送。报告默认保存在工具旁的 reports 文件夹;目录不可写时使用当前用户应用数据目录。返回报告即可,不需要提供数据库或密钥。

机器可读验证记录:wecom_6018_validation_acceptance.json。源码摘要:tmp/wecom-5.0.11/source-manifest.json。