Obfuscator-LLVM
Obfuscator-LLVM is an open-source LLVM fork that applies obfuscation at compile time to make software harder to reverse engineer or modify.
What Obfuscator-LLVM is
Obfuscator-LLVM is an open-source LLVM fork that applies obfuscation at compile time to make software harder to reverse engineer or modify. Its listed passes include instruction substitution, bogus control flow, and control-flow flattening, as well as function annotations. The project says its LLVM intermediate-representation approach supports languages including C, C++, Objective-C, Ada, and Fortran. Listed targets include x86, ARM, PowerPC, MIPS, SPARC, and others. It is a free, self-hosted Linux tool. Installation involves cloning the repository and building with CMake and make; the resulting binaries go in build/bin. The guide also describes use through Clang, an autotools build, and a custom Xcode plugin. The guide identifies llvm-4.0, based on LLVM 4.0.1, as the latest official non-development branch. Obfuscated code may run slower and take more space. The FAQ warns that protection is limited, constants and buffers are not scrambled, and tamper-proofing is not implemented. It characterizes the project as an advanced prototype that needs substantially more testing before production use.
Good
- Includes three listed obfuscation passes.
- Supports languages handled by LLVM.
- Free and self-hosted for Linux.
- Build instructions use CMake and make.
Watch out
- Obfuscated code may be slower and larger.
- Constants and buffers are not scrambled.
- Code tamper-proofing is not implemented.
- The project says it needs more testing before production use.
Who it suits
Obfuscator-LLVM may suit developers evaluating compile-time obfuscation for LLVM-supported languages. Its own guidance cautions against treating it as production-ready protection.
Verdict
Obfuscator-LLVM offers several compile-time obfuscation passes, but its documented protection limits are significant. The project itself describes it as an advanced prototype rather than production-ready software.
Plans and prices
From Obfuscator-LLVM's own pricing page, checked 7 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Obfuscator-LLVM | Free | Open-source LLVM fork · commercial version was available until end of 2016 |
The facts
Each one read from Obfuscator-LLVM's own pages, with the date it was checked.
What it does
- Build and download
- The installation guide instructs users to clone the source repository and build it with CMake and make; the resulting binaries are placed in build/bin.checked 7 Oct 2026
- Function annotations
- The feature list also includes function annotations.checked 7 Oct 2026
- Integrations
- The guide describes using the compiler through Clang, with an autotools build, and through a custom Xcode plugin.checked 7 Oct 2026
- License
- The obfuscation passes are distributed under the University of Illinois/NCSA Open Source License, which permits use, modification, and distribution subject to its conditions.checked 7 Oct 2026
- Obfuscation passes
- The listed passes are instruction substitution, bogus control flow, and control-flow flattening.checked 7 Oct 2026
- Performance
- The FAQ says obfuscated code will be slower and larger, with the impact depending on code and obfuscation settings.checked 7 Oct 2026
- Production suitability
- The FAQ describes the project as an advanced prototype and says it needs substantially more testing before production use.checked 7 Oct 2026
- Purpose
- Obfuscator-LLVM is an open-source LLVM fork intended to strengthen software against reverse engineering and modification at compile time.checked 7 Oct 2026
- Security limits
- The FAQ says the project should not be considered very secure and may only slow a typical reverse engineer; it notes constants and buffers are not scrambled.checked 7 Oct 2026
- Supported languages
- The project says its intermediate-representation approach makes it compatible with languages supported by LLVM, including C, C++, Objective-C, Ada, and Fortran.checked 7 Oct 2026
- Supported targets
- The project lists LLVM targets including x86, x86-64, PowerPC, ARM, Thumb, SPARC, Alpha, CellSPU, MIPS, MSP430, SystemZ, and XCore.checked 7 Oct 2026
- Tamper protection
- The FAQ says Obfuscator-LLVM does not currently implement code tamper-proofing.checked 7 Oct 2026
- Testing
- The FAQ says the team tested with cryptographic libraries including OpenSSL, GMP, and libtomcrypt, and also MySQL and ImageMagick.checked 7 Oct 2026
- Version limit
- The guide identifies llvm-4.0, based on LLVM 4.0.1, as the latest official non-development branch and also lists older branches.checked 7 Oct 2026
The company
- Founded
- 2010checked 28 Sep 2026
Alternatives to Obfuscator-LLVM
- 1
Enigma Protector
WebAPILinuxSelf-hosted7.4 - 2
JS-Confuser
Free planOpen sourceWebAPILinuxmacOS7.4Free plan - 3
Jscrambler
AndroidiOSWebAPI7.0 - 4
Tigress
Free planAndroidLinuxmacOSWindows6.8Free plan - 5

ByteHide Shield
Free planAndroidiOSWebLinux6.7Free plan - 6
JavaScript Obfuscator
Free planWebAPIExtensionSelf-hosted6.7From $19 a month
