Abstract. We present a reverse-engineering tool, called Lego, which recovers class hierarchies and composition relationships from stripped binaries. Lego takes a stripped binary as input, and uses information obtained from dynamic analysis to (i) group the functions in the binary into classes, and (ii) identify inheritance and composition relationships between the inferred classes. The software artifacts recovered by Lego can be subsequently used to understand the object-oriented design of software systems that lack documentation and source code, e.g., to en-able interoperability. Our experiments show that the class hierarchies recovered by Lego have a high degree of agreement—measured in terms of precision and recall—with the hierarchy def...
In maintenance of object-oriented software,one of the most important concepts is inheritance,which o...
This paper presents class hierarchy flattening, a novel obfuscation technique for programs written i...
Software reuse is one of the most advertised advantages of object-orientation. Inheritance, in all i...
Abstract—Reverse engineering is the process of examining and probing a program to determine the orig...
Several reverse engineering methods for recovering objects from legacy systems have been proposed in...
Because of incomplete specifications or inadequate design decisions, software components developed w...
Abstract. Inheritance is one of the most important object-oriented mechanisms, allowing code reuse a...
Context: Inheritance is the cornerstone of object-oriented development, supporting conceptual modeli...
International audienceObject-oriented software may show signs of procedural thinking because of lack...
Inheritance reasoning is ubiquitous. Hierarchies provide a concise encoding of much of our common se...
A recurring problem in security is reverse engineering binary code to recover high-level language da...
Object-oriented software may show signs of procedural thinking because of lack of design or due to d...
An appropriate understanding of the source code is one of the necessary steps for resolving errors a...
A recurring problem in security is reverse engineering binary code to recover high-level language da...
Within object-oriented systems there are different meaningful dependencies between different objects...
In maintenance of object-oriented software,one of the most important concepts is inheritance,which o...
This paper presents class hierarchy flattening, a novel obfuscation technique for programs written i...
Software reuse is one of the most advertised advantages of object-orientation. Inheritance, in all i...
Abstract—Reverse engineering is the process of examining and probing a program to determine the orig...
Several reverse engineering methods for recovering objects from legacy systems have been proposed in...
Because of incomplete specifications or inadequate design decisions, software components developed w...
Abstract. Inheritance is one of the most important object-oriented mechanisms, allowing code reuse a...
Context: Inheritance is the cornerstone of object-oriented development, supporting conceptual modeli...
International audienceObject-oriented software may show signs of procedural thinking because of lack...
Inheritance reasoning is ubiquitous. Hierarchies provide a concise encoding of much of our common se...
A recurring problem in security is reverse engineering binary code to recover high-level language da...
Object-oriented software may show signs of procedural thinking because of lack of design or due to d...
An appropriate understanding of the source code is one of the necessary steps for resolving errors a...
A recurring problem in security is reverse engineering binary code to recover high-level language da...
Within object-oriented systems there are different meaningful dependencies between different objects...
In maintenance of object-oriented software,one of the most important concepts is inheritance,which o...
This paper presents class hierarchy flattening, a novel obfuscation technique for programs written i...
Software reuse is one of the most advertised advantages of object-orientation. Inheritance, in all i...