Volume 6 - Issue 4
Effects of Code Obfuscation on Android App Similarity Analysis
- Jonghwa Park
Dankook University, Yongin, Korea
72150262@dankook.ac.kr
- Hyojung Kim
Dankook University, Yongin, Korea
72150251@dankook.ac.kr
- Younsik Jeong
Dankook University, Yongin, Korea
jeongyousik@dankook.ac.kr
- Seong-je Cho
Dankook University, Yongin, Korea
sjcho@dankook.ac.kr
- Sangchul Han
Konkuk University, Chungju, Korea
schan@kku.ac.kr
- Minkyu Park
Konkuk University, Chungju, Korea
minkyup@kku.ac.kr
Keywords: code obfuscation, Android app, software similarity, software birthmark, reverse engineering
Abstract
Code obfuscation is a technique to transform a program into an equivalent one that is harder to be
reverse engineered and understood. On Android, well-known obfuscation techniques are shrinking,
optimization, renaming, string encryption, control flow transformation, etc. On the other hand, adversaries
may also maliciously use obfuscation techniques to hide pirated or stolen software. If pirated
software were obfuscated, it would be difficult to detect software theft. To detect illegal software
transformed by code obfuscation, one possible approach is to measure software similarity between
original and obfuscated programs and determine whether the obfuscated version is an illegal copy of
the original version. In this paper, we analyze empirically the effects of code obfuscation on Android
app similarity analysis. The empirical measurements were done on five different Android apps with
DashO obfuscator. Experimental results show that similarity measures at bytecode level are more
effective than those at source code level to analyze software similarity.