Skip to content

Testing

xollvm ships two distinct kinds of verification, and they answer different questions:

Runtime test suite

Does the obfuscated program still behave correctly? Python harness that compiles, obfuscates, runs, and compares output across passes, presets, and architectures — including -O2 survival.

Resilience benchmarks

Does the obfuscation actually resist reversing? Z3/angr attacks and a real-lift bench that measure resistance, not just correctness — the check to run before claiming a hardening win.

Correctness ≠ resistance

Passing the runtime suite only proves the program still works. A bundle can be correct and still fold under -O2 or a solver. Always confirm a hardening change with the resilience bench.