8000 GitHub - c0w5lip/llvm-obfuscator: A collection of LLVM passes for code obfuscation.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

c0w5lip/llvm-obfuscator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

llvm-obfuscator

This project provides basic samples implementing various obfuscation techniques in order to make reverse engineering and static analysis more difficult.

The passes can be used independently or in combination to achieve various levels of obfuscation. Have fun tweaking :]

This project is built under LLVM 17 and follows the New Pass Manager infrastructure.


Passes

  • Control Flow Flattening
  • Instruction Substitution
    • add
    • sub
    • mul
    • div

Setup

Build

mkdir build
cd build
cmake ..

cd ..
make -C build

Usage

clang-17 -S -emit-llvm -O1 samples/is/is.c -o samples/is/is.ll

opt-17 -load-pass-plugin=build/src/LLVMObfuscator.so -passes="is" samples/is/is.ll -S -o samples/is/is_o.ll

clang-17 samples/is/is_o.ll -o samples/is/is_o.out

License

This project is licensed under the MIT License. See LICENSE for details.


For more information, see the LLVM documentation.

About

A collection of LLVM passes for code obfuscation.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0