① 程序合并
ILMerge
把多个程序集合并进主程序,减少分发文件。合并前自动备份主程序。
ILMerge.exe② 程序加密
ConfuserEx
混淆、常量与资源加密、反篡改。36 项开关,四档预设。
ConfuserEx.exe③ 安装包打包
Inno Setup
压缩、分卷、安装口令、整包加密与代码签名,产出可直接分发。
ISCC.exe01
它做什么,不做什么
三个工具各自都很成熟,问题在于它们之间没有接口。要把一份 .exe 变成可发布的安装包,你得读三份文档、手写两份配置(.crproj 与 .iss)、记住每个参数写在哪一层,然后在三个命令行窗口之间来回贴路径。
SealPack 把这套动作固定下来:主程序、输出目录、待合并的程序集、加密开关、打包选项与排除项都存在一个 JSON 里,改完立刻重算模板,点一次执行就跑完三步。界面上的开关与真正写进配置文件的东西由同一份 Rust 代码产出,所以它们不可能对不上。
它刻意不重新发明轮子 —— 混淆是 ConfuserEx 做的,安装包加密是 Inno Setup 做的。这个项目里没有一行自研密码学。
- 01选项只有一份定义。加密与打包的每个开关都是 schema 里的一条,界面按它渲染,回归探针按它断言。
- 02模板由 Rust 生成。前端只收集开关,模板永远由后端算出来;浏览器侧镜像有逐字一致性校验。
- 03失败即停。某一步失败就停下并保留日志,不会拿半成品继续往下跑。
- 04原地覆盖前先备份。首次执行把主程序存成
.bakup,且默认不进安装包。
02
两套皮肤,一份 DOM
「瑞士技术网格」是暖白纸底与朱红,「终端」是近黑底与荧光青。差异 100% 由 CSS 表达,标题栏上点一下就切;明暗另有「跟随系统 / 深色 / 浅色」三态,每套皮肤各记自己的明暗。

03