open-obfuscator / o-mvll

:electron: O-MVLL is a LLVM-based obfuscator for native code (Android & iOS)
https://obfuscator.re/omvll
Apache License 2.0
633 stars 68 forks source link

Restore xor-x86_64 tests for arithmetic pass as LLVM IR checks #57

Open weliveindetail opened 3 months ago

weliveindetail commented 3 months ago

The old ASM-based tests broke with the switch to LLVM 16 and were dropped. We can probably avoid this in the future by checking obfuscated LLVM IR. The restored tests just check that there is a XOR operation in the original IR and it disappears with any number of obfuscation rounds>=2.

weliveindetail commented 3 months ago

Oh, apparently, with rounds==1 the XOR gets obfuscated and restored by subsequent optimizations. I dropped it here.