ISSN: 2182-2069 (printed) / ISSN: 2182-2077 (online)
A Comparative Study on Optimization, Obfuscation, and Deobfuscation Tools in Android
Code optimization is a program transformation process to make the program work more efficiently or consume fewer resources. Code obfuscation transforms a program and makes its code more difficult for a human to understand, which protects the code from reversing engineering. Deobfuscation is reverse-engineering the obfuscation. Optimization and obfuscation are widely used in Android apps. R8, the Android build process’s default tool, does all of the code shrinking, obfuscation, and optimization. This paper compares and analyzes the functionalities of optimization, obfuscation, and deobfuscation tools in the Android platform. Besides R8, the other tools covered in this paper are ReDex, Obfuscapk, and DeGuard, which are optimization, obfuscation, and deobfuscation tools for Android apps, respectively. We investigate the characteristics of the four tools and compare their performance by performing experiments.