首页
社区
课程
招聘
一条语句,求解惑!!!
发表于: 2006-8-14 15:28 4315

一条语句,求解惑!!!

2006-8-14 15:28
4315
原文链接:http://bbs.pediy.com/showthread.php?threadid=16291
无效函数分析部分!

00D71564    55              PUSH EBP
00D71565    8BEC            MOV EBP,ESP
00D71567    8B05 F07CD700   MOV EAX,DWORD PTR DS:[D77CF0]
00D7156D    8B45 08         MOV EAX,DWORD PTR SS:[EBP+8]
00D71570    5D              POP EBP
00D71571    C2 0400         RETN 4
这几行等于
  mov eax,[esp+4]
  retn 4
---------------
上面的代码为什么不是等同于:
mov eax,[esp+8]
retn 4:
(:

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
2
上面的代码要等同于
mov eax,[esp+8]
retn 4
就要像下面才是等同于了:
push ebp
mov eax,[esp+8]
pop ebp
retn 4
或者
push xxxx
mov eax,[esp+8]
retn 8
2006-8-14 15:32
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
最初由 小虾 发布
上面的代码要等同于
mov eax,[esp+8]
retn 4
就要像下面才是等同于了:
push ebp
........


不明白,有区别吗?能否说详细些
2006-8-14 15:35
0
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
4
关于这个stolen你上次修的是对的
是LockResource
2006-8-14 15:37
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
最初由 shoooo 发布
关于这个stolen你上次修的是对的
是LockResource


你在跟谁说话啊?
大家能不能帮先我解解疑惑啊.解释几句就行了啊.
2006-8-14 15:46
0
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
6
你可以试试在od下,把两种情况都试一下,一行一行看效果就知道了
2006-8-14 15:51
0
雪    币: 233
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
00D71564    55              PUSH EBP
00D71565    8BEC            MOV EBP,ESP

00D71564的PUSH指令要改变ESP值。
2006-8-14 18:11
0
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
8
push ebp
//与此同时esp=esp-4,此时esp被上移了,所以如果没有push ebp这句话esp就相对少加4。
2006-8-14 21:09
0
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
9
见图。有错误的地方欢迎指正,谢谢!!
函数的原型是push xxxxx
            call yyyyy
这个call,其实就是把xxxxx地址(函数的第一个参数,这个函数就一个参数)的值放入eax。
2006-8-14 21:26
0
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
10
2006-8-14 21:27
0
雪    币: 250
活跃值: (11)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
11
楼上的说的太明白了,真是强,希望做出几篇精华帖,期待中!~!~!~!
2006-8-14 21:34
0
游客
登录 | 注册 方可回帖
返回
//