Open Access
ARTICLE
Protecting Android Applications with Multiple DEX Files Against Static Reverse Engineering Attacks
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
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.