DocumentCode
2932943
Title
Software code obfuscation by hiding control flow information in stack
Author
Balachandran, Vivek ; Emmanuel, Sabu
Author_Institution
Sch. of Comput. Eng., Nanyang Technol. Univ., Singapore, Singapore
fYear
2011
fDate
Nov. 29 2011-Dec. 2 2011
Firstpage
1
Lastpage
6
Abstract
Software code released to the user has the risk of reverse engineering attacks. Obfuscation is a technique in which the software code is transformed into a semantically equivalent form which is harder to reverse engineer. In this paper, we propose an algorithm to obfuscate software programs. The basic idea of our algorithm is to remove vital information such as jump instructions from the program code section and hide them in the data section. These instructions are then reconstructed to their original form dynamically at run time, thus making the program semantically equivalent to the original program. Experimental results on programs from the SPECint benchmark suites indicate that the algorithm performs well in introducing instruction disassembly errors and control flow errors without bloating up the size of the program too much.
Keywords
data encapsulation; reverse engineering; control flow error; control flow information hiding; instruction disassembly error; reverse engineering attack; software code obfuscation; software program code section; Engines; Heuristic algorithms; Layout; Reverse engineering; Runtime; Software; Software algorithms;
fLanguage
English
Publisher
ieee
Conference_Titel
Information Forensics and Security (WIFS), 2011 IEEE International Workshop on
Conference_Location
Iguacu Falls
Print_ISBN
978-1-4577-1017-9
Electronic_ISBN
978-1-4577-1018-6
Type
conf
DOI
10.1109/WIFS.2011.6123121
Filename
6123121
Link To Document