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. |