首页
社区
课程
招聘
[求助]为什么我recv的数据为零
发表于: 2007-3-8 23:03 4546

[求助]为什么我recv的数据为零

2007-3-8 23:03
4546
利用GET命令提交一个HTTP数据包:

.386
.model   flat,stdcall
option   casemap:none
include   windows.inc
include   user32.inc
include   kernel32.inc
include   wsock32.inc
include   Ws2_32.inc
includelib   user32.lib
includelib   kernel32.lib
includelib   wsock32.lib
includelib   Ws2_32.lib
TCP_PORT equ 80 ;常量定义
.data
@wsaData WSADATA <>
@stAddr sockaddr_in <>
szHostName db "http://www.wolfexp.net/",0
sz3 db 156 dup(0)
sz1 db "GET /forum/index.php HTTP/1.1",13,10
    db "Host: http://www.wolfexp.net/",0
.data?
hSocket SOCKET   ?
.code
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
start:
invoke WSAStartup,202h,addr @wsaData ;初始化WSAStartup库
invoke WSASocket,PF_INET,SOCK_STREAM,IPPROTO_TCP,NULL,0,0 ;加载套接字
mov   hSocket,eax ;保存句柄
invoke   htons,TCP_PORT ;设置端口
mov   @stAddr.sin_port,ax ;保存
invoke  gethostbyname,addr szHostName
    .if     eax
            mov     eax,[eax + hostent.h_list] ;取h_list指针
            .while  dword ptr [eax]
                    mov     ecx,[eax]       ;取一个IP地址的指针
                    mov     ecx,[ecx]       ;用指针取出IP地址
invoke inet_addr,ecx
mov @stAddr.sin_addr,eax
            .endw
    .endif   
mov   @stAddr.sin_family,AF_INET ;设置IP格式
invoke bind,hSocket,addr @stAddr,sizeof @stAddr
invoke   connect,hSocket,addr @stAddr,sizeof @stAddr
invoke lstrlen,addr sz1
invoke send,hSocket,addr sz1,eax,0
invoke recv,hSocket,addr sz3,sizeof sz3,0
invoke MessageBox,NULL,addr sz3,NULL,MB_OK
invoke closesocket,hSocket
invoke ExitProcess,NULL
end   start

服务器返回是空白,为虾米?大家帮我看看

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

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 297
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
2
.data
@wsaData WSADATA <>
@stAddr sockaddr_in <>
szHostName db "http://www.wolfexp.net/",0
sz3 db 156 dup(0)
sz1 db "GET /forum/index.php HTTP/1.1",13,10
    db "Host: http://www.wolfexp.net/",0

少了13 10 13 10
建议多去系统看下你想做的东西。看下标准中怎么写的。
现在很少有软件公司招聘说你会写木马后门什么的就会要你的。
楼主熟悉ia-32汇编是好事,但是我观察下你发的一些代码,大部分都是按照一些已有的理论,短短几十行代码invoke一些win32 api这样进步不是很大。就说你现在经常写的winsock代码,其实完全可以好好系统研究下整个winsock的框架结构,再联系现在市场上的反应和需求,如果感兴趣的话,可以试着用汇编写一些轻便强大的网络应用软件出来。这样我想不仅对你自己有帮助,对网络也会有贡献。
要做就做大点的工程。做好整体项目的架构,对项目整体经验的积累才是最重要的。不要一出现问题就发帖子出来问,别人如果恰巧熟悉你所问的说不定会热心告诉你,不了解你工程的,谁也不会没事去研究你发的代码。况且这种问题完全可以自己解决。
说的实话,如果不中听,楼主完全可以当作木看见,在下道个歉先。
2007-3-11 13:29
0
雪    币: 796
活跃值: (370)
能力值: ( LV9,RANK:380 )
在线值:
发帖
回帖
粉丝
3


忠言逆耳,但我爱听....
根据市场的需求编写软件,自然是我的目标
现在我属于学习阶段,得先熟悉一下标准框架下的东西
功底打好,才有能力创新....

谢谢默数悲伤的话.网络上谁都不认识,但提一句话,就很让人欣慰.我想我会努力往那个方向发展....

现在要高考了 估计很少时间到这里...

2007-3-11 14:55
0
游客
登录 | 注册 方可回帖
返回
//