A Comparative Study of Java Obfuscators

J. MacBride, C. Mascioli, S. Marks, Y. Tang, L.M. Head, and R.P. Ramachandran (USA)


Measurement, Performance, Security, Java obfuscation, Performance analysis, Complexity


The use of Java is growing due to its platform independence and ability to be transferred easily across the internet. Although these features are advantageous, software becomes more susceptible to theft and misuse since the original source code is preserved in bytecode format. One viable protection technique that has gained increasing attention is code obfuscation, which unintelligibly transforms the source code making it more difficult to reverse engineer, while preserving functionality. With a plethora of commercial obfuscation tools available, to analyze and evaluate the strength of these programs is paramount. Although the methods employed for obfuscation are not as plentiful as the number of programs available, the importance of evaluating these methods is commensurate. This paper focuses on the performance of two commercial obfuscators, DashO-Pro and KlassMaster, solely employing the method of control flow obfuscation. Qualitative analysis is conducted by obfuscating three different sorting algorithms with increasing complexity. The relationship between the performance of each program and the complexity of the source code is then established.

Important Links:

Go Back