首页
社区
课程
招聘
[原创]C++类虚函数逆向学习总结
发表于: 2008-3-2 18:27 29093

[原创]C++类虚函数逆向学习总结

2008-3-2 18:27
29093
收藏
免费 7
支持
分享
最新回复 (30)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
00401131  |.  034A 04       add     ecx, dword ptr [edx+4]           ;  ecx传递clsA类this指针,但为什么未指向变量a在栈的起始地址,而指向虚基类?
(因为这个虚基表是w的)
00401134  |.  8B45 C4       mov     eax, dword ptr [ebp-3C]
00401137  |.  8B10          mov     edx, dword ptr [eax]
00401139  |.  8B42 04       mov     eax, dword ptr [edx+4]           ;  clsB类首地址至虚基类w的偏移长度
0040113C  |.  8B55 C4       mov     edx, dword ptr [ebp-3C]
0040113F  |.  8B0402        mov     eax, dword ptr [edx+eax]         ;  取虚函数地址表vtable
00401142  |.  FF10          call    dword ptr [eax]                  ;  pb->show();
00401144  |.  8B4D C0       mov     ecx, dword ptr [ebp-40]
00401147  |.  83C1 0C       add     ecx, 0C                          ;  ecx传递clsC类this指针,但为什么未指向变量a的clsC基类地址,而指向clsA类的m_b变量地址?
(ECX指向的不是clsA类的m_b,而是A的m_c的后一地址,这个地址用于计算与其他成员变量的偏移,和你说的一样)
2009-8-17 17:36
0
雪    币: 346
活跃值: (129)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
27
我觉得也挺不简单了~! 楼主加油
2010-10-19 15:58
0
雪    币: 249
活跃值: (71)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
28
楼主,能不能把参数之类的地址讲清楚一些啊,感觉难度很大啊!
2011-7-20 14:25
0
雪    币: 90
活跃值: (91)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
29
潜力贴留名.Opera插图补丁.颜色补丁.字数补丁..
2011-7-20 14:34
0
雪    币: 527
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
30
[QUOTE=dragonyjd;423227][摘要]受menting影响,也对C++也逆向了一把.由于刚刚接触逆向,都是自己学习总结的,又是第一次发贴,因此不免有误解之处,还请各位多多指教,谢谢.

[正文]先来看一下C++类的虚函数的实例:
class clsC
{
private:
 &...[/QUOTE]回去慢慢研究,多谢楼主
2011-11-30 13:47
0
雪    币: 310
活跃值: (159)
能力值: ( LV12,RANK:200 )
在线值:
发帖
回帖
粉丝
31
迟来的回复
2012-12-31 11:47
0
游客
登录 | 注册 方可回帖
返回
//