Repository navigation
WARDEN v0.3.3(Beta 3 · 四个 WinForms 工具全转原生 AOT)
⚠ 本版的更新器有一个会把配置写成非法 JSON 的 bug ✗ 请改用 v0.3.4 ✓
(安装器路径在 0.3.3 里已修 ✓ 受影响的是 Updater.exe 那条路径 ✓)
⚠ 本版的更新器有一个会把配置写成非法 JSON 的 bug ✗ 请改用 v0.3.4 ✓
(安装器路径在 0.3.3 里已修 ✓ 受影响的是 Updater.exe 那条路径 ✓)
"Rules",而设置界面的解析正则没开大小写不敏感 → 规则表永远是空的;保存时按空表写回 "rules": [] → 打开设置点一下「保存配置」,用户的规则就全没了。 实测:沙箱放 2 条规则 → 修前 0 行 → 修后 2 行 ✓ 2. 安装器会把自检基线写坏,配置变成非法 JSON ✗ 安装后要把新 WARDEN.exe 的哈希写回 expected_self_hash,但替换串写成 "$1" + hash + "$3", 而 .NET 的 Regex.Replace 会把 $ 后连续数字整段当组号 → 新哈希以数字开头时拼成 $14164b4df… → 键名与引号一起被吃掉 → JSON 语法错误(用户看到的是"装完新版本就打不开了")。 已修:组引用加花括号 ${1} ✓ 替换后自检 ✗ 不过就一个字都不写 ✓ 写前留 .setup-bak ✓ 实测:配置只改这一个字段 ✓ 值 = 装出来的 exe 真 SHA256 ✓ JSON 合法 ✓ 3. 设置界面保存会删掉它不管的配置键 ✗ SaveConfig 整份重写 → Emergency / first_run_done / HardBlockNote 全丢。 已修:保存前把"不归本工具管"的顶层块原样抄过去 ✓ 实测保存后 14 个顶层键一个不少 ✓ 4. 卸载器误删配置与日志(0.2.5 起存在 · 0.2.6 已修) 卸载确认窗的返回值被当成"是否删除数据" → 不勾选也会删。现已分开 ✓ 可用性类 5. 设置界面在中文机器上显示英文(AOT 开 InvariantGlobalization 后 CurrentUICulture 恒为空串, 而兜底写的是 en-GB)→ 已改成先问 Windows 界面语言,认不出来一律兜底简体中文 ✓ 6. 设置界面整窗画不出来、按钮点不动 ✗(控件全用自建窗口类,没有绘制/点击处理; 且 Win32 子窗口"后建的排在下"→ 底栏盖住按钮) → 全换真系统控件(STATIC/BUTTON/EDIT/SysTabControl32)+ 容器压 z 序最底 ✓ 实测:真鼠标点「保存配置」→ 日志 WM_COMMAND id=101 ✓ 7. 设置界面规则页五个按钮全哑(按钮挂在规则宿主下,宿主的窗口过程吞掉 WM_COMMAND) → 宿主转发给同一分发器 ✓ 实测:新增规则弹对话框 ✓ 编辑选中弹提示 ✓ 导出规则弹另存为 ✓ 8. 帮助界面四个按钮全部无反应(父窗口是系统 STATIC 底栏 → 吞 WM_COMMAND)→ 已挂主窗 ✓ 9. 帮助打不开(载荷里只有 174 KB 的 apphost 空壳,真代码在同目录 219 个 DLL 里)→ 单文件 AOT ✓ 10. 高 DPI 布局错位(DPI 在建窗之后才算,控件在 WM_CREATE 里就用它定位) → 改成建窗前定好 ✓ 实测 96/120/144 三档控件尺寸与坐标精确成比例 ✓ 11. 向导的 --no-desktop 完全失效(勾选框写成 Checked = DesktopWanted || true 恒为真) → 实测即使带 --no-desktop 装到临时目录,桌面上照样多出一个指向临时目录的坏快捷方式 ✗ 已修 ✓ 实测桌面快捷方式不再多出来 ✓ 发布链类 12. 语言包从未随包发布:设置界面从 <程序目录>\lang\ 读语言包,而载荷里一直没有这个目录。 已补进发布链 ✓ 并先跑一致性校验(340 键 × 6 包)当闸门 ✓ 13. 发布脚本两处硬伤(本轮真跑才暴露):① 用了还没定义的 $appDir → 脚本直接抛异常 ✗ ② 语言包在构建【前】复制,而构建会清空 dist\ → 又被抹掉 ✗ 已修 ✓ 并新增载荷闸门:拆开 payload.zip 核对「八个必需 exe + 六个语言包 + 每个 exe ≤ 8MB」✓ 14. 语言包结构错误:46 个点号界面键写在 [log.rule] 分节里 → 帮助界面显示成 help.title 这类键名 ✗ 已移回 [ui] 分节 ✓ ## 三、安装流程变化(按你的要求) 安装完成后:先出安装向导 ✓ 向导完成页上有一个 「打开设置界面」 按钮 ✓ 点它 → 启动 Settings.exe → 向导关闭 → 下一个出现的界面就是设置 ✓ 实测(真鼠标走完向导):环境检测 → 选择安装位置 → 正在安装 → 安装完成 → 点「打开设置界面」 → Settings.exe 起来 ✓ 向导自行退出 ✓ 桌面/开始菜单/配置都按预期 ✓ ## 四、本版实测数据(只写实测到的) 设置界面:干净编译 exit 0 ✓ 3.12 MB ✓ 客户区 830x640 ✓ 底部条三控件 (12,596,110x32)/(130,596,100x32)/(495,602,330x24) ✓ 与规格精确一致 ✓ 规则表四列 [52,185,135,400] ✓ 78 个子控件 ✓ 创建失败 0 行 ✓ 真鼠标横扫页签带自校准 → 7 个页签全部可切 ✓ 切页后标题与列标题跟随语言刷新 ✓ 哈希填入 = 沙箱 WARDEN.exe 的真 SHA256(独立复算一致 ✓) 高 DPI 96/120/144:客户区宽度 830/1038/1245 ✓ 控件与列宽精确成比例 ✓ 六语言:6 个包 × 340 键 ✓ 键集合完全一致 ✓ 零空值 ✓ 真机逐语言截图哈希互不相同 ✓ 沙箱静默安装:退出码 0 ✓ 3 秒 ✓ 17 个文件 + lang\ 六包 ✓ 每个 exe ≤ 8MB ✓ 只改 expected_self_hash 一个字段 ✓ 真实配置测试后一字不差还原 ✓ 向导链路:四步走完 ✓ 点「打开设置界面」→ Settings.exe 启动 ✓ 发布载荷:22.1 MB ✓ 载荷闸门三条全过 ✓ ## 五、文件与校验值(SHA256) 4164b4dfe8523da16fa2a41acc1b7eaf98c536f66130a3158024c647e401a5b8 WARDEN.exe 083c0078962a2c30fe7ccd0e0ac20a5e1d83d54227d8076107ca85873b88b98e WARDEN-Setup.exe 8606bbdb3b7c52ac7a968c400407661b32a3a994ce691e9f9bef7e5edc3a1247 warden-cli.exe 88e4f51ce19265e4f3150a313b83043a28e22c9fa2346f9a9706f3c73510f36b RedTeam.exe ## 六、怎么装 1. 把 WARDEN-Setup.exe 拷到目标机器(离线也能装 ✓) 2. 双击 → 按向导走(默认装在 %LOCALAPPDATA%\Programs\WARDEN,不需要管理员权限 ✓) 3. 装完先出向导 → 想直接配置就点完成页的「打开设置界面」✓ 4. 想自己验证来源:对照上面的 SHA256 ✓ ## 七、兼容性 * 配置文件格式未变 ✓ 旧版 %LOCALAPPDATA%\WARDEN\WARDEN.json 可直接用 ✓ * 命令行参数未变 ✓(--silent / --dir / --no-desktop / --no-autostart / --no-redteam / --no-launch) * 语言包位置:程序目录 lang\(随包发布 ✓)与 %LOCALAPPDATA%\WARDEN\lang\(可覆盖 ✓) ## 八、许可证 AGPL-3.0-or-later —— 注意:把 WARDEN 做成在线服务也要开源 ✓