Introducing Dynamic Name Resolution Mechanism for Obfuscating System-Defined Names in Programs

H. Tamada, M. Nakamura, A. Monden, and K.-i. Matsumoto (Japan)


copyright issue, obfuscation, reflection, program transfor mation


Name obfuscation is a software protection technique, which renames identifiers in a given program, to protect the program from illegal cracking. The conventional meth ods replace names appearing in the declaration part with the meaningless ones. Therefore, the methods cannot be used to obfuscate names declared in system libraries, since changing such system-defined names significantly dete riorates the program portability. This paper presents a new name obfuscation method, which can hide appear ance of the system-defined names. In the proposed method, the system-defined names are statically encrypted, and the original names are resolved during run time using the re flection. An experimental evaluation on the Java platform showed that the run-time overhead for the obfuscated pro gram was 1.74 times larger than the one for the original.

Important Links:

Go Back