Перейти к содержимому

 Друзья: Всё для вебмастера | [ Реклама на форуме ]


Rutor
Rutor


[ DDos Услуги. DDos атака. Заказать ДДос ]


Mail.ru регер


  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1
###

###

    Экзабайт

  • Advanced
  • PipPipPipPipPipPip
  • 1743 сообщений
Краткое описание:
Полуавтоматический реггер почт на mail.ru, написанный на PHP. Скрипт автоматически заполняет все необходимые данные рандомно, от Вас требуется только ввести капчу. Скрипт использует технологию AJAX, поэтому регистрация проходит максимально быстро.

Характеристики:
  • AJAX + PHP
  • Минимум настроек, скрипт всё заполнит сам рандомно
  • Есть поддержка прокси
  • Поддерживает два вида капч на mail.ru
Требования:
Хост с поддержкой PHP, fsockopen и сессий (бесплатные хосты с рекламой не подойдут)
Скрытый текст
<?php 
set_time_limit(0); 
session_start(); 

$ajax=isset($_POST['ajax']) ? 1 : 0; 

$browser="Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14"; 

$thescript=''; 

for($tlen=strlen($_SERVER['SCRIPT_NAME']),$i=$tlen-1;$i>=0;$i--) 
{ 
  if($_SERVER['SCRIPT_NAME']{$i}=='/') break; 
  $thescript=$_SERVER['SCRIPT_NAME']{$i}.$thescript; 
} 


if(isset($_GET['nw'])) 
{ 
  $pr=isset($_GET['pr']) ? $_GET['pr'] : ''; 
  $pp=isset($_GET['pp']) ? $_GET['pp'] : ''; 

  $x=isset($_GET['img_coord_x']) ? $_GET['img_coord_x'] : ''; 
  $y=isset($_GET['img_coord_y']) ? $_GET['img_coord_y'] : ''; 

  if($x) 
  { 
    $_GET['nw'].='&img_coord.x='.$x.'&img_coord.y='.$y; 
  } 



  $ret=socket_do('win.mail.ru','','/cgi-bin/x_reg_frame?x_reg_id=regV2_'.$_GET['nw'],$browser,'',1,'GET','http://win.mail.ru/c...&#39;,0,$pr,$pp); 

  if(strpos($ret,'Код введен правильно')!==false) 
  { 
print <<<HERE 
<html><body><script> 
window.opener.focus(); 
window.close(); 
window.opener.send2(); 
</script> 
</body> 
</html> 
HERE; 
  } 

  if(strpos($ret,'Вы неправильно ввели')!==false) 
  { 
print <<<HERE 
<html><body><script> 
window.opener.focus(); 
window.opener.errMsg(4); 
window.opener.nextReg(); 
window.close(); 
</script> 
</body> 
</html> 
HERE; 
  } 

  

  $ret=substr($ret,strpos($ret,"\r\n\r\n")+4); 

  $ret=str_replace('action=x_reg_frame',"action='?'",$ret); 

  $ret=str_replace("src=\"x_code_image?","src=\"?pr={$pr}&pp={$pp}&img2=",$ret); 

  $ret=str_replace("name=\"x_reg_id\"","name='nw'",$ret); 

  $ret=str_replace("<input type=hidden value=\"regV2_","<input type=hidden value=\"",$ret); 

  $ret=str_replace('</form>',"<input type='hidden' name='pr' value='$pr'><input type='hidden' name='pp' value='$pp'></form>",$ret); 

  print $ret; 

  exit(); 
} 


if(isset($_GET['img2'])) 
{ 
  if(!isset($_GET['x_reg_id'])) 
    die(); 


  $pr=isset($_GET['pr']) ? $_GET['pr'] : ''; 
  $pp=isset($_GET['pp']) ? $_GET['pp'] : ''; 

  if($pr) 
  { 
    if(!preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/",$pr) || !preg_match("/^(\d)+$/",$pp)) 
    { 
      $pr=''; 
      $pp=''; 
    } 
  } 

  $ret=socket_do('win.mail.ru','','/cgi-bin/x_code_image?x_reg_id='.$_GET['x_reg_id'],$browser,'',1,'GET','',0,$pr,$pp); 
  print substr($ret,strpos($ret,"\r\n\r\n")+4); 
  exit(); 
} 



if(isset($_GET['img'])) 
{ 
  header('Content-type: image/jpeg'); 
  $img=$_GET['img']; 
  $num=isset($_GET['num']) ? $_GET['num'] : ''; 
  $id=isset($_GET['id']) ? $_GET['id'] : ''; 

  $pr=isset($_GET['pr']) ? $_GET['pr'] : ''; 
  $pp=isset($_GET['pp']) ? $_GET['pp'] : ''; 

  if($pr) 
  { 
    if(!preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/",$pr) || !preg_match("/^(\d)+$/",$pp)) 
    { 
      $pr=''; 
      $pp=''; 
    } 
  } 

  if(!preg_match("/^[0-9a-z]+$/i",$img) || !preg_match("/^[0-9a-z]+$/i",$id) || !preg_match("/^[0-9]+$/i",$num)) 
    die(); 
  $ret=socket_do('win.mail.ru','','/cgi-bin/x_image?'.$img.'&num='.$num.'&x_reg_id='.$id,$browser,'',1,'GET','http://win.mail.ru/c...&#39;,0,$pr,$pp); 
  print substr($ret,strpos($ret,"\r\n\r\n")+4); 
  exit(); 
} 


$ver='1.0'; 
if(!$ajax) 
{ 
print <<<HERE 
<html><head> 
<title>Mail.ru Regger   
HERE; 
$ftmp='b'.'y'.' '.'D'.'X'.' '; 
print $ftmp; 
print <<<HERE 
$ver</title> 
<style> 
td 
{ 
border-width:1px 1px 1px 1px; 
border-style:solid; 
border-color:black; 
} 
INPUT 
{ 
BORDER-RIGHT: rgb(50,50,50) 1px outset; 
BORDER-TOP: rgb(50,50,50) 1px outset; 
FONT-SIZE: 11px; 
font-family:Arial; 
BORDER-LEFT: rgb(50,50,50) 1px outset; 
BORDER-BOTTOM: rgb(50,50,50) 1px outset; 
} 
button 
{ 
BORDER-RIGHT: rgb(50,50,50) 1px outset; 
BORDER-TOP: rgb(50,50,50) 1px outset; 
FONT-SIZE: 10px; 
BORDER-LEFT: rgb(50,50,50) 1px outset; 
BORDER-BOTTOM: rgb(50,50,50) 1px outset; 
width:50px; 
} 
textarea 
{ 
BORDER-RIGHT: rgb(50,50,50) 1px outset; 
BORDER-TOP: rgb(50,50,50) 1px outset; 
BORDER-LEFT: rgb(50,50,50) 1px outset; 
BORDER-BOTTOM: rgb(50,50,50) 1px outset; 
FONT-SIZE: 13px; 
font-family:Arial; 
} 
select 
{ 
FONT-SIZE: 10px; 
background-color:#f4f4ff; 
} 
a,a:active,a:visited 
{ 
background: transparent; 
color: #34498B; 
text-decoration: none; 
font-weight:700; 
font-size:10; 
font-family:Arial; 
background-color:wheat; 
} 
a:hover 
{ 
background: transparent; 
color: blue; 
font-weight:700; 
font-family:Arial; 
font-size:10; 
text-decoration: none; 
background-color:yellow; 
} 
</style> 
</head> 
<body> 
<table style="border-width:1px 1px 1px 1px; border-style:solid; border-collapse:collapse; border-color:black; width:100%; height:100%"> 
<tr><td colspan=2 align=center style="font-size:18;height:10">Mail.ru Regger By DX $ver</td></tr> 
<tr valign=top><td><span id="name1">Установите настройки и нажмите &quot;Начать&quot;</span><hr> 
<div id="stats" style="display:none;padding:4px;width:500px;height:350;overflow:auto;border-width:1px 1px 1px 1px;border-color:black;border-style:solid;"></div> 
<span id="successm" style="display:none;"></span><br> 
<br><div id="scrl2" style="display:none;""><input type="checkbox" checked id="scrl"> Авто-скролл логов</div> 
</td><td style="width:290">Опции рассылки<hr> 
<div id="opts"> 
<div id="choose"> 
<a href="#" onclick="chtab(1);return false;">Прокси</a> <a href="#" onclick="chtab(2);return false;">Настройки</a> 
  <a href="#" onclick="chtab(3);return false;">Зарегистрированные e-mail</a> 
<hr></div> 
<div id="tab1"> 
Список прокси (не обязательно):<br><textarea rows=20 cols=30 id="proxy"></textarea> 
<br>Прокси-серверы будут меняться для каждой регистрации. 
</div> 

<div id="tab2" style="display:none"> 
Минимальная длина e-mail: <input type="text" id="minlen" value="7" style="width:50"><br> 
Максимальная длина e-mail: <input type="text" id="maxlen" value="12" style="width:50"><br> 
Разделять e-mail и пароль символом: <input type="text" id="symb" value=":" style="width:20" maxlength=1> 
</div> 

<div id="tab3" style="display:none"> 
Список зарегистрированных:<br> 
<textarea rows=20 cols=37 id="emails"></textarea> 
</div> 
</div> 
</td></tr> 



<tr><td colspan=2 align=center style="height:20"><input type="button" onclick="startmess()" value="Начать регистрацию" id="st"></td></tr> 
</table> 
<script language='Javascript'> 
var ismes=false; 
var prox=new Array(); 
var pport=new Array(); 
var useproxy=false; 
var k=0; 
var maxp; 
var nregex=/^\d+$/g; 
var successes=0; 

var minlen; 
var maxlen; 
var symb; 

var uagent=navigator.userAgent.toLowerCase(); 
var is_win=((uagent.indexOf("win")!=-1) || (uagent.indexOf("16bit")!=-1)); 
var is_opera=(uagent.indexOf('opera')!=-1); 
var is_webtv=(uagent.indexOf('webtv')!=-1); 
var is_safari=((uagent.indexOf('safari')!=-1) || (navigator.vendor=="Apple Computer, Inc.")); 
var is_ie=((uagent.indexOf('msie')!=-1) && (!is_opera) && (!is_safari) && (!is_webtv)); 

function chtab(num) 
{ 
  hideTabs(); 
  showTab(num); 
} 

function hideTabs() 
{ 
  for(var i=1;i<=3;i++) 
  { 
    document.getElementById("tab"+i).style.display="none"; 
  } 
} 

function showTab(num) 
{ 
  document.getElementById("tab"+num).style.display="block"; 
} 


function startmess() 
{ 
  if(ismes) 
  { 
    if(!window.confirm("Вы действительно желаете остановить регистрацию?")) 
      return; 

    ismes=false; 
    document.getElementById("st").value="Начать регистрацию"; 
    document.getElementById("stats").style.display="none"; 
    document.getElementById("name1").innerHTML="Установите настройки и нажмите &quot;Начать&quot;"; 
    document.getElementById("successm").style.display="none"; 
    document.getElementById("scrl2").style.display="none"; 
    document.getElementById("choose").style.display="block"; 

    return; 
  } 

  document.getElementById("proxy").value=document.getElementById("proxy").value.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); 

  prox=new Array(); 
  pport=new Array(); 
  useproxy=false; 
  k=0; 
  successes=0; 

  var tmp; 

  minlen=document.getElementById("minlen").value; 
  maxlen=document.getElementById("maxlen").value; 
  symb=document.getElementById("symb").value; 

  if(symb.length!=1) 
  { 
    alert("Введите разделитель адреса и пароля в списке зарегистрированных."); 
    chtab(2); 
    return false; 
  } 

  if(minlen.search(nregex)==-1 || maxlen.search(nregex)==-1 || Number(minlen)>Number(maxlen)) 
  { 
    alert("Введите правильную минимальную и максимальную длину адреса."); 
    chtab(2); 
    return false; 
  } 


  if(document.getElementById("proxy").value.length>0) 
  { 
    tmp=document.getElementById("proxy").value.replace(/\\r/g,"").split("\\n"); 

    var cnt=tmp.length; 

    if(cnt==0) 
    { 
      alert("Прокси-серверы введены в неверном формате. Используйте ip:port."); 
      chtab(1); 
      return false; 
    } 

    for(var i=0;i<cnt;i++) 
    { 
      tmp2=tmp[i].split(":"); 
      cnt2=tmp2.length; 
      if(cnt2!=2) 
      { 
        alert("Прокси-серверы введены в неверном формате. Используйте ip:port."); 
        chtab(1); 
        return false; 
      } 

      if(tmp2[0].length==0 || tmp2[1].length==0) 
      { 
        alert("Прокси-серверы введены в неверном формате. Используйте ip:port."); 
        chtab(1); 
        return false; 
      } 

      prox[i]=tmp2[0]; 
      pport[i]=tmp2[1]; 
    } 

    useproxy=true; 
    maxp=cnt; 
  } 


  ismes=true; 
  document.getElementById("st").value="Идёт регистрация..."; 
  document.getElementById("stats").style.display="block"; 
  document.getElementById("name1").innerHTML="Процесс регистрации адресов"; 
  document.getElementById("scrl2").style.display="block"; 
  document.getElementById("choose").style.display="none"; 
  chtab(3); 

  document.getElementById("successm").style.display="block"; 
  document.getElementById("successm").innerHTML="Успешно зарегистрировано: 0"; 

  document.getElementById("stats").innerHTML="<font color='red'><b>Старт регистрации...</b></font><br>"; 

  setTimeout("startReg()",1); 
} 




function startReg() 
{ 
  sendRequest("act=1",1); 

  if(useproxy) changeProxy(); 
} 





function nextReg(suc,addr,pass) 
{ 
  if(suc) 
  { 
    successes++; 
    document.getElementById("successm").innerHTML="Успешно зарегистрировано: "+successes; 
    addMes("<font color=green'>Успешно зарегистрирован адрес "+addr+"</font><br>"); 
    document.getElementById("emails").value=document.getElementById("emails").value+addr+symb+pass+"\\n"; 
  } 

  setTimeout("startReg()",1); 
} 


function print_images(data1,data2,data3) 
{ 
  addMes("<div id='imgss'><img id='i1' src='?"+data1+"&pr="+prox[k]+"&pp="+pport[k]+"' /><img id='i2' src='?"+data2+"&pr="+prox[k]+"&pp="+pport[k]+"' /><img id='i3' src='?"+data3+"&pr="+prox[k]+"&pp="+pport[k]+"' /><br><input type='text' name='cap' onkeypress='checkEnter(event)' id='cpc'><br><input type='button' id='snd' onclick='scpc()' value='Готово'><br></div>"); 
  setTimeout('fcs()',100); 
} 


function fcs() 
{ 
  document.all.cap.focus(); 
} 


function checkEnter(e) 
{ 
  var characterCode; 
  if(e && e.which) 
  { 
    characterCode=e.which; 
  } 
  else 
  { 
    e=event; 
    characterCode=e.keyCode; 
  } 

  if(characterCode==13) 
    scpc(); 
  else 
    return false;  
} 



function scpc() 
{ 
  var xtmp=document.getElementById('cpc').value; 
  if(!xtmp) {alert("Введите символы с картинок");return false;} 

  if(document.getElementById('imgss')) 
  { 
    document.getElementById('imgss').innerHTML=''; 
    if(is_ie) 
      document.getElementById('imgss').outerHTML=''; 
    else 
      document.getElementById('imgss').id=''; 
  } 
  sendRequest("act=2&minlen="+minlen+"&maxlen="+maxlen+"&imt="+xtmp); 
} 

function send2() 
{ 
  sendRequest("act=2&minlen="+minlen+"&maxlen="+maxlen+"&noimgs=1"); 
} 


var lognum=0; 

function addMes(msg) 
{ 
  lognum++; 
  if(lognum>200) 
  { 
    lognum=0; 
    document.getElementById("stats").innerHTML=""; 
  } 

  document.getElementById("stats").innerHTML=document.getElementById("stats").innerHTML+msg; 
  if(document.getElementById("scrl").checked==true) document.getElementById("stats").scrollTop=100000; 
} 


function errMsg(typ) 
{ 
  switch(typ) 
  { 
    case 1: 
      addMes("<font color='red'>Ошибка парсинга страницы регистрации.</font><br>"); 
    break; 

    case 2: 
      addMes("<font color='red'>Ошибка регистрации e-mail, возможно, он уже существует.</font><br>"); 
    break; 

    case 3: 
      addMes("<font color='red'>Прокси введены в неправильном формате.</font><br>"); 
    break; 

    case 4: 
      addMes("<font color='red'>Неверно введён защитный код.</font><br>"); 
    break; 

    case 5: 
      addMes("<font color='red'>Такой e-mail уже существует.</font><br>"); 
    break; 

    case 6: 
      addMes("<font color='red'>Превышен лимит регистраций с данного IP.</font><br>"); 
    break; 
  } 
} 


function createHttpRequest() 
{ 
  if(is_ie) 
    httpRequest=new ActiveXObject("Microsoft.XMLHTTP"); 
  else 
    httpRequest=new XMLHttpRequest(); 

  return httpRequest; 
} 


function changeProxy() 
{ 
  k++; 
  if(k>=maxp) k=0; 
} 




function winOp(xid) 
{ 
  addMes("<font color='blue'>Обнаружена сложная капча. Сейчас откроется окно для её ввода.</font><br>"); 
  window.open("{$thescript}?nw="+xid+"&pr="+prox[k]+"&pp="+pport[k],"Regger","menubar=no,location=no,resizable=no,scrollbars=no,status=no,width=200,height=150"); 
} 



function sendRequest(params,showprox) 
{ 
  if(useproxy) 
  { 
    if(params) params=params+"&pr="+prox[k]+"&pp="+pport[k]; else params="pr="+prox[k]+"&pp="+pport[k]; 
    if(showprox) params=params+"&shp=1"; 
  } 

  if(params) params=params+"&ajax=1"; else params="ajax=1"; 

  httpRequest.open('POST',"$thescript",true); 
  httpRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
  httpRequest.setRequestHeader("Content-length",params.length); 
  httpRequest.setRequestHeader("Connection","close"); 
  httpRequest.onreadystatechange=getRequestx; 
  httpRequest.send(params); 
} 

function getRequestx() 
{ 
  if(httpRequest.readyState==4) 
    eval(httpRequest.responseText); 

} 

var httpRequest=createHttpRequest(); 
</script> 
</body></html> 
HERE; 
} 
else 
{ 
  header("Content-type: text/html; charset=windows-1251"); 

  $act=isset($_POST['act']) ? $_POST['act'] : 0; 
  $pr=isset($_POST['pr']) ? $_POST['pr'] : ''; 
  $pp=isset($_POST['pp']) ? $_POST['pp'] : ''; 

  if($pr) 
  { 
    if(!preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/",$pr)) 
    { 
      $pr=''; 
      print("errMsg(3);"); 
    } 

    if(!preg_match("/^(\d)+$/",$pp)) 
    { 
      $pp=''; 
      print("errMsg(3);"); 
    } 

    if(isset($_POST['shp'])) 
    { 
      print "addMes('<font color=blue>Текущий прокси: $pr:$pp</font><br>');"; 
      ob_flush(); 
      flush(); 
    } 
  } 

  switch($act) 
  { 
    case '1': 
      $ret=socket_do('win.mail.ru','','/cgi-bin/signup',$browser,'',1,'GET','http://mail.ru&#39;,...&#39;,0,$pr,$pp); 

      preg_match("/<input type=\"hidden\" name=\"ID\" value=\"([0-9a-z]+)\">/is",$ret,$m); 

      if(!isset($m[1])) 
        die("errMsg(1);nextReg();"); 

      $_SESSION['id']=$m[1]; 

      preg_match("/name_ = document\.uinfo\.x_([a-z0-9]+)\./is",$ret,$m); 

      if(!isset($m[1])) 
        die("errMsg(1);nextReg();"); 

      $_SESSION['email']=$m[1]; 


      preg_match("/lastName_ = document\.uinfo\.x_([a-z0-9]+)\./is",$ret,$m); 

      if(!isset($m[1])) 
        die("errMsg(1);nextReg();"); 

      $_SESSION['lastname']=$m[1]; 


      preg_match("/firstName_ = document\.uinfo\.x_([a-z0-9]+)\./is",$ret,$m); 

      if(!isset($m[1])) 
        die("errMsg(1);nextReg();"); 

      $_SESSION['firstname']=$m[1]; 

      preg_match("/birthDay_ = parseInt\(document\.uinfo\.x_([a-z0-9]+)\./is",$ret,$m); 

      if(!isset($m[1])) 
        die("errMsg(1);nextReg();"); 

      $_SESSION['birthday']=$m[1]; 


      preg_match("/birthYear_ = parseInt\(document\.uinfo\.x_([a-z0-9]+)\./is",$ret,$m); 

      if(!isset($m[1])) 
        die("errMsg(1);nextReg();"); 

      $_SESSION['birthyear']=$m[1]; 



      preg_match_all("/<input type=\"password\" name=\"x_([a-z0-9]+)\"/is",$ret,$m); 

      if(!isset($m[1][0]) || !isset($m[1][1])) 
        die("errMsg(1);nextReg();"); 

      $_SESSION['pass1']=$m[1][0]; 
      $_SESSION['pass2']=$m[1][1]; 


      preg_match("/customQuestionAsterix\">&nbsp;<\/td>\n\n    <td><input type=text Name=\"x_([a-z0-9]+)\"/is",$ret,$m); 

      if(!isset($m[1])) 
        die("errMsg(1);nextReg();"); 


      $_SESSION['question']=$m[1]; 






      preg_match("/на&nbsp;вопрос<\/td>\n\n    <td align=right><b class=red>\*<\/b>&nbsp;<\/td>\n\n    <td><input type=text Name=\"x_([a-z0-9]+)\"/is",$ret,$m); 

      if(!isset($m[1])) 
        die("errMsg(1);nextReg();"); 

      $_SESSION['ans']=$m[1]; 



      preg_match("/<input type=radio Name=\"x_([a-z0-9]+)\" value=\"1\"/is",$ret,$m); 

      if(!isset($m[1])) 
        die("errMsg(1);nextReg();"); 

      $_SESSION['gender']=$m[1]; 









      preg_match_all("/<img src=\"x_image\?([a-z0-9]+)&num=([a-z0-9]+)&x_reg_id=([a-z0-9]+)\"/is",$ret,$m); 

      if(!isset($m[1][0]) || !isset($m[1][1]) || !isset($m[1][2])) 
      { 
        preg_match("/src='x_reg_frame\?([a-z0-9]+)&x_reg_id=regV2_([a-z0-9]+)'><\/iframe>/is",$ret,$m); 

        if(!isset($m[2])) 
          die("errMsg(1);nextReg();"); 

        $_SESSION['regid']='regV2_'.$m[2]; 

        die("winOp('{$m[2]}');"); 
      } 
      else 
      { 
        preg_match("/на&nbsp;картинке<\/td>\n\n    <td align=right><b class=red>\*<\/b>&nbsp;<\/td>\n\n    <td><input type=text name=\"x_([a-z0-9]+)\"/is",$ret,$mm); 

        if(!isset($mm[1])) 
          die("errMsg(1);nextReg();"); 

        $_SESSION['images']=$mm[1]; 

        $_SESSION['img1']=$m[1][0]; 
        $_SESSION['img2']=$m[1][1]; 
        $_SESSION['img3']=$m[1][2]; 

        $_SESSION['imgnum1']=$m[2][0]; 
        $_SESSION['imgnum2']=$m[2][1]; 
        $_SESSION['imgnum3']=$m[2][2]; 

        $_SESSION['regid']=$m[3][0]; 


        die("print_images('img=".$m[1][0]."&num=".$m[2][0]."&id=".$m[3][0]."','img=".$m[1][1]."&num=".$m[2][1]."&id=".$m[3][0]."','img=".$m[1][2]."&num=".$m[2][2]."&id=".$m[3][0]."');"); 
      } 
    break; 


    case '2': 
      $minlen=isset($_POST['minlen']) ? $_POST['minlen'] : 7; 
      $maxlen=isset($_POST['maxlen']) ? $_POST['maxlen'] : 12; 

      $imt=isset($_POST['imt']) ? $_POST['imt'] : ''; 

      $eml=gen_rand_name($minlen,$maxlen); 

      $fname=gen_rand_name(5,15); 
      $lname=gen_rand_name(5,15); 
      $bday=mt_rand(1,29); 
      $bmonth=mt_rand(1,12); 
      $byear=mt_rand(1960,1995); 

      $pss=gen_rand_name(8,12); 
      $qst=gen_rand_name(15,30); 
      $an=gen_rand_name(15,30); 

      $gnd=mt_rand(1,2); 

      $dm=get_r_domain(); 


      if(isset($_POST['noimgs'])) 
        $immms=''; 
      else 
        $immms='&x_'.$_SESSION['images'].'='.$imt; 

      $ret=socket_do('win.mail.ru',"back=&Count=1&ID=".$_session['id'].'&x_'.$_SESSION['email'].'='.$eml 
      .'&RegistrationDomain='.$dm 
      .'&x_'.$_SESSION['lastname'].'='.$lname 
      .'&x_'.$_SESSION['firstname'].'='.$fname 
      .'&x_'.$_SESSION['birthday'].'='.$bday 
      .'&x_'.$_SESSION['birthyear'].'='.$byear 
      .'&BirthMonth='.$bmonth 
      .'&x_'.$_SESSION['pass1'].'='.$pss 
      .'&x_'.$_SESSION['pass2'].'='.$pss 
      .'&Password_Question=Custom' 
      .'&x_'.$_SESSION['question'].'='.$qst 
      .'&x_'.$_SESSION['ans'].'='.$an 
      .'&x_'.$_SESSION['gender'].'='.$gnd 
      .$immms 
      .'&security_image_id=' 
      .'&x_reg_id='.$_SESSION['regid'] 
      .'&B1='.urlencode(' Зарегистрировать почтовый ящик ') 
      ,'/cgi-bin/reg',$browser,'',1,'POST','http://win.mail.ru/c...&#39;,1,$pr,$pp); 

      if(strpos($ret,'Пользователь с таким именем уже зарегистрирован в системе')!==false) 
        die("errMsg(5);nextReg()"); 

      if(strpos($ret,'Неверно указан код защиты от автоматических регистраций')!==false) 
        die("errMsg(4);nextReg()"); 

      if(strpos($ret,'Превышен лимит регистраций с Вашего IP')!==false) 
        die("errMsg(6);nextReg()"); 


      if(strpos($ret,'HTTP/1.1 302 Found')===0) 
        die("nextReg(1,'".$eml.'@'.$dm."','".$pss."');"); 
      else 
        die("errMsg(2);nextReg()"); 
    break; 


    default: 
      die(); 
  } 

} 





function get_r_domain() 
{ 
  switch(mt_rand(1,4)) 
  { 
    case 1: 
      return 'mail.ru'; 
    break; 
    case 2: 
      return 'list.ru'; 
    break; 
    case 3: 
      return 'bk.ru'; 
    break; 
    case 4: 
      return 'inbox.ru'; 
    break; 
  } 
} 






function socket_do($host,$vars,$service_uri,$browser,$cookies='',$sread=1,$method='POST',$ref='',$addheaders=1,$proxy=false,$proxyport=0,$HTTP='1.0') 
{ 
  $ret=""; 

  if($method=='GET' && $vars) 
  { 
    $service_uri.='?'.$vars; 
    $vars=''; 
  } 

  $header="Host: $host\r\n"; 
  $header.="User-Agent: $browser\r\n"; 

  if($addheaders==1) 
  { 
    $header.="Content-Type: application/x-www-form-urlencoded\r\n"; 
    $header.="Content-Length: ".strlen($vars)."\r\n"; 
  } 
  else if($addheaders==0) 
  { 
    $header.="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n"; 
    $header.="Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n"; 
    $header.="Accept-Encoding: \r\n"; 
    $header.="Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n"; 
  } 
  else if($addheaders==2) 
  { 
    $header.="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n"; 
    $header.="Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n"; 
    $header.="Accept-Encoding: \r\n"; 
    $header.="Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n"; 
    $header.="Pragma: no-cache\r\n"; 
    $header.="Cache-Control: no-cache\r\n"; 
    $header.="Content-Length: ".strlen($vars)."\r\n"; 
    $header.="Content-Type: application/x-www-form-urlencoded; charset=windows-1251\r\n"; 
  } 
  else if($addheaders==3) 
  { 
    $header.="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n"; 
    $header.="Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n"; 
    $header.="Accept-Encoding: gzip,deflate\r\n"; 
    $header.="Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n"; 
  } 


  if($ref) $header.="Referer: $ref\r\n"; 

  $header.="Connection: close\r\n"; 

  if($cookies) 
    $header.="Cookie: $cookies\r\n"; 

  $header.="\r\n"; 


  if($proxy) 
  { 
    $addquery="$method http://$host$service_uri  HTTP/$HTTP\r\n"; 
    $fp=fsockopen("tcp://".$proxy,$proxyport,$errno,$errstr,30); 
  } 
  else 
  { 
    $addquery="$method $service_uri  HTTP/$HTTP\r\n"; 
    $fp=fsockopen("tcp://".$host,80,$errno,$errstr,30); 
  } 

  stream_set_timeout($fp,30); 

  if(!$fp) 
  { 
    print "<font color=red>Socket error: <i>$errstr ($errno)</i></font><br>"; 
    return ''; 
  } 

  fputs($fp,$addquery); 
  fputs($fp,$header.$vars); 

  if($sread) 
  { 
    while(!feof($fp)) 
    { 
      $ret.=fgets($fp, 128); 
    } 
  } 

  fclose($fp); 

  return $ret; 
} 



function gen_rand_name($from,$to) 
{ 
  $name=''; 

  for($i=0,$cnt=mt_rand($from,$to);$i<$cnt;$i++) 
  { 
    $name.=mt_rand(0,3)==3 ? mt_rand(0,9) : chr(mt_rand(97,122)); 
  } 

  return $name; 
} 

?>

Ссылки из под хайдов не выдаю!


#2
ArtMain111

ArtMain111

    Бит

  • Members
  • 1 сообщений
Вот готовый пользуйтесь!
]]>http://www.artmain.u....cc/regmail.php]]>


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных