首页
社区
课程
招聘
[旧帖] [己解决]请问如何获得一个call的返回值? 0.00雪花
发表于: 2007-5-3 09:22 6898

[旧帖] [己解决]请问如何获得一个call的返回值? 0.00雪花

2007-5-3 09:22
6898
我在调试一个程序,其中有一段汇编代码如下
push edi
mov ecx,ebp
call 005521C0

这个call的返回值保存在EAX中,这个值是我需要的,但是我在vc里使用内联汇编,应该怎么编写获得它的返回值呢?望各位高手指点指点,感谢

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
call 005521C0
相当与
push eip
jmp  005521C0
eip指向call 005521C0后的指令
jmp到005521C0执行后遇到ret
ret相当与pop eip就回去了
005521C0处如果自己编写可以试试这个
call  @f
@@:
pop
2007-5-3 09:49
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
call 005521C0
相当与
push eip
jmp  005521C0
eip指向call 005521C0后的指令
jmp到005521C0执行后遇到ret
ret相当与pop eip就回去了
005521C0处如果自己编写可以试试这个
call  @f
@@:
pop ebx
sub ebx,offset @@
2007-5-3 09:50
0
雪    币: 457
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢楼上的回复,但是看不太懂,
2007-5-3 10:26
0
雪    币: 247
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
定义一个变量放到里面
dword temp

push edi
mov ecx,ebp
call 005521C0
mov dword ptr temp,eax
2007-5-3 10:49
0
雪    币: 457
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
感谢楼上的朋友
2007-5-3 12:00
0
游客
登录 | 注册 方可回帖
返回
//