Reverse Engineering for Beginners

(avery) #1

CHAPTER 51. C++ CHAPTER 51. C++


Chapter 51


C++


51.1 Classes.


51.1.1 A simple example


Internally, the representation of C++ classes is almost the same as the structures.


Let’s try an example with two variables, two constructors and one method:


#include <stdio.h>


class c
{
private:
int v1;
int v2;
public:
c() // default ctor
{
v1=667;
v2=999;
};


c(int a, int b) // ctor
{
v1=a;
v2=b;
};

void dump()
{
printf ("%d; %d\n", v1, v2);
};
};


int main()
{
class c c1;
class c c2(5,6);


c1.dump();
c2.dump();

return 0;
};


MSVC—x86


Here is how themain()function looks like, translated into assembly language:

Free download pdf