Obfuscator based on logic-bombs
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples mv examples Feb 17, 2019
fusor Update CMakeLists.txt Feb 13, 2019
include dataflow Jan 6, 2019
tests change name Feb 17, 2019
CMakeLists.txt add json header, add O3 Nov 11, 2018
Dockerfile modify Dockerfile Nov 11, 2018
Makefile change tests folder Feb 17, 2019
README.md Update README.md Feb 14, 2019



Obfuscator based on logic-bombs

Tested on llvm-3.8, Debian 9.x

This project is still under heavy development

Using Docker (Recommended)

How to install Docker.

Pull from Docker Hub

docker pull zzrcxb/fusor
docker run -itd --name {container's name} fusor /bin/bash

or Build by Yourself

wget https://raw.githubusercontent.com/zzrcxb/fusor/master/Dockerfile
docker build -t fusor .
docker run -itd --name {container's name} fusor /bin/bash

Use Ctrl+P Ctrl+Q to escape, use docker attach {container's name} to attach, use docker ps -a to view all containers' status.

Build fusor

git clone https://github.com/zzrcxb/fusor.git
cd fusor && mkdir build && cd build
cmake ..
make && cd ..

How to run

Setup environment variable

To specify the configure file's path, set environment variable FUSOR_CONFIG.

export FUSOR_CONFIG=/path/to/config.json


Append -Xclang -load -Xclang /path/to/libFusorPass.so to your compiler's flag.


The puzzle code or the transformation code is uint64_t type.


  • array size := puzzle_code[63:56]
  • first dimension depth := puzzle_code[55:48]
  • second dimension depth := puzzle_code[47:40]


  • obfuscation probability := trans_code[64:56]
  • obfuscation times := trans_code[55:48]