Skip to content

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 14 Aug 16:39
· 15 commits to main since this release
ef01833

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/applyByIndex access 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=max opts in handlerVariants=4 + handlerDecoys=2; decoy gate now layer-based
  • Handler-variant cap lifted 4→64, handlerDecoys knob added

Misc

  • gitignore deobf_bench_work/, run_regression.ps1, docs/design/