| InferNo23 |
29.12.2006 10:23 |
PHP код:
<?php
/** Made by gemaglabin [ http://cup.su ]
Respects : SkvoznoY,NeMeZida,Nerezus,Bug(0),Cash and #aol
cup.su antichat.ru underwater.cup.su - in cup we trust
отправка смс возможна не чаще чем раз в минуту с одного аккаунта
*/
# Настройки
define ( 'MRIM_CS_HELLO', 'EFBEADDE09000100020000000110000000000000000000000000000000000000000000000000000000000000');
define ( 'MRIM_CS_AUTH', 'EFBEADDE070001000600000003100000');
define ( 'MRIM_SMS_HEADER', 'EFBEADDE090001000B00000039100000');
define ( 'MRIM_CS_LOGIN_REJ', 'Invalid');
define ( 'MRIM_DEFAULT_SERVER', 'mrim.mail.ru');
define ( 'MRIM_SERVER_PORT', '2042');
function tpl_process($title,$color)
{
return <<<HTML
<SCRIPT>
with(document.getElementById('logarea'))
{
str = "$title";
col = "$color"
str = '<FONT FACE=TAHOMA><FONT SIZE=2><FONT COLOR=' + col + '>' + str + '</FONT></FONT></FONT>';
innerHTML += innerHTML ? "<BR>\\n" + str : str;
scrollTop += 14;
}
</SCRIPT>
HTML;
}
# Формируем пакет отправки смс
function Agent_Sms ()
{
global $number;
global $smstext;
/**
MRIM_SMS_HEADER / STRING_DATA_LENGTH / NUM_DATA_LENGTH / NUM_DATA_STRING / TEXT_DATA_LENGTH / TEXT_DATA_STRING
*/
$packet = pack("H*",MRIM_SMS_HEADER);
$packet .= pack("H*",dechex( 12 + strlen($number) + strlen($smstext) ));
$packet .= pack("H*","00000000000000000000000000000000000000000000000000000000000000");
$packet .= chr (strlen($number)) ;
$packet .= pack("H*","000000");
$packet .= $number;
$packet .= chr (strlen($smstext));
$packet .= pack("H*","000000");
$packet .= $smstext;
return $packet;
}
# Аутенфицируемся
function Agent_Login ($aserver,$aport )
{
global $number;
global $smstext;
global $auser;
global $apass;
/**
MRIM_ AUTH_HEADER / STRING_DATA_LENGTH / USER_DATA_LENGTH / USER_STRING / PASS_DATA_LENGTH / PASS_STRING / MRIM_AGENT
*/
$user_length = strlen ($auser);
$pass_length = strlen ($apass);
$fsocket = fsockopen($aserver,(int) $aport,$errnum,$errstr,5 );
if (!$fsocket) die ($errstr);
fwrite ( $fsocket,pack("H*",MRIM_CS_HELLO));
$responce = fgets($fsocket,5);
$request = pack("H*",MRIM_CS_AUTH);
$request .= pack("H*",dechex( strlen($auser) + strlen($apass) + 61));
$request .= pack("H*","000000000000000000000000000000000000000000000000000000");
$request .= chr( strlen($auser) );
$request .= pack("H*","000000");
$request .= $auser;
$request .= chr( strlen($apass) );
$request .= pack("H*","000000");
$request .= $apass;
$request .= pack("H*","01000000150000004D524120342E3520286275696C642031333939293B77050000FFFFFFFF1A0000004A98E5440100000001000000");
fwrite ( $fsocket,$request );
$responce = fgets($fsocket,100) ;
if (strpos($responce,MRIM_CS_LOGIN_REJ))
{
echo tpl_process("<b>Failed to login</b>","red");
exit;
}
else
{ # Залогинились и можем слать смс
echo tpl_process("<b>Logined successfully</b>","green");
$smspacket = Agent_Sms ();
fwrite ( $fsocket,$smspacket) ;
$responce = fgets($fsocket,300) ;
if (strpos($responce,"доставлено не было") || strpos($responce,"не может быть"))
{
echo tpl_process("<b>Failed to send sms</b>","red");
exit;
}
else echo tpl_process("<b>Sms was sent successfully</b>","green");
}
}
# Логинимся
function Agent_Connect()
{
global $auser;
global $apass;
# В этой функции устанавливаем соединение с mrim.mail.ru и получаем сервер:порт для дальнейшей работы
$fsocket = fsockopen(MRIM_DEFAULT_SERVER,MRIM_SERVER_PORT,$errnum,$errstr,5 );
if (!$fsocket)
{
echo tpl_process("<b>An error occured : $errstr</b>","red");
exit;
}
$responce = fgets($fsocket,20);
fclose ($fsocket);
$fserver = substr ($responce,0,strpos($responce,':'));
$fport = substr ($responce,strpos($responce,':')+1);
echo tpl_process("<b>Connecting to $fserver:$fport</b>","green");
echo Agent_Login ($fserver,$fport);
}
?>
<STYLE TYPE="TEXT/CSS">
<!--
body{
overflow: auto;
}
td {
font: 11px tahoma, verdana, arial;
cursor: default;
}
input, select, div {
font: 11px tahoma, verdana, arial;
}
input.text, select {
width: 100%;
}
fieldset {
margin-bottom: 10px;
}
-->
</STYLE>
<BODY BGCOLOR=#ECE9D8 TEXT=#000000>
<TABLE WIDTH=100% HEIGHT=100% BORDER=0 CELLSPACING=0 CELLPADDING=0 ALIGN=CENTER>
<TR>
<TD HEIGHT=100% ALIGN=CENTER VALIGN=MIDDLE>
<TABLE WIDTH=360 BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR>
<TD VALIGN=TOP STYLE="border: 1px solid #919B9C;">
<TABLE WIDTH=100% HEIGHT=100% BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR>
<TD ID=Header HEIGHT=20 BGCOLOR=#7A96DF STYLE="font-size: 9px; color: white; font-family: tahoma;
padding-left: 5px; FILTER: progid:DXImageTransform.Microsoft.Gradient(gradientType=1,startColorStr=#7A96DF,endColorStr=#FBFBFD)"
TITLE='© cup.su'>
<B><A HREF=http://cup.su STYLE="color: white; text-decoration: none;">Mail.ru Agent Sms Sender cup.[su]</A></B><IMG ID=GS WIDTH=1 HEIGHT=1 STYLE="visibility: hidden;"></TD>
</TR>
<TR>
<FORM NAME=check METHOD=POST ACTION='?go'>
<TD VALIGN=TOP BGCOLOR=#F4F3EE STYLE="FILTER: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#FCFBFE,endColorStr=#F4F3EE); padding: 8px 8px;">
<div style="font-size:11px">
<FIELDSET>
<LEGEND>Configure</LEGEND>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2><TR>
<TD WIDTH=15%>Account</TD>
<TD WIDTH=50%><INPUT NAME=account TYPE=text CLASS=text Value=></TD>
</TR><TR>
<TD>Password</TD>
<TD><INPUT NAME=pass TYPE=text CLASS=text Value=></TD>
<TR>
<TD>Number</TD>
<TD><INPUT NAME=numb TYPE=text CLASS=text Value=></TD>
</TR></TABLE></FIELDSET></SPAN></div>
<FIELDSET>
<LEGEND>Sms Text </LEGEND>
<TABLE WIDTH=97% BORDER=0 CELLSPACING=0 CELLPADDING=2>
<TR><TD COLSPAN=2>
<TEXTAREA STYLE="width: 319px;height: 250px" CLASS="stext" NAME="message" COLS="20" ROWS="5" WRAP="soft"</TextArea>
<TR><TD COLSPAN=2><DIV ID=logarea STYLE="width: 98%; height: 40px; border: 1px solid #7F9DB9; padding: 1px; overflow: auto"></DIV></TD></TR>
</TD></TR></TR></TABLE>
<input class=text type=submit value='Send SMS'>
</TD></TR></TABLE></SPAN>
</div>
<?php
if (isset($_POST['message']) && isset($_POST['numb']) && isset($_POST['account']) && isset($_POST['pass']))
{
global $auser;
global $apass;
global $number;
global $smstext;
$auser = $_POST['account'];
$apass = $_POST['pass'];
$number = $_POST['numb'];
$smstext = $_POST['message'];
echo Agent_Connect($auser,$pass);
}
?>
|