Obfuscator based on logic-bombs
Tested on llvm-3.8, Debian 9.x
This project is still under heavy development
How to install Docker.
docker pull zzrcxb/fusor
docker run -itd --name {container's name} fusor /bin/bash
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.
git clone https://github.com/zzrcxb/fusor.git
cd fusor && mkdir build && cd build
cmake ..
make && cd ..
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]
Please checkout to branch llvm-10
for an LLVM10 compatible version. Thanks for @strazzere's contribution!