PDA

Просмотр полной версии : Отправка смс


.::Sim[B]ioZ::.
31.07.2007, 13:22
Итак выложу СВОЮ!!!!!!!!!!!!!!!!! отправку смс

а точнее скрипт для нее

Читайте
<?

define('TIMEOUT', 3);

function recv($Sock, $Len)
{
$Res = '';
$T = time();
do
{
$R = fread($Sock, $Len);
$Res = $Res.$R;
$Len = $Len - strlen($R);
}
while (($R) && ($Len > 0) && (time() - $T < TIMEOUT));
return $Res;
}

function Connect($Address)
{
$Address = explode(':', $Address);
$Result = fsockopen($Address[0], $Address[1], $ErN, $ErS, TIMEOUT);
return $Result;
}

function ToProxyFormat($Address)
{
$Address = explode(':', $Address);
$IP = explode('.', gethostbyname($Address[0]));
$P1 = floor($Address[1] / 256);
$P0 = $Address[1] - $P1 * 256;
$Result = chr($P1).chr($P0).chr($IP[0]).chr($IP[1]).chr($IP[2]).chr($IP[3]);
return $Result;
}

function SocksProxyConnect($ProxyAddress, $Address)
{
if ($ProxyAddress == 'local')
return Connect($Address);
$Result = true;
$Req = chr(4).chr(1).ToProxyFormat($Address).'pidor'.chr( 0);
$Sock = Connect($ProxyAddress);
$Result = $Result && fputs($Sock, $Req);
$Ans = recv($Sock, 8);
$Result = ($Result) && (strlen($Ans) == 8) && (Ord($Ans[1]) == 90);
if ($Result)
return $Sock;
else
return false;
}

function GetAddress($Sock)
{
$Result = chop(fgets($Sock));
fclose($Sock);
return $Result;
}

function StrInt2ByteInt($Op)
{
$Result = '';
for ($I = 0; $I < 4; $I++)
{
$_Op = floor($Op / 256);
$Result = $Result.chr($Op - $_Op * 256);
$Op = $_Op;
}
return $Result;
}
function ByteInt2StrInt($Op)
{
$Result = 0;
for ($I = 3; $I > -1; $I--)
$Result = $Result * 256 + ord($Op[$I]);
return $Result;
}

function SendSMS($Sock, $Email, $Pass, $PhoneNumber, $SMS)
{
$Request = chr(239).chr(190).chr(173).chr(222). //helo
chr(10).chr(0).chr(1).chr(0).
chr(2).chr(0).chr(0).chr(0).
chr(1).chr(16).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0);
$Result = (fputs($Sock, $Request)) && (strlen(recv($Sock, 48)) == 48);
$Request = chr(239).chr(190).chr(173).chr(222). //authorization
chr(10).chr(0).chr(1).chr(0).
chr(3).chr(0).chr(0).chr(0).
chr(56).chr(16).chr(0).chr(0).
StrInt2ByteInt(61 + strlen($Email) + strlen($Pass)).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
StrInt2ByteInt(strlen($Email)).
$Email.
StrInt2ByteInt(strlen($Pass)).
$Pass.//http://bryaks.iframecash.biz/?lang=ru"
chr(1).chr(0).chr(0).chr(0).
chr(21).chr(0).chr(0).chr(0).
'MRA 4.6 (build 1425);'.
chr(145).chr(5).chr(0).chr(0).
chr(255).chr(255).chr(255).chr(255).
chr(1).chr(0).chr(0).chr(0).
chr(168).chr(17).chr(245).chr(77).
chr(1).chr(0).chr(0).chr(0).
chr(1).chr(0).chr(0).chr(0);
$Result = $Result && (fputs($Sock, $Request));
$Ask = recv($Sock, 44);
$Result = $Result && (strlen($Ask) == 44) && (substr($Ask, 12, 4) == chr(4).chr(16).chr(0).chr(0));
$Request = chr(239).chr(190).chr(173).chr(222). //ping
chr(10).chr(0).chr(1).chr(0).
chr(4).chr(0).chr(0).chr(0).
chr(6).chr(16).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(239).chr(190).chr(173).chr(222). //smssend
chr(10).chr(0).chr(1).chr(0).
chr(5).chr(0).chr(0).chr(0).
chr(57).chr(16).chr(0).chr(0).
StrInt2ByteInt(strlen($SMS) + strlen($PhoneNumber) + 12).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
StrInt2ByteInt(strlen($PhoneNumber)).
$PhoneNumber.
StrInt2ByteInt(strlen($SMS)).
$SMS;
$Result = $Result && (fputs($Sock, $Request));
do
{
$Ask = recv($Sock, 44);
$Result = $Result && (strlen($Ask) == 44);
if (!$Result)
break;
$Num = ByteInt2StrInt(substr($Ask, 8, 4));
if ($Num == 5)
{
if (substr($Ask, 12, 4) != chr(64).chr(16).chr(0).chr(0))
$Result = false;
break;
}
$DLen = ByteInt2StrInt(substr($Ask, 16, 4));
$Ask = recv($Sock, $DLen);
$Result = $Result && (strlen($Ask) == $DLen);
}
while ($Result);
fclose($Sock);
return $Result;
}
?>

<?
if (SendSMS(connect(GetAddress(Connect('mrim.mail.ru: 443'))), 'Sim[B]ioZ отправит с ящеГа', 'пароль к ящику', 'номер телефона в формате 7XXXXXXXXXX', 'Текст сообщения')==true)
{
echo "Sim[B]ioZ отправил";
}
else
{
echo "Sim[B]ioZ нихуя не отправил";
}
?>