首页
社区
课程
招聘
[原创]偷梁换柱虚函数
发表于: 2008-8-31 17:53 16290

[原创]偷梁换柱虚函数

2008-8-31 17:53
16290

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

上传的附件:
收藏
免费 7
支持
分享
最新回复 (26)
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
2
支持~~~~~~~~
2008-8-31 19:03
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
LZ还是下了功夫,几张图说明了一切:)
2008-8-31 19:48
0
雪    币: 247
活跃值: (10)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
4
上传一下代码
:)

四个Mission
上传的附件:
2008-8-31 19:54
0
雪    币: 101
活跃值: (12)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
5
http://www.openrce.org/articles/full_view/23
2008-8-31 20:13
0
雪    币: 247
活跃值: (10)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
6
不错不错,
有点重复劳动了
2008-8-31 20:22
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
7
对虚函数指针进行处理,可以绕过很多保护系统
2008-8-31 21:55
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
楼主mission1 的这条语句说法是不是有点问题?因为本来调用的就是b对像的print_all()函数啊. 你后面那句我没看明白...

call dword ptr [eax]              //调用b对象的函数B::print_all(),但是实际上传入a对象的变量

或者是我根本就没有看懂?
2008-8-31 23:02
0
雪    币: 334
活跃值: (22)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
很有启发,
2008-8-31 23:03
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
学习了,但是有一点不是很清楚,可能是我基础问题
第一个mission中为什么调用b的B::print_all()但是输入却是A的变量
2008-8-31 23:07
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
11
幸亏还有一句没说
2008-8-31 23:17
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
12
很汗。。。本论坛有会员翻译过的。。。
http://bbs.pediy.com/showthread.php?t=36539
2008-9-1 00:12
0
雪    币: 247
活跃值: (10)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
13
[QUOTE=icetowater;503581]楼主mission1 的这条语句说法是不是有点问题?因为本来调用的就是b对像的print_all()函数啊. 你后面那句我没看明白...

call dword ptr [eax]              //调用b对象的函数B::print_all(),但是实际上传入a对象的变量

或者是我根...[/QUOTE]

是我的错,现在就修改
2008-9-1 07:51
0
雪    币: 247
活跃值: (10)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
14
实在抱歉,我写错了
已改正
2008-9-1 07:56
0
雪    币: 247
活跃值: (10)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
15
谢谢斑竹帮忙找到,俺们也学习了

PS:忽然发觉俺的重复劳动不小啊,汗
2008-9-1 07:57
0
雪    币: 331
活跃值: (56)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
16
.rdata和对象有效性验证迟早会流行。
2008-9-1 09:35
0
雪    币: 268
活跃值: (95)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
17
很好,学习!
2008-9-1 13:32
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
谢谢大家,有帮助
2008-12-4 21:01
0
雪    币: 360
活跃值: (77)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
19
研究的很有意思,
2008-12-4 22:45
0
雪    币: 212
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
20
mark 学习了
2008-12-4 23:24
0
雪    币: 1505
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
21
顶楼主 一看到ecx esi就感到很xx
2008-12-4 23:34
0
雪    币: 190
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
22
汇编很帅吗?
1        ((B*)&a)->print_all();

2        DWORD p = *(DWORD*)pA;
        *(DWORD*)pA = *(DWORD*)pB;
        *(DWORD*)pB = p;
2008-12-5 21:37
0
雪    币: 190
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
23
DWORD *ptA = (DWORD*)*(DWORD*)pA;
        DWORD *ptB = (DWORD*)*(DWORD*)pB;
         ptB[1] =ptA[1] ;
看见ESI ECX就很知道很黄很暴力
2008-12-5 21:55
0
雪    币: 124
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
24
学习,支持~~~~~
2008-12-6 18:49
0
雪    币: 207
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
支持楼主的辛勤劳动.很好很使用的文章.
顺便弱弱的问下:

楼主画图是用的啥软件啊?
2008-12-7 00:37
0
游客
登录 | 注册 方可回帖
返回
//