This paper presents class hierarchy flattening, a novel obfuscation technique for programs written in object-oriented, managed programming languages. Class hierarchy flattening strives for maximally removing the inheritance relations from object-oriented programs, thus hiding the overall design of the program from reverse engineers and other attackers. We evaluate the potential of class hierarchy flattening by means of a fully automated prototype tool for Java bytecode. For real-life programs from the DaCapo benchmark suite, we demonstrate that the transformation effectively hinders both human and tool analyses, and that it does so at limited overheads
Computer applications are increasingly being written in object-oriented languages like Java and C++ ...
In general, Java bytecode programs can be decompiled into source code. From the standpoint of protec...
Decompilation is the process of translating object code to source code and is usually the first step...
This paper presents class hierarchy flattening, a novel obfuscation technique for programs written i...
Abstract—Bytecoded.Net and Java programs reveal type infor-mation through encoded type hierarchies, ...
Bytecoded .Net and Java programs reveal type information through encoded type hierarchies, casts, fi...
To protect valuable assets embedded in software against reverse-engineering attacks, software obfusc...
In Java programs, it is difficult to protect intellectual property rights and secret information in ...
To ensure platform independence, mobile programs are distributed in forms that are isomorphic to the...
SCI, Impact Factor: 1.148 ISI Journal Citation Reports © Ranking: 2013: 41/105 (Computer Science Sof...
Bytecode, Java’s binary form, is relatively high-level and therefore susceptible to decompilation at...
International audienceHigh-level languages such as Java, .NET and Javascript are usually considered ...
ode obfuscation is a popular approach to turn program comprehension and analysis harder, with the ai...
Abstract — Software obfuscation or obscuring a software is an approach to defeat the practice of rev...
Obfuscation is a very common protection against reverse engineering attacks: it modifies a program ...
Computer applications are increasingly being written in object-oriented languages like Java and C++ ...
In general, Java bytecode programs can be decompiled into source code. From the standpoint of protec...
Decompilation is the process of translating object code to source code and is usually the first step...
This paper presents class hierarchy flattening, a novel obfuscation technique for programs written i...
Abstract—Bytecoded.Net and Java programs reveal type infor-mation through encoded type hierarchies, ...
Bytecoded .Net and Java programs reveal type information through encoded type hierarchies, casts, fi...
To protect valuable assets embedded in software against reverse-engineering attacks, software obfusc...
In Java programs, it is difficult to protect intellectual property rights and secret information in ...
To ensure platform independence, mobile programs are distributed in forms that are isomorphic to the...
SCI, Impact Factor: 1.148 ISI Journal Citation Reports © Ranking: 2013: 41/105 (Computer Science Sof...
Bytecode, Java’s binary form, is relatively high-level and therefore susceptible to decompilation at...
International audienceHigh-level languages such as Java, .NET and Javascript are usually considered ...
ode obfuscation is a popular approach to turn program comprehension and analysis harder, with the ai...
Abstract — Software obfuscation or obscuring a software is an approach to defeat the practice of rev...
Obfuscation is a very common protection against reverse engineering attacks: it modifies a program ...
Computer applications are increasingly being written in object-oriented languages like Java and C++ ...
In general, Java bytecode programs can be decompiled into source code. From the standpoint of protec...
Decompilation is the process of translating object code to source code and is usually the first step...