首页
社区
课程
招聘
esp問題
发表于: 2009-4-15 17:41 2901

esp問題

2009-4-15 17:41
2901
0048C400     8B4424 04          mov eax,dword ptr ss:[esp+4]  //[eax = esp+4]  

esp是上层传进来的, 以下是上层的代码。[eax = esp+4]   怎么知道[esp+4]是上层哪个在赋值给esp呢。[esp+4]是参数吗? 哪怎么知道是哪个传参数给[esp+4]去呢  
00490740     83EC 10            sub esp,10
00490743     53                 push ebx
00490744     56                 push esi
00490745     57                 push edi
00490746     8BD9               mov ebx,ecx
00490748     E8 63BEF9FF        call ElementC.0042C5B0
0049074D     8B78 28            mov edi,dword ptr ds:[eax+28]
00490750     8B43 04            mov eax,dword ptr ds:[ebx+4]
00490753     C74424 10 00000000 mov dword ptr ss:[esp+10],0
0049075B     33F6               xor esi,esi
0049075D     8A48 45            mov cl,byte ptr ds:[eax+45]
00490760     8A50 46            mov dl,byte ptr ds:[eax+46]
00490763     8A40 47            mov al,byte ptr ds:[eax+47]
00490766     884C24 0C          mov byte ptr ss:[esp+C],cl
0049076A     885424 0D          mov byte ptr ss:[esp+D],dl
0049076E     884424 0E          mov byte ptr ss:[esp+E],al
00490772     8A4434 0C          mov al,byte ptr ss:[esp+esi+C]
00490776     84C0               test al,al
00490778     74 4C              je short ElementC.004907C6
0049077A     8D4C24 14          lea ecx,dword ptr ss:[esp+14]
0049077E     51                 push ecx
0049077F     56                 push esi
00490780     8BCF               mov ecx,edi
00490782     E8 79BCFFFF        call ElementC.0048C400

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
bp 0049077E

看ECX ESI

然后跟进去,看看是不是等于这两个参数
2009-4-15 17:55
0
雪    币: 239
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
看样子 EAX是 push esi  这个ESI的值 , EAX=ESI.
2009-4-15 21:02
0
雪    币: 2368
活跃值: (81)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
4
call 命令有两个操作

大致是 push eip
           jmp “Adresss”
这个时候的ESP 所指向的是 返回地址
那么ESP+4 就是最后call之前最后一个push的值
push esi
楼上正解
2009-4-15 21:51
0
游客
登录 | 注册 方可回帖
返回
//