Browse > Article
http://dx.doi.org/10.9708/jksci.2013.18.10.129

An Effective Java Obfuscation Technique Using Assignment Statements Merging  

Lee, Kyong-Ho (School of Information & Communication Engineering, Halla University)
Park, Hee-Wan (School of Information & Communication Engineering, Halla University)
Abstract
Java bytecodes are executed not on target machine but on the Java virtual machines. Since this bytecodes use a higher level representation than binary code, it is possible to decompile most bytecodes back to Java source. Obfuscation is the technique of obscuring code and it makes program difficult to understand. However, most of the obfuscation techniques make the code size and the performance of obfuscated program bigger and slower than original program. In this paper, we proposed an effective Java obfuscation techniques using assignment statements merging that make the source program difficult to understand. The basic approach is to merge assignments statements to append side effects of statement. An additional benefit is that the size of the bytecode is reduced.
Keywords
Java bytecode; Code obfuscation; Side effects; Assignment Statements merging; Software Protection;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Christian Collberg, Clark Thomborson, "Watermarking, Tamper-Proofing, and Obfuscation - Tools for Software Protection," IEEE Transactions on Software Engineering, vol.28, no.8, pp.735-746, 2002.   DOI   ScienceOn
2 Christian Collberg, Clark Thomborson, Douglas Low, "Manufacturing Cheap, Resilient, and Stealthy Opaque Constructs," Proc. of the Principles of Programming Languages, POPL98, pp.184-196, Jan. 1998.
3 Christian Collberg, Clark Thomborson, Douglas Low, "Breaking Abstractions and Unstructuring Data Structures," Proc. of the International Conference on Computer Languages, ICCL98, pp.28-38. 1998.
4 Christian Collberg, Clark Thomborson, Douglas Low, "A Taxonomy of Obfuscating Transformation," Technical Report #148, Department of Computer Science, The University of Auckland, 1997.
5 Jien-Tasi Chan, Wuu Yang, "Advanced Obfuscations on Java Bytecode," Journal of Systems and Software, vol.71, no.1-2, pp.1-10, Apr. 2004.   DOI   ScienceOn
6 E. Kim, K. Han, "A Study on the Code Obfuscation Technique for Java Source Code," Proc. of the 35th KIISE Fall Conference, vol.35, no.2(A), pp. 307-308, Oct. 2008.
7 P. Yuxue, J. Jung, J. Lee, "The Technological Trend of the Mobile Obfuscation," Information & Communications Magazine, vol.29, no.8, pp.65-71, Jul. 2012.
8 Mark Harman, Lin Hu, Xingyuan Zhang Malcolm Munro., "Side-Effect Removal Transformation," 9th IEEE International Workshop on Program Comprehension (IWPC 2001). Toronto, Canada, pp. 309-319, May. 2001.
9 Mark Harman, Lin Hu, Rob Hierons, Xingyuan Zhang, Malcolm Munro, Jose Javier Dolado, Mari Carmen Otero and Joachim Wegener, "A Post-Placement Side-Effect Removal Algorithm," 18th IEEE International Conference on Software Maintenance (ICSM 2002), Montreal, Canada. pp.2-11, Oct. 2002.
10 Lars R. Clausen, "A Java Bytecode Optimizer Using Side-effect Analysis," Concurrency and Computation : Practice and Experience, vol.9, no.11, pp.1031-1045, 1997.   DOI   ScienceOn
11 Chrislain Razafimahefa, "A Study of Side-effect Analyses for Java," MS Thesis, School of Computer Science, McGill University, 1999.
12 JJ. Dolado, M.Harman, M.C. Otero, and L.Hu, "An Empirical Investigation of the Influence of a Type of Side Effects on ProgramComprehension," IEEE Transactions on Software Engineering, vol.29, no.7, pp.665-670, Jul. 2003.   DOI   ScienceOn