An Android API Obfuscation Tool using Reflection and String Encryption


KIPS Transactions on Computer and Communication Systems, Vol. 4, No. 1, pp. 23-30, Jan. 2015
10.3745/KTCCS.2015.4.1.23,   PDF Download:

Abstract

Reflection is a feature of the Java programming language that can examine and manipulate components of program itself. If you use the reflection, you can get an obfuscation effect of Java source because it converts sources into complicated structures. However, when using it, strings of components name of program are exposed. Therefore, it cannot prevent static analysis. In this paper, we presents a method and a tool of interfere with static analysis using reflection. And in this case, exposed strings are encoded using Vigenere cipher. Experimental results show that this tool is effective in increasing the overall complexity of the source code. Also the tool provides two types decryption method based on server and local. It can be selected based on the importance of the API because it affects the execution speed of the application.


Statistics
Show / Hide Statistics

Statistics (Cumulative Counts from September 1st, 2017)
Multiple requests among the same browser session are counted as one view.
If you mouse over a chart, the values of data points will be shown.


Cite this article
[IEEE Style]
J. H. Lee and H. W. Park, "An Android API Obfuscation Tool using Reflection and String Encryption," KIPS Transactions on Computer and Communication Systems, vol. 4, no. 1, pp. 23-30, 2015. DOI: 10.3745/KTCCS.2015.4.1.23.

[ACM Style]
Joo Hyuk Lee and Hee Wan Park. 2015. An Android API Obfuscation Tool using Reflection and String Encryption. KIPS Transactions on Computer and Communication Systems, 4, 1, (2015), 23-30. DOI: 10.3745/KTCCS.2015.4.1.23.