|
We have been doing reverse engineering work professionally for several years now, and during the course of our career, we've seen an increasing number of malware using C++ year after year.
Now, we were also guilty of this, but reversers tend to analyze C++ code in the assembly level without understanding OOP concepts, doing it instead the way they analyze straight forward C code. We soon realized that obviously,
this is not an efficient approach. Thanks to the work of Halvar and the guys at openrce.org, some light has been shed into the subject of C++ reversing. This talk is our contribution to this subject.
In this talk, we will try to explain the steps in reversing a C++ binary, starting from the high level abstraction point view, down to the low level implementation details. We will then present ways to automate these steps, and we will also demonstrate the tools we developed.
|