v0.9.0
xollvm — v0.9.0
Built against stock LLVM release/22.x.
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.
Changelog
VM super-op fusion (#9)
- Fuse shl+add chains into
OP_SHLADD - Fuse icmp+select into
OP_CMPSEL - Fuse and+icmp-zero bit-tests into
OP_ANDCMPZ - Opcode count 53→56
- Remove
preset=light(#10)
MBA pool expansion (#11)
- Indexed
poolSize/applyByIndexaccess API - 4 new alt identities + correctness/fold-check suites
- Add mul family (mul/mulAlt/mulAlt2) to indexed pool
- Add shl family (const-RHS) to indexed pool
- Strengthen mulAlt2: Neg-mirror → 16-bit split-mul
- Pool now 23 identities across 7 opcodes
VM handler mutation (#13)
- Intra-function handler-variant dispatch
- Full MBA pool + structural mutations for variant diversification
- Static decoy handlers
- Live decoys via opaque-false-guarded branches
preset=maxopts inhandlerVariants=4+handlerDecoys=2; decoy gate now layer-based- Handler-variant cap lifted 4→64,
handlerDecoysknob added
Misc
- gitignore
deobf_bench_work/,run_regression.ps1,docs/design/