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.
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.