Publication | Closed Access
Breaking abstractions and unstructuring data structures
153
Citations
13
References
2002
Year
Unknown Venue
EngineeringInformation SecurityProcedural AbstractionsSoftware EngineeringSoftware AnalysisData StructuresHardware SecurityData ScienceControl Flow ObfuscatorData ManagementAbstract InterpretationSecure By DesignComputer ScienceStatic Program AnalysisLanguage-based SecuritySoftware DesignData SecurityCryptographySoftware SecurityAutomated ReasoningProgram AnalysisFormal MethodsAbstraction (Computer Science)Code ObfuscationObfuscation (Software)Data ModelingAbstraction Technique
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1