xollvm — v0.10.0
Built against stock LLVM release/22.x.
Highlights
This release lands MBA extension v3 — memory-free, solver-resistant Mixed Boolean-Arithmetic strengthening for the mba pass, plus preset bundles and a SiMBA resilience harness.
What's new
MBA pass (mba)
- Memory-free input-derived runtime-zero inflation — zeros are lifted from function inputs, no volatile memory scratch (defeats store-forwarding folds).
- SLE pool: nonlinear-lifted runtime zeros drawn from a 260-entry system-of-linear-equations pool (
MBASlePool.inc), resistant to InstCombine canonicalization. - Preset bundles:
light/medium/high/maxfor one-knob strength selection.
Docs
docs/USER.mddocuments the memory-free input-zero and SLE options.- README now points to the
xollvm.github.iodocs site.
Tooling / tests
- SiMBA attack + MBA resilience bench cases in
utils/deobf_bench/(attacks/simba.py, newmba_opsprogram templates). - MBA correctness, fold-check, and SLE generate/verify utilities (
utils/mba_fold_check.py,utils/mba_sle_gen.py,utils/mba_sle_verify.py).
Chore
- Dropped prototype demo/perf scratch;
.gitignoreglobs guard future scratch.
Merged PRs
- #17 —
feat/mba_ext_v3: MBA extension v3 (memory-free zeros, SLE pool, presets, SiMBA harness) - #18 —
chore/drop-demo-scratch: drop prototype scratch, ignore future scratch - #19 —
docs/readme-site-link: point README to docs site
Artifacts
| File | What | OS |
|---|---|---|
xollvm-linux-Release.tar.zst |
clang/opt with obfuscator built in | Linux x86_64 |
xollvm-windows-Release.7z |
clang/opt with obfuscator built in | Windows x64 |
Obfuscator-linux-x64.so |
loadable -fpass-plugin |
Linux x86_64 |
Cross-compilation backends
-DLLVM_TARGETS_TO_BUILD="X86;AArch64;ARM;RISCV" — X86, AArch64, ARM, RISC-V.
Full Changelog: v0.9.2...v0.10.0