thomasxm / Pluto

LLVM-Obfuscator based on LLVM 14.0.6

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pluto

English

Pluto is a code obfuscator built on top of LLVM 14.0.6 (more in the future...). In summary, Pluto converts the source code into a functionally equivalent but much more complicated form at compile-time, protecting your software from being cracked.

Installation

Download source code:

$ git clone https://github.com/bluesadi/Pluto.git

Ubuntu

Install z3 (required by MBAObfuscation):

$ sudo apt install libz3-dev 

Install Ninja and other dependencies:

$ sudo apt install ninja-build cmake python3 gcc g++

Build and install Pluto to ./install directory:

$ mkdir -p build
$ cmake -G Ninja -S . -B build \
        -DCMAKE_C_COMPILER="gcc" \
        -DCMAKE_CXX_COMPILER="g++" \
        -DCMAKE_INSTALL_PREFIX="install" \
        -DCMAKE_BUILD_TYPE=Release
$ ninja -j`nproc` -C build install

Or:

$ ./build.sh

Usage

On linux:

./clang -O3 -flto -fuse-ld=lld -mllvm -passes=mba,sub,idc,bcf,fla,gle -Xlinker -mllvm -Xlinker -passes=hlw,idc -target x86_64-w64-mingw32 notepad.c -o llvm_notepad3.exe -v -L/usr/lib/gcc/x86_64-w64-mingw32/12-win32

About

LLVM-Obfuscator based on LLVM 14.0.6


Languages

Language:LLVM 39.6%Language:C++ 37.1%Language:C 11.6%Language:Assembly 10.1%Language:Objective-C 0.6%Language:Python 0.3%Language:HTML 0.2%Language:CMake 0.1%Language:Objective-C++ 0.1%Language:Cuda 0.1%Language:OCaml 0.1%Language:Go 0.0%Language:Perl 0.0%Language:Shell 0.0%Language:Roff 0.0%Language:JavaScript 0.0%Language:Batchfile 0.0%Language:CSS 0.0%Language:Emacs Lisp 0.0%Language:C# 0.0%Language:Vim Script 0.0%Language:Fortran 0.0%Language:Dockerfile 0.0%Language:Makefile 0.0%Language:M 0.0%Language:Cool 0.0%Language:TypeScript 0.0%Language:AppleScript 0.0%Language:RenderScript 0.0%Language:SWIG 0.0%Language:Swift 0.0%Language:Rust 0.0%Language:Pawn 0.0%