首页
社区
课程
招聘
[求助]GetUserName和CopyFile在汇编中出错
发表于: 2008-2-1 22:43 4436

[求助]GetUserName和CopyFile在汇编中出错

2008-2-1 22:43
4436
include Advapi32.inc
includelib Advapi32.lib

__GetUserName proc
Local                                  @UserName    [UNLEN + 1]:BYTE
invoke GetUserName,addr @UserName,UNLEN + 1
__GetUserName endp

这段代码执行到GetUserName就出问题 ,原因不明,还望指教。

——————————————————————————————————————

.data
szFileName01 db "C:\1.txt",0
szFileName02 db "D:\2.txt",0

.data?
szFile01   db MAX_PATH dup (?)
szFile02   db MAX_PATH dup (?)

如果我直接用:
invoke CopyFile,addr szFileName01,addr szFileName02,FALSE
就没有问题

如果这样:
invoke lstrcpy,addr szFile01,addr szFileName01
invoke lstrcpy,addr szFile02,addr szFileName02

invoke CopyFile,addr szFile01,addr szFile02,FALSE
就会失败,EAX返回0

我的QQ:914786859
哪位高人给个解答,我的邮箱:ts-hemeng@163.com

大家的汇编群也要加我哦,我的QQ:914786859

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

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 485
活跃值: (12)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
2
BOOL GetUserName(
  LPTSTR lpBuffer,  // name buffer
  LPDWORD nSize     // size of name buffer <- 应该是个指针
);
2008-2-1 23:27
0
雪    币: 321
活跃值: (271)
能力值: ( LV13,RANK:1050 )
在线值:
发帖
回帖
粉丝
3
1)第一个问题是你没好好msdn。
__GetUserName proc
Local                                  @UserName    [UNLEN + 1]:BYTE
invoke GetUserName,addr @UserName,UNLEN + 1
__GetUserName endp
正确的写法:

__GetUserName proc
     Local        @UserName[UNLEN + 1]:BYTE
     LOCAL   dwSize:dword
     mov dwSize,UNLEN
     invoke GetUserName,addr @UserName,addr dwSize
__GetUserName endp

2) 第二个问题,修改定义如下,就好了。
.data
szFileName01 db "C:\\1.txt",0
szFileName02 db "D:\\2.txt",0
2008-2-1 23:42
0
雪    币: 442
活跃值: (28)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
非常感谢!!
2008-2-2 16:01
0
游客
登录 | 注册 方可回帖
返回
//