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.