Windows desktop · v0.2.0

Three command-line tools,
one window

Merge, obfuscate, package — that used to mean three manuals, two hand-written config files and three terminal sessions. SealPack turns the routine into one project: pick the executable once, flip a few switches, run it.

① Merge

ILMerge

Fold assemblies into the main executable so you ship fewer files. The original is backed up first.

ILMerge.exe

② Obfuscate

ConfuserEx

Renaming, constant and resource encryption, anti-tamper. 36 switches across four presets.

ConfuserEx.exe

③ Package

Inno Setup

Compression, split volumes, install password, full-package encryption and code signing.

ISCC.exe
01

What it does — and what it does not

Each of the three tools is mature on its own. The problem is that nothing connects them. Turning an .exe into a shippable installer means reading three manuals, writing two config files (.crproj and .iss), remembering which parameter belongs to which layer, then pasting paths between three terminal windows.

SealPack fixes that routine into a project: the executable, output directory, assemblies to merge, protection switches, packaging options and excludes all live in one JSON file. Change a switch and the template is recomputed; press run and the three stages execute in order. What you see in the UI and what gets written into the config come from the same Rust code, so they cannot drift apart.

It deliberately reinvents nothing — obfuscation is ConfuserEx’s job, installer encryption is Inno Setup’s. There is no home-grown cryptography in this project.

  • 01One definition per option.Every encrypt and packaging switch is a single schema entry; the UI renders from it and the regression probe asserts from it.
  • 02Templates come from Rust.The frontend only collects switches; templates are always produced by the backend, and the browser-side mirror is checked byte for byte.
  • 03Fail fast.A failing stage stops the run and keeps the log. Half-finished artifacts never flow into the next stage.
  • 04Back up before overwriting.The first run saves the executable as .bakup, and that backup stays out of the installer by default.
02

Two skins, one DOM

“Swiss grid” is warm paper with vermilion; “Terminal” is near-black with cyan. The difference is 100% CSS and switches from the title bar. Light and dark are a separate axis: auto, dark, light — each skin remembers its own.

Two skins, one DOM
Terminal · dark — the same DOM as the screenshot in the introduction, only the CSS differs
03

Documentation

Start here

First time? Read install & requirements, then walk the five-step wizard.

SearchEsc

↑ ↓ to select · Enter to open · both languages are indexed