Skip to content

v2.4.6

Choose a tag to compare

@SelinuxJXM SelinuxJXM released this 21 Sep 15:10
· 4 commits to main since this release

JSecProbe v2.4.6 更新内容

本次是一个紧急修复版本,解决 v2.4.2 ~ v2.4.5 用户下载更新成功但安装失败的问题。建议所有用户升级。

修复

  • 修复:更新下载完成后提示「启动安装包失败」

    根因是安装包缺少数字签名。安装前的 Authenticode 校验原逻辑为「非 Valid 一律拒绝」,而本项目目前没有代码签名证书,Get-AuthenticodeSignature 始终返回 NotSigned,导致自管理更新源(GitCode / Cloudflare R2)下载来的安装包 100% 被拦截。

    现改为分级处置,只拦截真正意味着「文件被改动」的状态:

    签名状态 处置
    Valid / ValidButExpired(有签名,证书过期) 放行(过期仅告警)
    NotSigned(未签名) 放行并写告警日志
    HashMismatch / NotTrusted / NotSignatureFound / Malformed / InvalidSignature / UnknownError 拒绝执行

    同时保留了两个开关:JSECPROBE_REQUIRE_INSTALLER_SIGNATURE=1(将来拿到签名证书后强制校验)、JSECPROBE_SKIP_SIGNATURE_CHECK=1(排查时临时跳过)。

  • 修复:需要管理员权限的安装包无法启动

    安装包清单要求提权时,CreateProcess 无法完成 UAC 提升(错误 ERROR_ELEVATION_REQUIRED,errno -740),原先直接判定失败。现自动改用 ShellExecute(RunAs) 路径,由系统正常弹出 UAC 窗口。

  • 修复:安装失败提示过于笼统

    原先无论何种原因都只显示一句「启动安装包失败,请稍后重试」。现在会把真实原因带出来(例如具体的签名状态、提权失败原因),便于一眼定位。

升级说明

重要:执行安装动作的是当前正在运行的旧版本客户端,因此本次修复无法直接拯救存量客户端。

  • 若你在 v2.4.2 ~ v2.4.5 上已经遇到「启动安装包失败」:请先手动下载安装一次 v2.4.6(GitHub Releases / GitCode / https://data.semove.ccwu.cc),此后的自动更新即恢复正常。
  • 若暂时无法手动安装,可以设置环境变量 JSECPROBE_SKIP_SIGNATURE_CHECK=1 后启动程序作为应急手段。

兼容性

数据库结构无变更,可直接覆盖升级;首次启动仍会自动备份数据文件。