Open Access
ARTICLE
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,
Intelligent Automation & Soft Computing 2019, 25(1), 143-153. https://doi.org/10.31209/2018.100000051
Abstract
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.
Keywords
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. https://doi.org/10.31209/2018.100000051