首页
社区
课程
招聘
[求助]汇编里面怎么进行数据合并的, 类似c的memmove
发表于: 2007-3-16 08:50 4663

[求助]汇编里面怎么进行数据合并的, 类似c的memmove

2007-3-16 08:50
4663
就是说有多个变量, 怎么把这些变量的内容拷贝合并到一个变量里面
我自己写的,那里有问题呀, 总是有错
local        @szComputerName[128]:byte
local @dwCount:DWORD
local        @ByteBuffe[512]:byte

invoke        GetComputerName,addr @szComputerName, addr @dwCount
invoke        lstrlen,addr @szComputerName
mov        ecx,eax
mov esi,dword ptr @szComputerName
mov edi,dword ptr @ByteBuffe
rep movsb

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
2
invoke RtlMoveMemory,offset Destination,offset Source,Length
2007-3-16 12:29
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
3
如果是可显示ASCII码的合并,可以使用API函数的lstrcat函数。
2007-3-16 12:30
0
雪    币: 248
活跃值: (1056)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
.data
        szCaption        db "http://www.pediy.com",0
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.code
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
GetPcName proc
        local   @szComputerName[128]:byte
        local   @ByteBuffe[512]:byte
        local   ComputerBufSize:dword

        invoke        RtlZeroMemory,addr @ByteBuffe,sizeof @ByteBuffe
        invoke        RtlZeroMemory,addr @szComputerName,sizeof @szComputerName
        mov     ComputerBufSize, SIZEOF @szComputerName
        invoke  GetComputerName, addr @szComputerName, addr ComputerBufSize
        invoke  lstrlen,addr @szComputerName
        mov        ecx,eax
        lea        esi,@szComputerName
        lea        edi,@ByteBuffe
        rep        movsb
        lea        eax,@ByteBuffe
        ret

GetPcName endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
start:
        invoke        GetPcName
        invoke        MessageBox,NULL,eax,addr szCaption,MB_OK
        invoke        ExitProcess,NULL;
2007-3-16 16:05
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢了哦……刚好遇到这样的问题
2007-3-18 00:48
0
游客
登录 | 注册 方可回帖
返回
//