首页
社区
课程
招聘
[求助]VC编译器如何解释变量?
2008-5-15 16:49 3568

[求助]VC编译器如何解释变量?

2008-5-15 16:49
3568
在学习menting的“程序逆向技术之二变量和常量”时,其中出现
//-------------------------------------------
  int  intbuf1=1,intbuf2=2;

  int  intbuf3=3;
  int  intbuf4=4;

//-------------------------------------------
反汇编后得到代码如下:
//-------------------------------------------
0040135F  /$  55            push    ebp
00401360  |.  8BEC          mov     ebp, esp
00401362  |.  83EC 10       sub     esp, 10
00401365  |.  C745 F8 01000>mov     dword ptr [ebp-8], 1
0040136C  |.  C745 FC 02000>mov     dword ptr [ebp-4], 2
00401373  |.  C745 F0 03000>mov     dword ptr [ebp-10], 3
0040137A  |.  C745 F4 04000>mov     dword ptr [ebp-C], 4
00401381  |.  8BE5          mov     esp, ebp
00401383  |.  5D            pop     ebp
00401384  \.  C3            retn

//-------------------------------------------
而我自己编写时该成如下:
main()
{
int buf1=1,buf2=2;

int buf3=3;
int buf4=4;
}
得到的反汇编代码确实这样的:

.text:00401000                 push    ebp
.text:00401001                 mov     ebp, esp
.text:00401003                 sub     esp, 10h
.text:00401006                 mov     [ebp+var_4], 1
.text:0040100D                 mov     [ebp+var_8], 2
.text:00401014                 mov     [ebp+var_C], 3
.text:0040101B                 mov     [ebp+var_10], 4
.text:00401022                 mov     esp, ebp
.text:00401024                 pop     ebp

我现在就是不明白编译器是如何解释这些变量的呢?

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

上传的附件:
  • 3.jpg (22.86kb,52次下载)
收藏
点赞0
打赏
分享
最新回复 (4)
雪    币: 32399
活跃值: (18890)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
kanxue 8 2008-5-15 16:59
2
0
参考这帖:http://bbs.pediy.com/showthread.php?t=50879
然后用OD调试一下,注意堆栈,就能理解。
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
songman 2008-5-17 16:54
3
0
谢谢,感觉受益匪浅,还有http://bbs.pediy.com/showthread.php?t=50879的“逆向基础知识学习,感觉太好了!!!能不能麻烦各位高人看看这个链接里的http://bbs.pediy.com/showthread.php?t=59933“程序逆向技术之二变量和常量”,其中15楼提出的问题我也试了下,确实存在这个问题,能否帮忙解释一下原因呢?谢谢
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
温城 2008-5-17 19:50
4
0
学VC编程容易学好吗
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
songman 2008-5-18 18:12
5
0
什么意思?
游客
登录 | 注册 方可回帖
返回