Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔐 LLVM-Based Intelligent Code Obfuscator

An advanced compiler-level code obfuscation framework designed to protect C/C++ programs against reverse engineering, static analysis, and unauthorized code inspection. The system operates at the LLVM Intermediate Representation (IR) level, transforming the structure and representation of programs while preserving their original functionality.

The project combines LLVM compiler technology, multiple code-obfuscation techniques, machine learning, and program-complexity analysis to create an intelligent and configurable software protection pipeline.

Unlike traditional obfuscators that apply the same transformations to every program, this framework analyzes the characteristics of the input program and uses a Machine Learning-based strategy selection mechanism to determine suitable obfuscation techniques.

🎯 Project Objective

The primary objective of this project is to develop a compiler-based software protection system capable of transforming readable and analyzable source programs into functionally equivalent but significantly harder-to-understand representations.

The framework aims to:

🛡️ Protect software against reverse engineering 🔍 Increase the difficulty of static code analysis 🧩 Transform program control flow and instruction patterns 🔐 Protect sensitive string information 🤖 Automatically select suitable obfuscation strategies using Machine Learning 📊 Measure the effectiveness and complexity of generated obfuscated code ⚙️ Maintain the original functionality of the protected program ✨ Project Highlights 🛡️ LLVM IR-Based Software Protection 🤖 Machine Learning-Driven Obfuscation Strategy Selection 🌲 Random Forest Classification Model 🔀 Control Flow Flattening 🔄 Instruction Substitution 🔐 XOR-Based String Encryption 📊 Automated Obfuscation Metrics Generation 📈 Complexity and Entropy Analysis 🧩 Modular and Extensible Architecture 🧪 Support for C/C++ Programs through LLVM/Clang 📚 Research-Oriented Implementation

About

LLVM-based code obfuscation pass implemented in C++ using LLVM/Clang and CMake.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages