Skip to content
SPECIFICTION
Get listed

Obfuscator-LLVM

github.com

Free plan Linux
Visit github.com
Spec score 7.4 #25 of 34 in Code Obfuscation Software

What it is

Obfuscator-LLVM is a free, open-source LLVM fork for Linux that applies obfuscation while software is compiled. It is intended to make programs harder to reverse engineer or modify. Listed passes include instruction substitution, bogus control flow, and control-flow flattening, with function annotations also available. Its intermediate-representation approach covers languages supported by LLVM, including C, C++, Objective-C, Ada, and Fortran. Listed targets include x86, x86-64, PowerPC, ARM, Thumb, SPARC, Alpha, CellSPU, MIPS, MSP430, SystemZ, and XCore. Installation involves cloning the source repository, then building with CMake and make; binaries are placed in build/bin. The guide describes compiler use through Clang, autotools, and a custom Xcode plugin. The latest official non-development branch is llvm-4.0, based on LLVM 4.0.1. The project says obfuscated code can be slower and larger, and describes itself as an advanced prototype needing more testing before production use.

Spec sheet

Purpose
Obfuscator-LLVM is an open-source LLVM fork intended to strengthen software against reverse engineering and modification at compile time.Read 7 Oct 2026 · github.com
Integrations
The guide describes using the compiler through Clang, with an autotools build, and through a custom Xcode plugin.Read 7 Oct 2026 · github.com
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.Read 7 Oct 2026 · github.com
Founded
2010Read 28 Sep 2026 · github.com
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.Read 7 Oct 2026 · github.com
Function annotations
The feature list also includes function annotations.Read 7 Oct 2026 · github.com
Obfuscation passes
The listed passes are instruction substitution, bogus control flow, and control-flow flattening.Read 7 Oct 2026 · github.com
Performance
The FAQ says obfuscated code will be slower and larger, with the impact depending on code and obfuscation settings.Read 7 Oct 2026 · github.com
Production suitability
The FAQ describes the project as an advanced prototype and says it needs substantially more testing before production use.Read 7 Oct 2026 · github.com
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.Read 7 Oct 2026 · github.com
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.Read 7 Oct 2026 · github.com
Supported targets
The project lists LLVM targets including x86, x86-64, PowerPC, ARM, Thumb, SPARC, Alpha, CellSPU, MIPS, MSP430, SystemZ, and XCore.Read 7 Oct 2026 · github.com
Tamper protection
The FAQ says Obfuscator-LLVM does not currently implement code tamper-proofing.Read 7 Oct 2026 · github.com
Testing
The FAQ says the team tested with cryptographic libraries including OpenSSL, GMP, and libtomcrypt, and also MySQL and ImageMagick.Read 7 Oct 2026 · github.com
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.Read 7 Oct 2026 · github.com

Plans and prices

Obfuscator-LLVM Free Open-source LLVM fork · commercial version was available until end of 2016 Read 7 Oct 2026 · github.com

Every Obfuscator-LLVM plan and price →

Strong points and limits

Strong points

  • Free open-source LLVM fork
  • Supports several obfuscation passes
  • Works with LLVM-supported languages
  • Many listed compilation targets
  • Clang and autotools integration

Limits

  • Linux platform only
  • Latest official branch is llvm-4.0
  • Obfuscated code can be slower and larger
  • No code tamper-proofing; constants remain unscrambled

Who it suits

It suits developers who need compile-time obfuscation in LLVM-supported languages and can build and host the tool on Linux. It is also relevant to teams evaluating protection with clearly stated limitations.

Verdict

Obfuscator-LLVM provides self-hosted compile-time obfuscation with broad LLVM language and target coverage. Its own documentation describes limited protection, performance costs, and prototype status, so those constraints matter when considering production use.

Where Specifiction places it

Alternatives to Obfuscator-LLVMAll alternatives →