首页
社区
课程
招聘
[推荐]有关Win32汇编函数参数传递
发表于: 2007-3-1 11:07 5063

[推荐]有关Win32汇编函数参数传递

2007-3-1 11:07
5063
mov eax, Path ;Path是函数里的一个参数
invoke lstrlen, eax ;这里面计算出的结果传给了谁?
如果这样能传递吗?

.386
.model flat, stdcall
option casemap :none

;Includes
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib

.data
szOK       db 'Hello Word!',0

.code
invoke lstrlen, szOK   ;如果这样结果传递给了谁?

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 215
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
函数返回值存在EAX
2007-3-1 11:18
0
雪    币: 8599
活跃值: (5065)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
invoke其实是一个宏
invoke lstrlen, eax 相当于下面的指令

push eax
call lstrlen

函数的结果最后返回在eax里.
2007-3-1 13:27
0
雪    币: 291
活跃值: (213)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
4
invoke lstrlen, szOK   ;如果这样结果传递给了谁?

这样是有问题的,正确的写法是
invoke lstrlen, OFFSET szOK
或者
invoke lstrlen, ADDR szOK
或者
lea eax, szOK
invoke lstrlen eax
2007-3-1 13:53
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
是不是masm32里的api的结果都自动保存到eax里?
有个人告诉我看约定?是怎么看的?
谢谢大家啊
2007-3-1 18:04
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
api的是,别的不一定
2007-3-1 19:04
0
雪    币: 796
活跃值: (370)
能力值: ( LV9,RANK:380 )
在线值:
发帖
回帖
粉丝
7
hSize dd ?
Written DWORD ?
.
.
invoke lstrlen, szOK
mov hSize,eax ;计算出"hello word!"的长度包括空格一共11字节
.
2007-3-2 13:05
0
游客
登录 | 注册 方可回帖
返回
//