https://github.com/open-obfuscator/o-mvll
:electron: O-MVLL is a code obfuscator based on LLVM for native code (Android & iOS)
https://github.com/open-obfuscator/o-mvll
android ios llvm obfuscator obfuscator-llvm
Last synced: 10 months ago
JSON representation
:electron: O-MVLL is a code obfuscator based on LLVM for native code (Android & iOS)
- Host: GitHub
- URL: https://github.com/open-obfuscator/o-mvll
- Owner: open-obfuscator
- License: apache-2.0
- Created: 2022-10-02T07:57:40.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-28T11:35:47.000Z (12 months ago)
- Last Synced: 2025-04-07T04:05:03.379Z (12 months ago)
- Topics: android, ios, llvm, obfuscator, obfuscator-llvm
- Language: C++
- Homepage: https://obfuscator.re/omvll
- Size: 1.58 MB
- Stars: 686
- Watchers: 20
- Forks: 75
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# O-MVLL
O-MVLL (in reference to [O-LLVM](https://github.com/obfuscator-llvm/obfuscator)) is a LLVM-based obfuscator
driven by Python and the LLVM pass manager. It can be run as follows:
```bash
clang++ -fpass-plugin=libOMVLL.dylib main.cpp -o main
```
```python
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](https://obfuscator.re/omvll).
### Download
- [Official releases](https://github.com/open-obfuscator/o-mvll/releases)
- [Experimental builds](https://open-obfuscator.build38.io/ci/index.html)
### Contact
Feel free to reach out at `ping@obfuscator.re` for any doubt, issue, bug you may encounter.
#### Maintainers
- [Build38: The Next-Gen Mobile App Security Platform](https://build38.com/)
#### Author
- [Romain Thomas](https://www.romainthomas.fr): [@rh0main](https://twitter.com/rh0main) (`me@romainthomas.fr`)
#### Credits
- [LLVM](https://llvm.org/)
- [obfuscator-llvm](https://github.com/obfuscator-llvm/obfuscator)
- [obfuscator-llvm](https://github.com/eshard/obfuscator-llvm) from [eShard](https://eshard.com/)
- [Hikari](https://github.com/HikariObfuscator/Hikari)
- [DragonFFI](https://github.com/aguinet/dragonffi)
### License
O-MVLL is released under the same License as LLVM: [Apache License, Version 2.0](./LICENSE).
This project is partly funded by the EU and the European Cybersecurity Competence Center.