Introducing dynamic name resolution mechanism for obfuscating system-defined names in programs

Haruaki Tamada, Masahide Nakamura, Akito Monden, Ken Hichi Matsumoto

Research output: Chapter in Book/Report/Conference proceedingConference contribution

9 Citations (Scopus)

Abstract

Name obfuscation is a software protection technique, which renames identifiers in a given program, to protect the program from illegal cracking. The conventional methods 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 deteriorates the program portability. This paper presents a new name obfuscation method, which can hide appearance 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 reflection. An experimental evaluation on the Java platform showed that the run-time overhead for the obfuscated program was 1.74 times larger than the one for the original.

Original languageEnglish
Title of host publicationProceedings of the IASTED International Conference on Software Engineering, SE 2008
Pages125-130
Number of pages6
Publication statusPublished - 2008
Externally publishedYes
EventIASTED International Conference on Software Engineering, SE 2008 - Innsbruck, Austria
Duration: Feb 12 2008Feb 14 2008

Other

OtherIASTED International Conference on Software Engineering, SE 2008
CountryAustria
CityInnsbruck
Period2/12/082/14/08

Keywords

  • Copyright issue
  • Obfuscation
  • Program transformation
  • Reflection

ASJC Scopus subject areas

  • Artificial Intelligence
  • Software

Cite this

Tamada, H., Nakamura, M., Monden, A., & Matsumoto, K. H. (2008). Introducing dynamic name resolution mechanism for obfuscating system-defined names in programs. In Proceedings of the IASTED International Conference on Software Engineering, SE 2008 (pp. 125-130)