首页
社区
课程
招聘
[旧帖] [求助]汇编循环问题 0.00雪花
发表于: 2011-12-30 17:15 1555

[旧帖] [求助]汇编循环问题 0.00雪花

2011-12-30 17:15
1555
loopl:
                        ;whilel
                                mov ecx,1
                                test ecx,ecx
                                jz end
                        ;read=recv(client,recvbuf,10000,0)
                                sub esp,2710h
                                mov esi,esp; esi=recvbuf
                                xor edx,edx
        push edx
                                mov eax,2710h
                                push eax
                                push esi
                                push ebx
                                call [ebp+52]
                                mov [ebp+68],eax; 存储read

                        ;if1(read=-1)
                                cmp [ebp+68],0FFh
                                jne writeFile

                                jmp end

writefile:
                        ;bRet=WriteFile(hFile,recvbuf,read,&dwWrite,NULL)
                                push 0
                                push esp
                                push [ebp+68]
                                push esi
                                push [ebp+64]
                                call [ebp+16]
                                mov [ebp+72],eax

                        ; ifl(bRet==FALSE)
                                cmp [ebp+72],0
                                jne retu

                                jmp end

retu:
                        ;loop
                                jmp loopl

end:

做的是一个文件接收部分的汇编代码,在第一次循环时没问题,但在第二次循环时,push edx,发生unhandled exception错误
想问下高手,这个是什么问题,如何解决?

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

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 175
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
push edx是每一次循环的第一次入栈,所以可能真正问题出在
sub esp,2710h


retu:
      ;loop
        jmp loopl
的jmp loopl前加上add esp,2710h试试!
2011-12-30 18:03
0
雪    币: 153
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
楼上正解,多谢!
2011-12-31 10:06
0
游客
登录 | 注册 方可回帖
返回
//