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($fd, 4096)); $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, заливаем туда прокси по одному на строчку вида hostort 4) php vk.php Файл: 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. 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 минут. ВНИМАНИЕ! Данный скрипт написан исключительно в ознакомительных целях, и автор не несет НИКАКОЙ ответственности за любой возможный вред, который может быть причинен в результате использования этого скрипта в целях, противоречащих УК РФ.
temp ящики не рулят. во-первых, могут закрыть ( бан ВСЕХ регнутых акков), во-вторых, такие сервисы не бесконечны прокси конечно помогут, но не надолго
ну из моих регнутых акков дуров не забанил не один, я даже хз почему =) Их с каждым днем все больше и больше) Да, лавочку прикрыли, распарсю на досуге еще один мыльник) и выложу сюда. Кстати, предалагайте свои варианты, если кто знает, как решать проблему с мылом, если временная почта не катит ?
Обновил шапку, добавил mini-Howto, как самому распрарсить новый мылбокс для подтверждений регистраций. Думаю, теперь каждый сможет распарсить себе новый мыльный сервак, даже если текущий прибанят на вконтакте