International Journal of Computer Science and Mobile Computing (IJCSMC)
Code obfuscation is a set of program transformations that make program code and program execution difficult to analyze. First of all, obfuscation hinders manual inspection of program internals. By renaming variables and functions, and breaking down structures, it protects against reverse-engineering. It protects both storage and usage of keys and it can hide certain properties such as a software fingerprint or a watermark, or even the location of a flaw in case of an obfuscated patch. However, code obfuscation itself does not protect from code lifting or software piracy.