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

8 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)

Introducing dynamic name resolution mechanism for obfuscating system-defined names in programs. / Tamada, Haruaki; Nakamura, Masahide; Monden, Akito; Matsumoto, Ken Hichi.

Proceedings of the IASTED International Conference on Software Engineering, SE 2008. 2008. p. 125-130.

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

Tamada, H, Nakamura, M, Monden, A & Matsumoto, KH 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, IASTED International Conference on Software Engineering, SE 2008, Innsbruck, Austria, 2/12/08.
Tamada H, Nakamura M, Monden A, Matsumoto KH. Introducing dynamic name resolution mechanism for obfuscating system-defined names in programs. In Proceedings of the IASTED International Conference on Software Engineering, SE 2008. 2008. p. 125-130
Tamada, Haruaki ; Nakamura, Masahide ; Monden, Akito ; Matsumoto, Ken Hichi. / Introducing dynamic name resolution mechanism for obfuscating system-defined names in programs. Proceedings of the IASTED International Conference on Software Engineering, SE 2008. 2008. pp. 125-130
@inproceedings{5c81b2651ad1463b8dd28bc04a84fa43,
title = "Introducing dynamic name resolution mechanism for obfuscating system-defined names in programs",
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.",
keywords = "Copyright issue, Obfuscation, Program transformation, Reflection",
author = "Haruaki Tamada and Masahide Nakamura and Akito Monden and Matsumoto, {Ken Hichi}",
year = "2008",
language = "English",
isbn = "9780889867154",
pages = "125--130",
booktitle = "Proceedings of the IASTED International Conference on Software Engineering, SE 2008",

}

TY - GEN

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

AU - Tamada, Haruaki

AU - Nakamura, Masahide

AU - Monden, Akito

AU - Matsumoto, Ken Hichi

PY - 2008

Y1 - 2008

N2 - 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.

AB - 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.

KW - Copyright issue

KW - Obfuscation

KW - Program transformation

KW - Reflection

UR - http://www.scopus.com/inward/record.url?scp=62849110579&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=62849110579&partnerID=8YFLogxK

M3 - Conference contribution

AN - SCOPUS:62849110579

SN - 9780889867154

SP - 125

EP - 130

BT - Proceedings of the IASTED International Conference on Software Engineering, SE 2008

ER -