An instruction folding method to prevent reverse engineering in java platform

Tetsuya Ohdo, Haruaki Tamada, Yuichiro Kanzaki, Akito Monden

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

Abstract

To improve tamper resistance of programs against illegal modification, this paper proposes instruction folding applicable to Java platform. In the proposed method, at first, similar methods are selected in a Java program. Next, these methods are merged into one method and diffs among these methods are stored in the program. Then, at runtime, when one of the merged methods is executed, diffs are restored by self-modification, which is realized by the Java instrumentation mechanism. The proposed method is resilient against tampering of folded method. Even if an adversary modifies the folded method, the program goes crash because the method is repeatedly modified at runtime.

Original languageEnglish
Title of host publicationSNPD 2013 - 14th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing
Pages517-522
Number of pages6
DOIs
Publication statusPublished - Oct 28 2013
Externally publishedYes
Event14th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing, SNPD 2013 - Honolulu, HI, United States
Duration: Jul 1 2013Jul 3 2013

Publication series

NameSNPD 2013 - 14th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing

Other

Other14th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing, SNPD 2013
Country/TerritoryUnited States
CityHonolulu, HI
Period7/1/137/3/13

Keywords

  • Java
  • bytecode
  • instruction folding
  • software protection
  • tamper-resistant soft- ware

ASJC Scopus subject areas

  • Artificial Intelligence
  • Software

Fingerprint

Dive into the research topics of 'An instruction folding method to prevent reverse engineering in java platform'. Together they form a unique fingerprint.

Cite this