Title :
Obfuscation by code fragmentation to evade reverse engineering
Author :
Balachandran, Vivek ; Emmanuel, Sabu ; Ng Wee Keong
Author_Institution :
Sch. of Comput. Eng., Nanyang Technol. Univ., Singapore, Singapore
Abstract :
Software distributed can be reverse engineered using software analyzing tools, thereby letting an adversary understand the logic of the program and finding the vulnerabilities in the program. Control flow obfuscation is one of the techniques that can obscure the program so that the reverse engineering tools get an erroneous result while analyzing the program. In this paper, we propose a binary obfuscation algorithm that makes it difficult to reverse engineer the programs. The basic idea is to fragment the binary code by moving instruction sets from various parts of the program to a new code block. The control flow, to and from the new code block, is camouflaged using dynamic instruction modification during runtime. Experimental results indicate that the algorithm performs well against reverse engineering attacks by standard tools.
Keywords :
logic programming; program diagnostics; reverse engineering; software tools; source code (software); binary code fragmentation; binary obfuscation algorithm; code block; control flow obfuscation; dynamic instruction modification; instruction sets; program logic; program obfuscation; program vulnerabilities; reverse engineering attacks; reverse engineering tools; software analyzing tools; software distribution; Algorithm design and analysis; Assembly; Educational institutions; Heuristic algorithms; Reverse engineering; Software; Visualization;
Conference_Titel :
Systems, Man and Cybernetics (SMC), 2014 IEEE International Conference on
Conference_Location :
San Diego, CA
DOI :
10.1109/SMC.2014.6973951