Journals / IASC / Vol.,

Research Article

BEST PAPER 2021

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,

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

Reverse engineering, Android, Multidex, Packing, Dynamic code loading
  • 1416

    View

  • 3265

    Download

  • 100

    Like

Share Link

WeChat scan