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 ping@obfuscator.re for any doubt, issue, bug you may encounter.
- Romain Thomas: @rh0main (
me@romainthomas.fr)
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.