首页
社区
课程
招聘
[求助]汇编语言中如何连接两个字符串
2006-11-8 23:06 5231

[求助]汇编语言中如何连接两个字符串

2006-11-8 23:06
5231
迫不得已,写了两个晚上,实在写不出来了,大家笑话也没办法了.想用ASM写一个连接两个字符串的子程序.
内容如下:
        _linkstring        proc _string1,_string2
                                                                        invoke        _sizeofstring,_string1;取字符串一的长度
                        add eax,_string1;eax为字符串1的长度
                                ;现在eax为字符串一结尾处的地址
                        ;mov eax,_string2
                        ;我的问题是在这里如何把_srting2的内容移动到字符串1的结束处呢?

                                ret
        _linkstring        endp

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

收藏
点赞0
打赏
分享
最新回复 (9)
雪    币: 2367
活跃值: (756)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
小虾 10 2006-11-8 23:09
2
0
invoke lstrcat,offset lpStr1,offset lpStr2
; lpStr1 = lpStr1 + lpStr2
; 要注意的是lpStr1的空间必须大到能容下两个字符串的容量。
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无奈无赖 2006-11-8 23:25
3
0
我晕哈,还有这么简单的..原来有这个API函数的,苍天啦!!!!

感谢版主.我去试下,两个晚上熬的夜算是白熬了.
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无奈无赖 2006-11-8 23:33
4
0
非常感谢小虾版主,我郁闷死了.我两天晚上的夜就这么白熬了.我居然不知道还有这么个API函数.郁闷死了啊,郁闷死了.苍天啦!!!
雪    币: 222
活跃值: (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
drwch 3 2006-11-9 03:54
5
0
写个简单点的

push addr string2
push addr string1
call StrCatA

StrCatA:

        mov        edx,[esp + 4]
        mov        ecx,[esp + 8]

@@:

        mov        al,[edx]
        inc        edx
        test        al,al
        jnz        @b
        dec        edx

@@:

        mov        al,[ecx]
        mov        [edx],al
        inc        ecx
        inc        edx
        test        al,al
        jnz        @b
        retn        8

StrCatW:

        push        esi
        push        2
        xor        eax,eax
        pop        esi
        mov        edx,[esp + 8]
        mov        ecx,[esp + 12]

@@:

        mov        ax,[edx]
        add        edx,esi
        test        eax,eax
        jnz        @b
        sub        edx,esi

@@:

        mov        ax,[ecx]
        mov        [edx],ax
        add        ecx,esi
        add        edx,esi
        test        eax,eax
        jnz        @b
        pop        esi
        retn        8
雪    币: 796
活跃值: (370)
能力值: ( LV9,RANK:380 )
在线值:
发帖
回帖
粉丝
Winker 8 2006-11-9 23:20
6
0
另外还有很多,例如

lstrcpy
lstrlen
等等 这些小玩意非常管用哦
雪    币: 73
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
浪流 2006-11-9 23:44
7
0
你好,我也在学32汇编
希望可以和你一起学习

我的邮箱:wangjun67117211@163.com
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无奈无赖 2006-11-10 08:54
8
0
非常感谢楼上各位的帮助。浪流朋友,俺的MSN:zhoushiyao26@hotmail.com
非常高兴能一起学习,一起进步哈。
雪    币: 73
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
浪流 2006-11-10 12:32
9
0
晕了,你的邮箱,发不进啊,老是退回来。我的是163的邮箱。
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无奈无赖 2006-11-11 23:22
10
0
那发zhoushiyao26@163.com
我上面那个是MSN.
游客
登录 | 注册 方可回帖
返回