Vol.25, No.1, 2019, pp.143-153, doi:10.31209/2018.100000051
Protecting Android Applications with Multiple DEX Files Against Static Reverse Engineering Attacks
  • Kyeonghwan Lim1, Nak Young Kim1, Younsik Jeong1, Seong-je Cho1, Sangchul Han2, Minkyu Park2
1 Dankook University, Yongin-si, Gyeonggi-do 16890 Korea
{limkh120, iuasdofil, jeongyousik, sjcho}@dankook.ac.kr
2 Konkuk University, Chungju-si, Chungbuk-do 27478 Korea
{schan, minkyup}@kku.ac.kr
* Corresponding Author: Minkyu Park,
The Android application package (APK) uses the DEX format as an executable file format. Since DEX files are in Java bytecode format, you can easily get Java source code using static reverse engineering tools. This feature makes it easy to steal Android applications. Tools such as ijiami, liapp, alibaba, etc. can be used to protect applications from static reverse engineering attacks. These tools typically save encrypted classes.dex in the APK file, and then decrypt and load dynamically when the application starts. However, these tools do not protect multidex Android applications. A multidex Android application is an APK that contains multiple DEX files, mostly used in a large-scale application. We propose a method to protect multidex Android applications from static reverse engineering attacks. The proposed method encrypts multiple DEX files and stores them in an APK file. When an APK is launched, encrypted DEX files are decrypted and loaded dynamically. Experiment results show that the proposed method can effectively protect multidex APKs.
Reverse engineering, Android, Multidex, Packing, Dynamic code loading
Cite This Article
K. Lim, N. Y. Kim, Y. Jeong, S. Cho, S. Han et al., "Protecting android applications with multiple dex files against static reverse engineering attacks," Intelligent Automation & Soft Computing, vol. 25, no.1, pp. 143–153, 2019.
This work is licensed under a Creative Commons Attribution 4.0 International License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.