首页
社区
课程
招聘
[讨论]关于类的实例变量内存数据的逆向分析
发表于: 2007-10-23 17:34 4846

[讨论]关于类的实例变量内存数据的逆向分析

2007-10-23 17:34
4846
测试源码如下:

#include "stdafx.h"       
#include <stdio.h>

class Class1
{
public:
        Class1();
        virtual ~Class1(){};
        int TestFunc(int i);

private:
        int x1;
};

Class1::Class1()
{
        x1=0x1234;
}

int Class1::TestFunc(int i)
{
        x1 += i;
        return x1;       
}

void main()
{
        _asm int 3
        Class1 C1;
        int a=C1.TestFunc(3);
}

逆向分析Class1 C1构造函数时,其反汇编代码如下:

00401000   mov         eax,ecx                               
00401002   mov         dword ptr [eax],4050A0h                ;4050A0h 是什么数据,有何作用?
00401008   mov         dword ptr [eax+4],1234h                ;x1=0x1234;
0040100F   ret

说明:源码中C1的构造函数只有一条语句:x1=0x1234, 而在其汇编代码中却多了一条:mov   dword ptr [eax],4050A0h

这是往C1变量空间的第一个DWORD单元传送的一个数据,这个4050A0h 是什么数据,有何作用?请高手指点,谢谢!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 325
活跃值: (97)
能力值: ( LV13,RANK:530 )
在线值:
发帖
回帖
粉丝
2
class Class1
{
public:
  Class1();
  virtual ~Class1(){};
  int TestFunc(int i);

private:
  int x1;
};

Class1::Class1()
{
00411420  push        ebp  
00411421  mov         ebp,esp
00411423  sub         esp,0CCh
00411429  push        ebx  
0041142A  push        esi  
0041142B  push        edi  
0041142C  push        ecx  
0041142D  lea         edi,[ebp-0CCh]
00411433  mov         ecx,33h
00411438  mov         eax,0CCCCCCCCh
0041143D  rep stos    dword ptr es:[edi]
0041143F  pop         ecx  
00411440  mov         dword ptr [ebp-8],ecx
00411443  mov         eax,dword ptr [this]
00411446  mov         dword ptr [eax],offset Class1::`vftable' (416740h)
  x1=0x1234;
0041144C  mov         eax,dword ptr [this]
0041144F  mov         dword ptr [eax+4],1234h
}

00411456  mov         eax,dword ptr [this]
00411459  pop         edi  
0041145A  pop         esi  
0041145B  pop         ebx  
0041145C  mov         esp,ebp
0041145E  pop         ebp  
0041145F  ret
2007-10-23 17:43
0
雪    币: 226
活跃值: (15)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
很好,很强大,很完美,ok and ok,too strong,too big.sustain to my.again to my.
2007-10-23 17:47
0
雪    币: 8209
活跃值: (4528)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
4
威猛,一个比一个威猛
2007-10-23 17:51
0
雪    币: 266
活跃值: (52)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
5
谢谢foxabu大哥指点,vftable 是什么东东?有什么作用?,恳请进一步赐教,十分感谢!
2007-10-23 17:52
0
雪    币: 331
活跃值: (56)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
6
虚函数表~~
2007-10-23 18:04
0
雪    币: 266
活跃值: (52)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
7
多谢各位大侠指点,明白了,谢谢!
2007-10-23 18:20
0
游客
登录 | 注册 方可回帖
返回
//