<link rel="stylesheet" href="styles.cf390c6bfbe7555f.css"> Skip to main content

Advanced obfuscation techniques for Java bytecode

dc.citation.epage10en_US
dc.citation.issue1-2en_US
dc.citation.spage1en_US
dc.citation.volume71en_US
dc.citation.woscount16
dc.contributor.authorChan, JTen_US
dc.contributor.authorYang, Wen_US
dc.contributor.department資訊工程學系zh_TW
dc.contributor.departmentDepartment of Computer Scienceen_US
dc.date.accessioned2014-12-08T15:39:21Z
dc.date.available2014-12-08T15:39:21Z
dc.date.issued2004-04-01en_US
dc.description.abstractThere exist several obfuscation tools for preventing Java bytecode from being decompiled. Most of these tools simply scramble the names of the identifiers stored in a bytecode by substituting the identifiers with meaningless names. However, the scrambling technique cannot deter a determined cracker very long. We propose several advanced obfuscation techniques that make Java bytecode impossible to recompile or make the decompiled program difficult to understand and to recompile. The crux of our approach is to over use an identifier. That is, an identifier can denote several entities, such as types, fields, and methods, simultaneously. An additional benefit is that the size of the bytecode is reduced because fewer and shorter identifier names are used. Furthermore, we also propose several techniques to intentionally introduce syntactic and semantic errors into the decompiled program while preserving the original behaviors of the bytecode. Thus, the decompiled program would have to be debugged manually. Although our basic approach is to scramble the identifiers in Java bytecode, the scrambled bytecode produced with our techniques is much harder to crack than that produced with other identifier scrambling techniques. Furthermore, the run-time efficiency of the obfuscated bytecode is also improved because the size of the bytecode becomes smaller after obfuscation. (C) 2002 Elsevier Inc. All rights reserved.en_US
dc.identifier.doi10.1016/S0164-1212(02)00066-3en_US
dc.identifier.issn0164-1212en_US
dc.identifier.journalJOURNAL OF SYSTEMS AND SOFTWAREen_US
dc.identifier.urihttp://dx.doi.org/10.1016/S0164-1212(02)00066-3en_US
dc.identifier.urihttps://ir.lib.nycu.edu.tw/handle/11536/26885
dc.identifier.wosnumberWOS:000220336900001
dc.language.isoen_USen_US
dc.subjectprogram protectionen_US
dc.subjectbytecode obfuscationen_US
dc.subjectJava programming languageen_US
dc.titleAdvanced obfuscation techniques for Java bytecodeen_US
dc.typeArticleen_US

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
000220336900001.pdf
Size:
348.2 KB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed to upon submission
Description: