- Автор темы
- #1
На античате увидел полуавтоматический регер акков на закладочнике
moemesto.ru. Ccылка:
как оказалось это просто кусок кода где вводится капча. Я решил его доработать до полноценного регера с антикапчей
У меня получилось вот что:
Но работает неправильно. то есть акки создаются, но нерабочие. Логин, пароль создаются, капча отсылается и распознается. Но при попытке зайти под этими логинами-паролями оно пишет что такой незарегестрирован. Знаю что ошибка где-то здесь
$result = post('http:.............
Но где? Там регистрация легкая - не требуется подтверждение по e-mail Подскажите чайнику, плиз
moemesto.ru. Ccылка:
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
как оказалось это просто кусок кода где вводится капча. Я решил его доработать до полноценного регера с антикапчей
У меня получилось вот что:
PHP:
<?php
@set_time_limit(0);
//-----------------//
$accounts = 'accounts.txt'; // Файл для сохранения аккаунтов
$divider = ':'; // Раздеитель
$apikey = ''; // Антикапча ключ
//-----------------//
function post($url,$post,$refer)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_REFERER, $refer);
curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook1");
curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook1");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
return $result;
}
function recognize($filename, $apikey, $is_verbose = true, $rtimeout = 5, $mtimeout = 120, $is_phrase = 0, $is_regsense = 1, $is_numeric = 0, $min_len = 0, $max_len = 0)
{
if (!file_exists($filename))
{
if ($is_verbose) echo "file $filename not found\n";
return false;
}
$postdata = array(
'method' => 'post',
'key' => $apikey,
'file' => '@'.$filename, //
'phrase' => $is_phrase,
'regsense' => $is_regsense,
'numeric' => $is_numeric,
'min_len' => $min_len,
'max_len' => $max_len,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://antigate.com/in.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
$result = curl_exec($ch);
if (curl_errno($ch))
{
if ($is_verbose) echo "CURL returned error: ".curl_error($ch)."\n";
return false;
}
curl_close($ch);
if (strpos($result, "ERROR")!==false)
{
if ($is_verbose) echo "server returned error: $result\n";
return false;
}
else
{
$ex = explode("|", $result);
$captcha_id = $ex[1];
if ($is_verbose) echo "captcha sent, got captcha ID $captcha_id\n";
$waittime = 0;
if ($is_verbose) echo "waiting for $rtimeout seconds\n";
sleep($rtimeout);
while(true)
{
$result = file_get_contents('http://antigate.com/res.php?key='.$apikey.'&action=get&id='.$captcha_id);
if (strpos($result, 'ERROR')!==false)
{
if ($is_verbose) echo "server returned error: $result\n";
return false;
}
if ($result=="CAPCHA_NOT_READY")
{
if ($is_verbose) echo "captcha is not ready yet\n";
$waittime += $rtimeout;
if ($waittime>$mtimeout)
{
if ($is_verbose) echo "timelimit ($mtimeout) hit\n";
break;
}
if ($is_verbose) echo "waiting for $rtimeout seconds\n";
sleep($rtimeout);
}
else
{
$ex = explode('|', $result);
if (trim($ex[0])=='OK') return trim($ex[1]);
}
}
return false;
}
}
function getLogin()
{
return getRandText(5, 11,0);
}
function getRandText($min=8, $max=9, $mustint=0)
{
$count = rand($min,$max);
$mg = array ("a", "s", "d", "w", "f","w", "e", "f", "j, "g", "e", "b", "a", "m", "d", "e", "f", "h", "g");
shuffle($mg);
$text = implode('',$mg);
$text = substr($text,0,$count);
return $text;
}
for ($r = 0; $r <= $ammount; $r++)
{
$login = getLogin();
$password = rand(111111,7777777);
$text=recognize(getcwd()."/captcha.jpg",$apikey,false);
$result = post('http://moemesto.ru/register/','from=button&captchaid='.$_POST['captchaid'].'&login='.$login.'&email='.$login.'@gmail.com&password='.$password.'&captcha='.$text.'&do_reg=%D0%97%D0%B0%D1%80%D0%B5%D0%B3%D0%B8%D1%81% D1%82%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1 %8C%D1%81%D1%8F','http://moemesto.ru/register/?from=button');
$result = iconv("UTF-8","Windows-1251",$result);
$fh = fopen($accounts, "a+");
$success - fwrite($fh, $_POST['login'].$divider.$_POST['password']."\r\n");
fclose($fh);
$result = post('http://moemesto.ru/register/',null,'http://moemesto.ru/');
preg_match('#id" value="(.*?)"#i',$result,$captchaid);
}
?>
$result = post('http:.............
Но где? Там регистрация легкая - не требуется подтверждение по e-mail Подскажите чайнику, плиз