A Comparative Study on Optimization,
Obfuscation, and Deobfuscation Tools in Android 1Dept.
of Computer Science & Engineering, Dankook University, Yongin, Republic of Korea 2KT
Infra Lab, Seoul,
Republic of Korea erewe4@dankook.ac.kr 3School
of Information Technology, Illinois
State University, Normal, IL, USA hhan12@ilstu.edu Abstract 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. Keywords: Android
app, Obfuscation, De-obfuscation, Optimization, R8 compiler, ReDex. Obfuscapk, DeGuard +: Corresponding author: Department of Computer Science
& Engineering, Dankook University, 152 Jukjeonro, Journal of Internet
Services and Information Security (JISIS), 11(1):
2-15, February 2021 Received:
December 10, 2020; Accepted: February 5, 2021; Published: February 28, 2021 DOI:
10.22667/JISIS.2021.02.28.002 [pdf] |