Breaking abstractions and unstructuring data structures

  • Collberg C
  • Thomborson C
  • Low D
  • 34


    Mendeley users who have this article in their library.
  • 100


    Citations of this article.


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

Get free article suggestions today

Mendeley saves you time finding and organizing research

Sign up here
Already have an account ?Sign in

Find this document

Get full text


  • Christian Collberg

  • Clark Thomborson

  • Douglas Low

Cite this document

Choose a citation style from the tabs below

Save time finding and organizing research with Mendeley

Sign up for free