Monday, May 12, 2008

What is obfuscation? How this technique works in Java?

Java code gets compiled in bytecode and getting this bytecode decompiled with readily available Java decompilers makes it unsafe. The code obfuscation is a technique with which Java code can be protected. A threat to reverse engineer Java code has been taken very seriously. As the language was designed to be compiled into bytecode which is portable and can get executed within its own runtime environment(JVM), reverse engineering of bytecode posed a threat to intellectual property.

The protection of code using encryption and decryption techniques,through software is not a good solution as it is always susceptibile to be decoded.Java code obfuscation is a technique which with some additional logical changes like changing the names of variables, methods and logical changes in control blocks of compiled code are done.Various freeware,shareware Java obfuscators use combinations of such techniques.Now when such Java code is decompiled then it becomes costly in terms of time and effort to make logically something out of this code.It basically adds some more code to change code structures.

Java Obfuscation is not the finest technique to safeguard Java code as it has limitations related to its delayed execution time due to transformed program.Moreover it may introduce in new bugs in your code in case of JNDI lookups, reflection calls existing in your original code.



Interview Questions On Java,Java EE Copyright © 2016. Reads: best tracker