Vk improved_regged by Whirt

Discussion in 'PHP' started by Whirt, 24 Jun 2008.

  1. Whirt

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

    Joined:
    24 Jun 2008
    Messages:
    23
    Likes Received:
    86
    Reputations:
    5
    UPDATED - Vk improved_regger by Whirt + How to

    Наткнулся как то на скрипт Isis'а и решил немного оптимизировать его под свои нужды. Мыльник @pookmail.com закрыли, распарсил новый, tempinbox.com.

    Добавлено:
    [+] Заполнение рандомной комбинации имя+фамилия (муж/жен пол, (т.е. в зависимости от выставленного пола в настройках, будут в профиль вписываться имена а-ля Алиса Волкова или Александр Кузнецов) , все берется из бд-файлов
    [+] Добавлена поддержка прокси (ее мне как раз не хватало)
    [+] Стало возможным указать кол-во акков для рега (мультирег)
    [+] Логирование + опциональный дампинг ххтп реквестов для дебага (можно включить в исходнике)

    PHP:
    <?php
    /*
               __     __        __
    .--.--.--.|  |--.|__|.----.|  |_
    |  |  |  ||     ||  ||   _||   _|
    |________||__|__||__||__|  |____|

     ----- VK improved account regger by Whirt ------ //

    new features:
    [+] Added filling Name/Surname (males/females[rus]) from file db
    [+] Added proxy support
    [+] Added multi-reg support (not muti-threaded yet :( )
    [+] Added general logging and logging HTTP data

    // ----- based on Isis' script               ------ */

    $host "vkontakte.ru"
    $port "80";
    $gender "f";  //f=females, m=males
    $log_msgtype "txt"// html/txt
    $num 500//number of accounts to register
    // ----- init ----- //
    set_time_limit(0); 
    $fp  fopen('accounts.txt''a') or die(log_msg("[-] Write Error: Set correct permissions (accounts file) (666)"));
    $fl  fopen('log_msg.txt''w') or die(log_msg("[-] Write Error: Set correct permissions (log_msg file) (666)")); 
    // ----- functions ----- //
    function load_vars($filename$prox=0)
    {
    global 
    $gender;

    if (!
    $prox)  $fd  fopen($filename."_".$gender.".txt""r"); 
    else         
    $fd  fopen($filename.".txt""r"); 
    if (!
    $fd) {die("[-] Unable to load ".$filename." db\n");}
    $x=0;
      while (!
    feof($fd))
       {
         
    $line trim(fgets($fd4096));
         
    $arr[$x] = $line;
         
    $x++;
       }
     
    fclose($fd);
     return 
    $arr;   
    }

    function 
    make_headers($proxy$p_port$hdr$debug=true)
    {
     
    $fp fsockopen($proxy$p_port);
     if (!
    $fp
     { 
         print (
    "[-] Could not connect to proxy: ".$proxy.":".$p_port."\n");
         return 
    NULL;
     }
         
     
    fputs($fp,$hdr);  //Send headers
     
    while(!feof($fp)) {
     
    $ret .= fgets($fp,4096);
    }
      if (
    $debug) { print "OUT: $hdr\n IN: $ret\n"; }
     
    fclose($fp);   
     return 
    $ret;   
    }

    function 
    log_msg($msg)
    {
     global 
    $fl//File log  
     
    global $log_msgtype;
     
     if (
    $log_msgtype=="html"$ln="<br/>"; else $ln="\n";
     
    $time date("[ H:i:s ] ");
     print(
    $time.$msg.$ln);    
     
    fputs($fl$time.$msg.$ln);  
     return 
    $msg//for backward compactibility)   
    }
    /* ------  loadin' dbs to arrays -------- */

    $names     load_vars("names");
    $surnames  load_vars("surnames");
    $proxies   load_vars("proxies",1);


     
    //----------------//

    echo "*** VK improved_account regger by Whirt. Original ver. by Isis ***\n";
    $regn 1;  //reg. number     
            
    for ($x=1$x<=$num$x++)
            { 
                
                
    $rnd_name    urlencode($names[rand(0,count($names)-1)]);
                
    $rnd_surname urlencode($surnames[rand(0,count($surnames)-1)]);
                
    $rnd_proxy   explode(":"$proxies[rand(0,count($proxies)-1)]);

                
    //$xek    = file_get_contents("http://".$host."/reg0");
                
    $httpq  
                
    "GET http://".$host."/reg0 HTTP/1.1\r\n".
                
    "Host: ".$host."\r\n"
                
    "Referer: http://".$host."/reg0\r\n"
                
    "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12\r\n"
                
    "Content-Type: text/html\r\n\r\n";  
                
                
    $xek    make_headers($rnd_proxy[0], $rnd_proxy[1], $httpq);
                 
                
    $mad    "fuckyou".rand(111111,999999);
                
    $name   $rnd_name
                
    $sur    $rnd_surname
                
    $pwd    substr(md5($name.$sur),1,9); //generate 9dig pwd 

                
    $usl1    preg_match("#<input type=\"hidden\" name=\"code\" id=\"code\" value=\"(.*)\">#"$xek$outcode); 
                
    $usl2    preg_match("#<input type=\"hidden\" name=\"mu\" id=\"mu\" value=\"(.*)\">#"$xek$outmu); 

                if(
    $usl1 && $usl2
                { 
                    
    $code    $outcode["1"]; 
                    
    $mu      $outmu["1"]; 
                    
    $post    "subm=1&time=reg&code=".$code."&mu=".$mu."&first_name=".$name."&last_name=".$sur."&email=".$mad."%40tempinbox.com&pass=".$pwd
                    
    log($post);
                    
    $httpq     
                    
    "POST http://".$host."/profileEdit.php?page=education HTTP/1.1\r\n"
                    
    "Host: ".$host."\r\n"
                    
    "Referer: http://".$host."/reg0\r\n"
                    
    "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12\r\n"
                    
    "Content-Type: application/x-www-form-urlencoded\r\n"
                    
    "Content-Length: ".strlen($post)."\r\n\r\n".$post

                    
    $c make_headers($rnd_proxy[0], $rnd_proxy[1], $httpq);
                      
                    if(
    strpos($c"confirm") !== false
                    { 
                       
    // log_msg("Wating for mail ".$mad."@tempinbox.com...");
                        
    Sleep(12); //increase this variable if u have slow connection
                        
    $mail    file_get_contents("http://www.tempinbox.com/cgi-bin/checkmail.pl?username=".$mad."&button=Check+Mail&terms=on"); 
                        
    preg_match("#<a href=\"\/cgi-bin\/viewmail.pl\?id=(.*)\">#"$mail$conf);                  
                        
    $mail    file_get_contents("http://www.tempinbox.com/cgi-bin/viewmail.pl?id=".$conf["1"]);
                        
    preg_match("#code=(.*)\">#"$mail$conf1);
                        
                        
    $key    $conf1["1"];  
                        
    $post "code=".$key
                
                        
    $httpq     
                        
    "POST http://".$host."/confirm.php HTTP/1.1\r\n"
                        
    "Host: ".$host."\r\n"
                        
    "Referer: http://win.mail.ru\r\n"
                        
    "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12\r\n"
                        
    "Content-Type: application/x-www-form-urlencoded\r\n"
                        
    "Set-Cookie: remixchk=5\r\n"
                        
    "Content-Length: ".strlen($post)."\r\n\r\n".$post

                        
    $c make_headers($rnd_proxy[0], $rnd_proxy[1], $httpq);
                        
    preg_match("#remixmid=([0-9]*)#"$c$uid);

                        if(
    strpos($c"profile.php") !== false
                        { 
                            
    log_msg("[+]".$regn."/".($x)." Registered - ".$mad."@tempinbox.com /id".$uid["1"]."/ (proxy: ".$rnd_proxy[0].":".$rnd_proxy[1]);    
                            
    fwrite($fp$mad."@tempinbox.com:".$pwd.":".$uid["1"]."\r\n"); 
                            
    $regn++; 
                        } 
                    } 
                    else 
                    { 
                        
    log_msg("[-] Could not get the letter. Account is not registered"); 
                    } 
                } 
                else 
                { 
                    
    log("[-] Couldnt find variables in html code...");
                    
    Sleep(1); //a little pause to prevent overloadin' 
                

            }  
     
    fclose($fp);
     
    fclose($fl);
    ?>

    How to use:
    1) Заливаем на шелл все файлы из архива
    2) По дефолту регает 500 акков (можно изменить в самом vk.php
    3) Создаем файл proxies.txt, заливаем туда прокси по одному на строчку вида
    host:port
    4) php vk.php



    [​IMG]

    Файл: http://www.rapidshare.ru/712746
    ====================
    UPD:
    ====================

    Как стало ясно, домен уже прикрыли на vkontakte.ru

    И раз уж такой случай попался, решил написать мини-руководство, как распарсить новый мыльник для рега вконтакте акков. Впринципе это довольно просто. Но все же для тех кто не знает,
    а порегать акков вконтакте хочется:

    1) Google -> Disposable Email (можно любые другие кейворды, а-ля : одноразовая почта, etc.)
    2) Я выбрал для экспериментов: dodgit.com
    3) Скачиваем плагин Tamper Data для Firefox
    4) Заходим на http://dodgit.com
    Вписываем произвольное мыло, нам сейчас нужно узнать какие данные передаются по HTTP.
    Я вписал whirt@dodgit.com , запускаем плагин перехватки данных,
    жмем GO.
    [​IMG]
    5) Поймали 2 запроса. Нас интересует второй.
    Видим, чтобы войти в ящик, нужно перейти по адресу:

    http://dodgit.com/run/checkmail?mailbox=whirt

    6) Идем на vkontakte.ru, регимся, указываем наш ящик.
    7) Проверяем почту.
    8) Смотрим куда ведет линк из поля subject: http://dodgit.com/run/viewmail?mailbox=whirt&id=97824479
    9) Открываем линк, смотрим исходник. Интересующий нас линк имеет вид:
    <a href ="http://vkontakte.ru/confirm.php?code=d6a3fdd0ece1c177210465b2345cb5fa">http://vkontakte.ru/confirm.php?code=d6a3fdd0ece1c177210465b2345cb5fa</a>

    Ну вот, теперь у нас есть все необходимые данные для создания запросов и двух регулярных выражений.

    Создаем новый файл, назовем его vk_confirm.php:

    PHP:
    <?
    $username   "whirt" // обычно рандомная комбинация , но я использовал для примера просто $username="whirt"
    $mail  file_get_contents("http://dodgit.com/run/checkmail?mailbox=".$username);

    preg_match("#&id=(\d+)#"$mail$id);
    //\d+ выберет все цифры после шаблона
    echo "ID=".$id["1"]."<br>";

    $mail  file_get_contents("http://dodgit.com/run/viewmail?mailbox=".$username."&id=".$id["1"]);
    preg_match("#code=(.*)\">#"$mail$code);
    $key   $code["1"];

    echo 
    "KEY=".$key;
    ?>
    10) Теперь у нас есть ключ. Его и используем в подтверждении кода (пример можно посмотреть в самом коде реггера).
    11) Ну вот и все. Запихнуть эти строки в сам скрипт человеку, хоть немного знающему php, не составит труда.

    Этот домен: dodgit.com я специально не стал использовать для своих регистраций, а оставил для вас)
    Впрочем, как видно, данная операция по парсингу нового мылсервера занимает не больше 10-15 минут.


    ВНИМАНИЕ! Данный скрипт написан исключительно в ознакомительных целях, и автор не несет НИКАКОЙ ответственности за любой возможный вред, который может быть причинен в результате использования этого скрипта в целях, противоречащих УК РФ.
     
    #1 Whirt, 24 Jun 2008
    Last edited: 31 Jul 2008
    3 people like this.
  2. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    temp ящики не рулят. во-первых, могут закрыть ( бан ВСЕХ регнутых акков), во-вторых, такие сервисы не бесконечны ;)
    прокси конечно помогут, но не надолго
     
  3. lsass.exe

    lsass.exe Elder - Старейшина

    Joined:
    5 Aug 2007
    Messages:
    156
    Likes Received:
    161
    Reputations:
    24
    этот домен уже забанен и не катит для реги =)
     
  4. diehard

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

    Joined:
    30 Sep 2007
    Messages:
    442
    Likes Received:
    266
    Reputations:
    15
    Это всё бесполезно =)
     
  5. Whirt

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

    Joined:
    24 Jun 2008
    Messages:
    23
    Likes Received:
    86
    Reputations:
    5
    ну из моих регнутых акков дуров не забанил не один, я даже хз почему =)
    Их с каждым днем все больше и больше)

    Да, лавочку прикрыли, распарсю на досуге еще один мыльник) и выложу сюда.

    Кстати, предалагайте свои варианты, если кто знает, как решать проблему с мылом, если временная почта не катит ?
     
  6. Sharky

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

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    ТС кинь свою аську в ПМ :) есть о чём поговорить
     
  7. Whirt

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

    Joined:
    24 Jun 2008
    Messages:
    23
    Likes Received:
    86
    Reputations:
    5
    Обновил шапку, добавил mini-Howto, как самому распрарсить новый мылбокс для подтверждений регистраций. Думаю, теперь каждый сможет распарсить себе новый мыльный сервак, даже если текущий прибанят на вконтакте :)
     
  8. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    если временная не катит, попробуй с невременной ;)
     
  9. Whirt

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

    Joined:
    24 Jun 2008
    Messages:
    23
    Likes Received:
    86
    Reputations:
    5
    А какой в этом смысл ? Банят все равно мыльный домен.