WASMixer consists of two main functions: the data obfuscator and the code obfuscator. The data obfuscator randomizes readable names and encrypts/decrypts memory areas at runtime. The code obfuscator manipulates instructions and control flow through techniques like alias disruption, control flow flattening, and Collatz-based opaque predicates to thwart human reverse engineering and static analysis.
- set environment
WASMaker should run well on a server with Ubuntu 22.04. Please download Docker first.
sudo docker build -t wasmixer .
sudo docker run -it wasmixer # run a docker container
- obfuscate the wasm binaries in our collected benchmarks
# in the docker container
cd example
python3 obfuscate_benchmark.py