All Projects → bluesadi → Pluto-Obfuscator

bluesadi / Pluto-Obfuscator

Licence: other
Obfuscator based on LLVM 12.0.1

Programming Languages

LLVM
166 projects
C++
36643 projects - #6 most used programming language
assembly
5116 projects
c
50402 projects - #5 most used programming language
objective c
16641 projects - #2 most used programming language
python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Pluto-Obfuscator

deollvm64
deobfuscator llvm arm64 script
Stars: ✭ 67 (-72.08%)
Mutual labels:  llvm, ollvm
scalehls
A scalable High-Level Synthesis framework on MLIR
Stars: ✭ 62 (-74.17%)
Mutual labels:  llvm
malgo
A statically typed functional programming language.
Stars: ✭ 37 (-84.58%)
Mutual labels:  llvm
llvm-statepoint-utils
Runtime support for LLVM's GC Statepoints
Stars: ✭ 35 (-85.42%)
Mutual labels:  llvm
IR2Vec
Implementation of IR2Vec, published in ACM TACO
Stars: ✭ 28 (-88.33%)
Mutual labels:  llvm
halo
😇 Wholly Adaptive LLVM Optimizer
Stars: ✭ 22 (-90.83%)
Mutual labels:  llvm
wasm-toolchain
WebAssembly toolchain
Stars: ✭ 34 (-85.83%)
Mutual labels:  llvm
Vist
The Vist programming language
Stars: ✭ 16 (-93.33%)
Mutual labels:  llvm
LLVM.jl
Julia wrapper for the LLVM C API
Stars: ✭ 90 (-62.5%)
Mutual labels:  llvm
arch-packages
Arch Linux performance important packages
Stars: ✭ 27 (-88.75%)
Mutual labels:  llvm
lleaves
Compiler for LightGBM gradient-boosted trees, based on LLVM. Speeds up prediction by ≥10x.
Stars: ✭ 132 (-45%)
Mutual labels:  llvm
ts-llvm
TypeScript to LLVM compiler (abandoned)
Stars: ✭ 266 (+10.83%)
Mutual labels:  llvm
ionlang
🌌 Ion language compiler library, powered by LLVM
Stars: ✭ 13 (-94.58%)
Mutual labels:  llvm
hmg
💝 My personal Gentoo/Linux configuration backup files
Stars: ✭ 16 (-93.33%)
Mutual labels:  llvm
js-ziju
Compile javascript to LLVM IR, x86 assembly and self interpreting
Stars: ✭ 112 (-53.33%)
Mutual labels:  llvm
ugo-compiler-book
📚 µGo语言实现(从头开发一个迷你Go语言编译器)[Go版本+Rust版本]
Stars: ✭ 996 (+315%)
Mutual labels:  llvm
nolimix86
LLVM-based x86 emulator with support for unlimited virtual registers, used before the register allocation pass
Stars: ✭ 19 (-92.08%)
Mutual labels:  llvm
cere
CERE: Codelet Extractor and REplayer
Stars: ✭ 27 (-88.75%)
Mutual labels:  llvm
SameTypeClangPlugin
自定义检查规范的 Clang 插件
Stars: ✭ 47 (-80.42%)
Mutual labels:  llvm
neeilang
Fast, type-safe, object-oriented language by yours truly
Stars: ✭ 42 (-82.5%)
Mutual labels:  llvm

Pluto-Obfuscator

Pluto is an obfuscator based on LLVM 12.0.1, being developed and maintained by 34r7h4mn.

Pluto is a dwarf planet in the Kuiper belt, a ring of bodies beyond the orbit of Neptune.

Environment

  • Ubuntu 20.04.3 LTS
  • Clang/LLVM 12.0.1
  • CMake 3.16.3
  • Ninja 1.10.0
  • libz3-dev 4.8.7-4build1

Features

  • Control Flow Flattening
  • Bogus Control Flow
  • Instruction Substitution
  • Random Control Flow
  • Variable Substitution
  • String Encryption
  • Globals Encryption
  • Trap Angr
  • MBA Obfuscation

Usage

Dependencies

The MBA Obfuscation pass depends on z3-solver. On Ubuntu, you can simply install it with the following command:

sudo apt install libz3-dev 

Building on Linux/Windows

The following commands work on both Linux and Windows:

cd build
cmake -G "Ninja" -DLLVM_ENABLE_PROJECTS="clang" \
    -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD="X86" \
    -DBUILD_SHARED_LIBS=On ../llvm
ninja

Building on MacOS

mkdir -p build
cd build
cmake -G "Ninja" -DLLVM_ENABLE_PROJECTS="clang" \
    -DCMAKE_BUILD_TYPE=Release \
    -DDEFAULT_SYSROOT=$(xcrun --show-sdk-path) \
    -DCMAKE_OSX_SYSROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk \
    -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" \
    ../llvm
ninja

Test

Fast test on AES

See fast-check.sh and test/aes.

Comprehensive test on secp256k1

See check.sh and test/secp256k1.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].