Skip to content

v0.9.2

Choose a tag to compare

@github-actions github-actions released this 18 Aug 19:25
· 10 commits to main since this release
d60fbf8

xollvm — v0.9.2

Built against stock LLVM release/22.x.

Fixes

  • strenc: materialize constexpr users of encrypted string globals on the PHI predecessor edge. PHI incoming-value uses were being materialized in the PHI's own block, pushing the PHI off the top and producing invalid IR (PHI nodes not grouped at top of basic block); they are now inserted before the incoming predecessor's terminator, which always dominates the edge use.
  • strenc: skip encryption for strings whose address is ptrtoint'd — identity would silently diverge once uses are rewritten to a per-call stack buffer.
  • strenc: fix stat counters always printing 0 in Release builds (STATISTICALWAYS_ENABLED_STATISTIC).

Docs

  • DEV.md: reworked against current source — replaced the retired in-tree PassRegistry.def model with the fork-free registration/PluginEntry.cpp + ObfPasses.inc mechanism; corrected the pipeline ordering table (vcall runs after flattening, not before); replaced stale VM opcode-count and hardening-layers snapshots with pointers to VMPassConfig / VM.md.

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.