首页
社区
课程
招聘
[旧帖] [求助]一场场酸甜苦辣,敢问ebp来至何方? 0.00雪花
发表于: 2013-7-15 03:03 1484

[旧帖] [求助]一场场酸甜苦辣,敢问ebp来至何方? 0.00雪花

2013-7-15 03:03
1484
你挑着担,我牵着马,迎来日出,送走晚霞 踏平坎坷,成大道,斗罢艰险,又出发,又出发   啦啦…一番番春秋冬夏。一场场酸甜苦辣。敢问路在何方 路在脚下。[请允许我献上一曲] 缓解压力

我特地复制了好长的代码

0042A8E7    57              push    edi
0042A8E8    8D8C24 A0050000 lea     ecx, dword ptr [esp+5A0]
0042A8EF    E8 5C0A0100     call    0043B350
0042A8F4    8B4D 48         mov     ecx, dword ptr [ebp+48]
0042A8F7    8B10            mov     edx, dword ptr [eax]
0042A8F9    6A 01           push    1
0042A8FB    8991 CC020000   mov     dword ptr [ecx+2CC], edx
0042A901    8D8C24 A0050000 lea     ecx, dword ptr [esp+5A0]
0042A908    E8 430A0100     call    0043B350
0042A90D    8B4D 48         mov     ecx, dword ptr [ebp+48]
0042A910    8B10            mov     edx, dword ptr [eax]
0042A912    6A 01           push    1
0042A914    8991 C8020000   mov     dword ptr [ecx+2C8], edx
0042A91A    8D8C24 A0050000 lea     ecx, dword ptr [esp+5A0]
0042A921    E8 2A0A0100     call    0043B350
0042A926    8B4D 48         mov     ecx, dword ptr [ebp+48]
0042A929    8B10            mov     edx, dword ptr [eax]
0042A92B    BE 02000000     mov     esi, 2
0042A930    8991 E0020000   mov     dword ptr [ecx+2E0], edx
0042A936    8D8C24 9C050000 lea     ecx, dword ptr [esp+59C]
0042A93D    E8 EE090100     call    0043B330
0042A942    3BC6            cmp     eax, esi

0042A944    7E 5D           jle     short 0042A9A3
0042A946    56              push    esi
0042A947    8D8C24 A0050000 lea     ecx, dword ptr [esp+5A0]
0042A94E    E8 FD090100     call    0043B350
0042A953    8B4D 48         mov     ecx, dword ptr [ebp+48]
0042A956    8B00            mov     eax, dword ptr [eax]
0042A958    56              push    esi
0042A959    8B89 C8020000   mov     ecx, dword ptr [ecx+2C8]
0042A95F    8D14C9          lea     edx, dword ptr [ecx+ecx*8]
0042A962    8B4D 4C         mov     ecx, dword ptr [ebp+4C]
0042A965    8B54D1 08       mov     edx, dword ptr [ecx+edx*8+8]
0042A969    8D8C24 A0050000 lea     ecx, dword ptr [esp+5A0]
0042A970    8944B2 FC       mov     dword ptr [edx+esi*4-4], eax
0042A974    E8 D7090100     call    0043B350
0042A979    8B4D 48         mov     ecx, dword ptr [ebp+48]
0042A97C    8B00            mov     eax, dword ptr [eax]
0042A97E    46              inc     esi
0042A97F    8B89 C8020000   mov     ecx, dword ptr [ecx+2C8]
0042A985    8D14C9          lea     edx, dword ptr [ecx+ecx*8]
0042A988    8B4D 4C         mov     ecx, dword ptr [ebp+4C]
0042A98B    8B54D1 08       mov     edx, dword ptr [ecx+edx*8+8]
0042A98F    8D8C24 9C050000 lea     ecx, dword ptr [esp+59C]
0042A996    8944B2 2C       mov     dword ptr [edx+esi*4+2C], eax
0042A99A    E8 91090100     call    0043B330
0042A99F    3BF0            cmp     esi, eax
0042A9A1  ^ 7C A3           jl      short 0042A946


下面是call    0043B350中的内容
0043B350    8B41 04         mov     eax, dword ptr [ecx+4]
0043B353    8B4C24 04       mov     ecx, dword ptr [esp+4]
0043B357    8D0488          lea     eax, dword ptr [eax+ecx*4]
0043B35A    C2 0400         retn    4


首先这是一段对数组进行赋值的 循环
上面的绿色 地址[edx+esi*4+2C]是我硬件断点断下 处(当时那把光标,停留下面的call位置)
0042A996    8944B2 2C       mov     dword ptr [edx+esi*4+2C], eax   eax是每次赋给数组的值
这是我找他赋值关系
ecx= [ebp+48]               
ecx= [ecx+2C8]             
edx= [ecx+ecx*8]                       
ecx= [ebp+4C]               
edx= [ecx+edx*8+8]       
[edx+3*4+2C]   最后找到这个地址是我想要的地址。 经过拿寄存器中的值测试 是正确、

可是这个ebp的值究竟到哪找呢,还是我找错的了.


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

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 22
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
楼主可能想多了 ebp可能来自函数头的
push ebp
mov ebp,esp

再说你给的东西太少 楼主还是上传了整个程序吧
2013-7-15 06:51
0
游客
登录 | 注册 方可回帖
返回
//