Fusor

A powerful code obfuscator

Get Started Star us
Learn more about Fusor

What's Fusor?

Fusor is a code obfuscation tool based on LLVM. But what makes it special? It has the ability to against symbolic-execution based automatic de-obfuscation with low overhead.

Fusor began a research project at the Chinese University of Hong Kong and University of Illinois at Urbana-Champaign, with the purpose of obfuscating binary programs with layered security. The project is still currently under heavy development.

Why Fusor?

Resilience to Deobfuscator Attacks

When disign the obfuscation techniques, we consider the hardness of the introduced problems for adversaries to deobfuscate the codes. Idealy, we try to design obfuscation problems that incur huge reverse analysis cost and small execution cost.

For instance, reverse engineering attacks based on symbolic execution techniques is powerful. The main reason is that the opaque predicates for control-flow obfuscation are two weak. To combat such threats, Fusor carefully designs symbolic opaque predicates for control-flow obfuscation.

Fast

Obfuscation unavoidably incurs some computational overheads and enlarges program size. To deliver efficient obfuscation tools, we carefully benchmark the performance of each obfuscation pass under various context and eliminate the performance bugs.

We avoid using the obfuscation techniques with high costs (e.g., functional encryption mechanisms), although they can provide strong security.