DocumentCode :
3314683
Title :
Breaking abstractions and unstructuring data structures
Author :
Collberg, Christian ; Thomborson, Clark ; Low, Douglas
Author_Institution :
Dept. of Comput. Sci., Auckland Univ., New Zealand
fYear :
1998
fDate :
14-16 May 1998
Firstpage :
28
Lastpage :
38
Abstract :
To ensure platform independence, mobile programs are distributed in forms that are isomorphic to the original source code. Such codes are easy to decompile, and hence they increase the risk of malicious reverse engineering attacks. Code obfuscation is one of several techniques which has been proposed to alleviate this situation. An obfuscator is a tool which-through the application of code transformations-converts a program into an equivalent one that is more difficult to reverse engineer. In a previous paper (Collberg et al., 1998) we have described the design of a control flow obfuscator for Java. In this paper we extend the design with transformations that obfuscate data structures and abstractions. In particular we show how to obfuscate classes, arrays, procedural abstractions and built-in data types like strings, integers and booleans
Keywords :
data structures; inheritance; object-oriented languages; object-oriented programming; program compilers; reverse engineering; Java; abstractions; arrays; booleans; built-in data types; classes; code obfuscation; code transformations; control flow obfuscator; data structures; inheritance; integers; mobile programs; platform independence; procedural abstractions; reverse engineering; source code; strings; Application software; Computer science; Cryptography; Data structures; Digital signatures; Hardware; Java; Protection; Reverse engineering; Virtual machining;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Computer Languages, 1998. Proceedings. 1998 International Conference on
Conference_Location :
Chicago, IL
ISSN :
1074-8970
Print_ISBN :
0-8186-8454-2
Type :
conf
DOI :
10.1109/ICCL.1998.674154
Filename :
674154
Link To Document :
بازگشت