首页
社区
课程
招聘
[原创]程序逆向技术之二变量和常量
发表于: 2008-2-20 18:07 19341

[原创]程序逆向技术之二变量和常量

2008-2-20 18:07
19341
收藏
免费 7
支持
分享
最新回复 (43)
雪    币: 370
活跃值: (57)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
菜鸟喜欢这样的基础文章,谢谢你楼主,会一直观注你,期代下篇。
2008-2-20 18:22
0
雪    币: 740
活跃值: (952)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
3
好文章,D!
2008-2-20 18:25
0
雪    币: 2575
活跃值: (502)
能力值: ( LV2,RANK:85 )
在线值:
发帖
回帖
粉丝
4
这么好的帖我来顶。
2008-2-20 18:53
0
雪    币: 321
活跃值: (271)
能力值: ( LV13,RANK:1050 )
在线值:
发帖
回帖
粉丝
5
感谢楼主分享好文章。
2008-2-20 22:15
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
慢慢看~........
2008-2-20 22:38
0
雪    币: 134
活跃值: (84)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
7
好文章,不错哦,学习一下啦,谢谢。
2008-2-21 10:03
0
雪    币: 234
活跃值: (370)
能力值: ( LV9,RANK:530 )
在线值:
发帖
回帖
粉丝
8
不错的文章
2008-2-21 10:20
0
雪    币: 479
活跃值: (25)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
9
支持,好文章。
都是我想做试验而没做,menting 一分析豁然开朗:)
2008-2-21 10:43
0
雪    币: 433
活跃值: (1870)
能力值: ( LV17,RANK:1820 )
在线值:
发帖
回帖
粉丝
10
我顶!!!                。
2008-2-21 13:01
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
很强的菜鸟啊
2008-2-21 13:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
学习了,又学到一点点知识.
2008-2-21 17:16
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lby
13
learning
2008-2-23 15:10
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
我觉得对于编译器如何实现c/c++标准,最好是先看标准,再反汇编验证。
2008-2-23 17:35
0
雪    币: 207
活跃值: (14)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
15
请问楼主局部变量的定义名称与其在堆栈位置有什么关联吗?编译器是如何分配的?

例如:

        int intint1=1,intint2=2;
        int intint3=3;
        int intint4=4;

汇编为:
004010C2  |.  C745 F8 01000>mov     dword ptr [ebp-8], 1
004010C9  |.  C745 FC 02000>mov     dword ptr [ebp-4], 2
004010D0  |.  C745 F0 03000>mov     dword ptr [ebp-10], 3
004010D7  |.  C745 F4 04000>mov     dword ptr [ebp-C], 4

其定义顺序为:变量2,变量1,变量4,变量3

*******************************************************
变量名变短:
        int int1=1,int2=2;
        int int3=3;
        int int4=4;

汇编为:
004010C2  |.  C745 FC 01000>mov     dword ptr [ebp-4], 1
004010C9  |.  C745 F8 02000>mov     dword ptr [ebp-8], 2
004010D0  |.  C745 F4 03000>mov     dword ptr [ebp-C], 3
004010D7  |.  C745 F0 04000>mov     dword ptr [ebp-10], 4

其定义顺序为:变量1,变量2,变量3,变量4

*******************************************************
又如:
        int aaaa=1,bbbb=2;
        int cccc=3;
        int dddd=4;

汇编为:
004010C2  |.  C745 F0 01000>mov     dword ptr [ebp-10], 1
004010C9  |.  C745 F4 02000>mov     dword ptr [ebp-C], 2
004010D0  |.  C745 FC 03000>mov     dword ptr [ebp-4], 3
004010D7  |.  C745 F8 04000>mov     dword ptr [ebp-8], 4

其定义顺序为:变量3,变量4,变量2,变量1

*******************************************************
又如长变量名:
        int aaaaaaaa=1,bbbbbbbb=2;
        int cccccccc=3;
        int dddddddd=4;

汇编为:
004010C2  |.  C745 F8 01000>mov     dword ptr [ebp-8], 1
004010C9  |.  C745 F4 02000>mov     dword ptr [ebp-C], 2
004010D0  |.  C745 FC 03000>mov     dword ptr [ebp-4], 3
004010D7  |.  C745 F0 04000>mov     dword ptr [ebp-10], 4

其定义顺序为:变量3,变量1,变量2,变量4

很是奇怪,请高手解释一下.
2008-2-24 02:32
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
16
直接naked函数完事,定义啥变量啊~
2008-2-24 12:10
0
雪    币: 16
活跃值: (430)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
同这位兄弟的疑问。。 望高人解释下
2008-2-24 15:08
0
雪    币: 16
活跃值: (430)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
这么好的文章,先收藏了~呵呵,期待下篇
2008-2-24 15:15
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
好文章..收藏..
2008-2-24 15:56
0
雪    币: 246
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
20
感谢楼主分享好文章。
2008-2-25 16:36
0
雪    币: 347
活跃值: (30)
能力值: ( LV9,RANK:420 )
在线值:
发帖
回帖
粉丝
21
好东西,绝对的好东西,学习
2008-2-26 12:02
0
雪    币: 223
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rst
22
很好,很强大
2008-2-26 19:24
0
雪    币: 65
活跃值: (811)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
23
受益了~~,多谢分享哦~~
2008-2-26 19:46
0
雪    币: 303
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
谢谢LZ好文...
无以为报,只能顶起....
2008-3-27 21:48
0
雪    币: 138
活跃值: (108)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
25
我觉得是不是编译器捣的乱啊~
去掉优化选项试下~
2008-3-29 22:35
0
游客
登录 | 注册 方可回帖
返回
//