arrow
Return

Pushing Java Type Obfuscation to the Limit

delete2014-11-01
delete6
delete
OA
AI
C
Christophe Foket *
B
Bjorn De Sutter
K
Koen De Bosschere
DOI:10.1109/TDSC.2014.2305990delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
Bytecoded .Net and Java programs reveal type information through encoded type hierarchies, casts, field declarations and method signatures. This facilitates bytecode verification, but it also helps reverse engineers. To obfuscate the type information, we combine three transformations. Class hierarchy flattening removes as much of the type hierarchy from programs as possible. Interface merging and object factory insertion further remove type information from casts, method signatures, and object creation sites. We evaluate these techniques with a prototype tool for Java bytecode. On real-life programs from the DaCapo benchmark suite, we demonstrate that our approach effectively hinders human and tool analysis with limited overhead.
Keywords:
Java bytecode
obfuscation
class hierarchy
type information
points-to sets
understandability
performance
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

IEEE Transactions on Dependable and Secure Computing cover
IEEE Transactions on Dependable and Secure Computing
IF:
7.5
Papers:
2.4K
Citations:
9.6K

Organization

G
Ghent University
Scholars:
5.2W
Papers: 4.5W
Citations: 5.5W