Debugging symbols in binary executables carry the names of functions and global variables. When present, they greatly simplify the process of reverse engineering, but they are almost always removed (stripped) for deployment. We present the design and implementation of punstrip, a tool which combines a probabilistic fingerprint of binary code based on high-level features with a probabilistic graphical model to learn the relationship between function names and program structure. As there are many naming conventions and developer styles, functions from different applications do not necessarily have the exact same name, even if they implement the exact same functionality. We therefore evaluate punstrip across three levels of name matching: exac...
Code reuse detection is a key technique in reverse engineering. However, existing source code simila...
AbstractBinary analysis is useful in many practical applications, such as the detection of malware o...
<p>Matching function binaries—the process of identifying similar functions among binary executables—...
Reverse engineers benefit from the presence of identifiers such as function names in a binary, but u...
AbstractThe capability of efficiently recognizing reused functions for binary code is critical to ma...
Predicting function names in stripped binaries is an extremely useful but challenging task, as it re...
<p>Function identification is a fundamental challenge in reverse engineering and binary program anal...
Binary-binary function matching problem serves as a plinth in many reverse engineering techniques su...
Reverse engineering of executable binary programs has diverse applications in computer security and ...
Abstract Binary code similarity analysis is widely used in the field of vulnerability search where s...
Similar code may exist in large software projects due to some com-mon software engineering practices...
Compiler provenance encompasses numerous pieces of information, such as the compiler family, compile...
AbstractCompiler provenance encompasses numerous pieces of information, such as the compiler family,...
Why was this binary written? Which compiler was used? Which free software packages did the develope...
Descriptive names are a vital part of readable, and hence maintain-able, code. Recent progress on au...
Code reuse detection is a key technique in reverse engineering. However, existing source code simila...
AbstractBinary analysis is useful in many practical applications, such as the detection of malware o...
<p>Matching function binaries—the process of identifying similar functions among binary executables—...
Reverse engineers benefit from the presence of identifiers such as function names in a binary, but u...
AbstractThe capability of efficiently recognizing reused functions for binary code is critical to ma...
Predicting function names in stripped binaries is an extremely useful but challenging task, as it re...
<p>Function identification is a fundamental challenge in reverse engineering and binary program anal...
Binary-binary function matching problem serves as a plinth in many reverse engineering techniques su...
Reverse engineering of executable binary programs has diverse applications in computer security and ...
Abstract Binary code similarity analysis is widely used in the field of vulnerability search where s...
Similar code may exist in large software projects due to some com-mon software engineering practices...
Compiler provenance encompasses numerous pieces of information, such as the compiler family, compile...
AbstractCompiler provenance encompasses numerous pieces of information, such as the compiler family,...
Why was this binary written? Which compiler was used? Which free software packages did the develope...
Descriptive names are a vital part of readable, and hence maintain-able, code. Recent progress on au...
Code reuse detection is a key technique in reverse engineering. However, existing source code simila...
AbstractBinary analysis is useful in many practical applications, such as the detection of malware o...
<p>Matching function binaries—the process of identifying similar functions among binary executables—...