TUM Logo

Automated Obfuscation of Android Applications

This bachelor’s thesis examines obfuscation techniques to protect Android applica- tions from unauthorized code analysis. The high amount of information contained in the portable bytecode of Android applications demands protection from reverse- engineering.Obfuscation makes it more difficult to understand and retrieve algorithms and data structures that can be obtained by reversing the code of a program.An overview of different obfuscation transformations is presented and the application of two of them is discussed in detail. Based on this theory, a framework for automated obfuscation of Android applications was developed.The framework consists of an Eclipse Builder Plugin for the integration into the Android development process and a set of transformers to apply obfuscation transfor- mations on the bytecode.It is capable of obfuscating identifiers and performing control flow flattening using transformers written in the Java language and can easily be extended with additional transformations.

Automated Obfuscation of Android Applications

Supervisor(s): Dennis Titze
Status: finished
Topic: Android stuff
Author: Nikolai Kircher
Submission: 2015-06-15
Type of Thesis: Bachelorthesis
Proof of Concept No
Thesis topic in co-operation with the Fraunhofer Institute for Applied and Integrated Security AISEC, Garching

Astract:

This bachelor’s thesis examines obfuscation techniques to protect Android applica- tions from unauthorized code analysis. The high amount of information contained in the portable bytecode of Android applications demands protection from reverse- engineering.Obfuscation makes it more difficult to understand and retrieve algorithms and data structures that can be obtained by reversing the code of a program.An overview of different obfuscation transformations is presented and the application of two of them is discussed in detail. Based on this theory, a framework for automated obfuscation of Android applications was developed.The framework consists of an Eclipse Builder Plugin for the integration into the Android development process and a set of transformers to apply obfuscation transfor- mations on the bytecode.It is capable of obfuscating identifiers and performing control flow flattening using transformers written in the Java language and can easily be extended with additional transformations.