O-MVLL (in reference to O-LLVM) is a LLVM-based obfuscator driven by Python and the LLVM pass manager. It can be run as follows:
clang++ -fpass-plugin=libOMVLL.dylib main.cpp -o main
import omvll
class MyConfig(omvll.ObfuscationConfig):
def __init__(self):
super().__init__()
def flatten_cfg(self, mod: omvll.Module, func: omvll.Function):
if func.name == "check_password":
return True
return False
O-MVLL can be used with the Android NDK and an iOS toolchain. It currently supports AArch64 and ARM architectures.
For more details, please check out the documentation at obfuscator.re/omvll.
Feel free to reach out at [email protected]
for any doubt, issue, bug you may encounter.
O-MVLL is released under the same License as LLVM: Apache License, Version 2.0.
This project is partly funded by the EU and the European Cybersecurity Competence Center.