A Method and Implementation of Control Flow Obfuscation Using SEH

Xinlei Yao,Jianmin Pang,Yichi Zhang,Yong Yu,Jianping Lu
DOI: https://doi.org/10.1109/mines.2012.25
2012-01-01
Abstract:Control flow obfuscation is an important way of software copyright protection, the main purpose is to make the static analysis tools produce wrong control flow graph, and then prevent malicious use of reverse engineering against software. In this paper we ropose an approach to implement control flow obfuscation using Windows structured exception handling mechanism. Programs are obfuscated by replacing branch instructions with exception code and inserting fake branch instruction after the exception code. Furthermore, exception code random technology is used to improve the resilience of the obfuscated code. Experimental results show that disassemble tools fail to identify 56.7% control flow of the obfuscated code, and have a misunderstanding of 40% control flow. The increase in program size and execute time of the obfuscated code is also modest.
What problem does this paper attempt to address?