Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php $_F=__FILE__;$_X='Pz48P3BocA0KY2wxc3MgTTE0bCB7DQogICAgcHI0djF0NSAkc210cFM1cnY1ciA9IC..
Decoded Output download
?><?php
class Mail {
private $smtpServer = 'mail.metin2regal.ro';
private $port = '25';
private $timeout = '45';
private $username = '[email protected]';
private $password = '09vudit2QPzg';
private $newline = "
";
////////////////////////////////////////////// NU MODIFICATI ///////////////////
private $charset = 'windows-1251';
private $contentTransferEncoding = false;
// Do not change anything below
private $smtpConnect = false;
private $to = false;
private $subject = false;
private $message = false;
private $headers = false;
private $logArray = array(); // Array response message for debug
private $Error = '';
public function __construct($to, $subject, $message) {
$this->to = &$to;
$this->subject = &$subject;
$this->message = &$message;
// Connect to server
if(!$this->Connect2Server()) {
// Display error message
echo $this->Error.$this->newline.'<!-- '.$this->newline;
print_r($this->logArray);
echo $this->newline.'-->'.$this->newline;
return false;
}
return true;
}
private function Connect2Server() {
// Connect to server
$this->smtpConnect = fsockopen($this->smtpServer,$this->port,$errno,$error,$this->timeout);
$this->logArray['CONNECT_RESPONSE'] = $this->readResponse();
if (!is_resource($this->smtpConnect)) {
return false;
}
$this->logArray['connection'] = "Connection accepted: $smtpResponse";
// Hi, server!
$this->sendCommand("EHLO $this->localdomain");
$this->logArray['EHLO'] = $this->readResponse();
// Let's know each other
$this->sendCommand('AUTH LOGIN');
$this->logArray['AUTH_REQUEST'] = $this->readResponse();
// My name...
$this->sendCommand(base64_encode($this->username));
$this->logArray['REQUEST_USER'] = $this->readResponse();
// My password..
$this->sendCommand(base64_encode($this->password));
$this->logArray['REQUEST_PASSWD'] = $this->readResponse();
// If error in response auth...
if (substr($this->logArray['REQUEST_PASSWD'],0,3)!='235') {
$this->Error .= 'Authorization error! '.$this->logArray['REQUEST_PASSWD'].$this->newline;
return false;
}
// "From" mail...
$this->sendCommand("MAIL FROM: $this->username");
$this->logArray['MAIL_FROM_RESPONSE'] = $this->readResponse();
if (substr($this->logArray['MAIL_FROM_RESPONSE'],0,3)!='250') {
$this->Error .= 'Mistake in sender\'s address! '.$this->logArray['MAIL_FROM_RESPONSE'].$this->newline;
return false;
}
// "To" address
$this->sendCommand("RCPT TO: $this->to");
$this->logArray['RCPT_TO_RESPONCE'] = $this->readResponse();
if (substr($this->logArray['RCPT_TO_RESPONCE'],0,3)!='250') {
$this->Error .= 'Mistake in reciepent address! '.$this->logArray['RCPT_TO_RESPONCE'].$this->newline;
}
// Send data to server
$this->sendCommand('DATA');
$this->logArray['DATA_RESPONSE'] = $this->readResponse();
// Send mail message
if (!$this->sendMail()) return false;
// Good bye server! =)
$this->sendCommand('QUIT');
$this->logArray['QUIT_RESPONSE'] = $this->readResponse();
// Close smtp connect
fclose($this->smtpConnect);
return true;
}
// Function send mail
private function sendMail() {
$this->sendHeaders();
$this->sendCommand($this->message);
$this->sendCommand('.');
$this->logArray['SEND_DATA_RESPONSE'] = $this->readResponse();
if(substr($this->logArray['SEND_DATA_RESPONSE'],0,3)!='250') {
$this->Error .= 'Mistake in sending data! '.$this->logArray['SEND_DATA_RESPONSE'].$this->newline;
return false;
}
return true;
}
// Function read response
private function readResponse() {
$data="";
while($str = fgets($this->smtpConnect,4096))
{
$data .= $str;
if(substr($str,3,1) == " ") { break; }
}
return $data;
}
// function send command to server
private function sendCommand($string) {
fputs($this->smtpConnect,$string.$this->newline);
return ;
}
// function send headers
private function sendHeaders() {
$this->sendCommand("Date: ".date("D, j M Y G:i:s")." +0700");
$this->sendCommand("From: <$this->username>");
$this->sendCommand("Reply-To: <$this->username>");
$this->sendCommand("To: <$this->to>");
$this->sendCommand("Subject: $this->subject");
$this->sendCommand("MIME-Version: 1.0");
$this->sendCommand("Content-Type: text/plain; charset=$this->charset");
if ($this->contentTransferEncoding) $this->sendCommand("Content-Transfer-Encoding: $this->contentTransferEncoding");
$this->sendCommand($this->newline);
return ;
}
public function __destruct() {
if (is_resource($this->smtpConnect)) fclose($this->smtpConnect);
}
}
?>
Did this file decode correctly?
Original Code
<?php $_F=__FILE__;$_X='Pz48P3BocA0KY2wxc3MgTTE0bCB7DQogICAgcHI0djF0NSAkc210cFM1cnY1ciA9ICdtMTRsLm01dDRuYXI1ZzFsLnIyJzsNCiAgICBwcjR2MXQ1ICRwMnJ0ID0gJ2FpJzsNCiAgICBwcjR2MXQ1ICR0NG01MjN0ID0gJ3VpJzsNCiAgICBwcjR2MXQ1ICQzczVybjFtNSA9ICduMi1yNXBseUBtNXQ0bmFyNWcxbC5yMic7DQogICAgcHI0djF0NSAkcDFzc3cycmQgPSAnMDl2M2Q0dGFRUHpnJzsNCiAgICBwcjR2MXQ1ICRuNXdsNG41ID0gIlxuIjsNCiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyBOVSBNT0RJRklDQVRJIC8vLy8vLy8vLy8vLy8vLy8vLy8NCiAgICBwcjR2MXQ1ICRjaDFyczV0ID0gJ3c0bmQyd3MtNmFpNic7DQogICAgcHI0djF0NSAkYzJudDVudFRyMW5zZjVyRW5jMmQ0bmcgPSBmMWxzNTsNCg0KICAgIC8vIEQyIG4ydCBjaDFuZzUgMW55dGg0bmcgYjVsMncNCiAgICBwcjR2MXQ1ICRzbXRwQzJubjVjdCA9IGYxbHM1Ow0KICAgIHByNHYxdDUgJHQyID0gZjFsczU7DQogICAgcHI0djF0NSAkczNiajVjdCA9IGYxbHM1Ow0KICAgIHByNHYxdDUgJG01c3MxZzUgPSBmMWxzNTsNCiAgICBwcjR2MXQ1ICRoNTFkNXJzID0gZjFsczU7DQogICAgcHI0djF0NSAkbDJnQXJyMXkgPSAxcnIxeSgpOyAvLyBBcnIxeSByNXNwMm5zNSBtNXNzMWc1IGYyciBkNWIzZw0KICAgIHByNHYxdDUgJEVycjJyID0gJyc7DQoNCiAgICBwM2JsNGMgZjNuY3Q0Mm4gX19jMm5zdHIzY3QoJHQyLCAkczNiajVjdCwgJG01c3MxZzUpIHsNCiAgICAgICAgJHRoNHMtPnQyID0gJiR0MjsNCiAgICAgICAgJHRoNHMtPnMzYmo1Y3QgPSAmJHMzYmo1Y3Q7DQogICAgICAgICR0aDRzLT5tNXNzMWc1ID0gJiRtNXNzMWc1Ow0KICAgICAgICAvLyBDMm5uNWN0IHQyIHM1cnY1cg0KICAgICAgICA0ZighJHRoNHMtPkMybm41Y3RhUzVydjVyKCkpIHsNCiAgICAgICAgCS8vIEQ0c3BsMXkgNXJyMnIgbTVzczFnNQ0KICAgICAgICAgICAgNWNoMiAkdGg0cy0+RXJyMnIuJHRoNHMtPm41d2w0bjUuJzwhLS0gJy4kdGg0cy0+bjV3bDRuNTsNCiAgICAgICAgICAgIHByNG50X3IoJHRoNHMtPmwyZ0FycjF5KTsNCiAgICAgICAgICAgIDVjaDIgJHRoNHMtPm41d2w0bjUuJy0tPicuJHRoNHMtPm41d2w0bjU7DQogICAgICAgICAgICByNXQzcm4gZjFsczU7DQogICAgICAgIH0NCiAgICAgICAgcjV0M3JuIHRyMzU7DQogICAgfQ0KDQogICAgcHI0djF0NSBmM25jdDQybiBDMm5uNWN0YVM1cnY1cigpIHsNCiAgICAgICAgLy8gQzJubjVjdCB0MiBzNXJ2NXINCiAgICAgICAgJHRoNHMtPnNtdHBDMm5uNWN0ID0gZnMyY2sycDVuKCR0aDRzLT5zbXRwUzVydjVyLCR0aDRzLT5wMnJ0LCQ1cnJuMiwkNXJyMnIsJHRoNHMtPnQ0bTUyM3QpOw0KICAgICAgICAkdGg0cy0+bDJnQXJyMXlbJ0NPTk5FQ1RfUkVTUE9OU0UnXSA9ICR0aDRzLT5yNTFkUjVzcDJuczUoKTsNCg0KICAgICAgICA0ZiAoITRzX3I1czIzcmM1KCR0aDRzLT5zbXRwQzJubjVjdCkpIHsNCiAgICAgICAgICAgIHI1dDNybiBmMWxzNTsNCiAgICAgICAgfQ0KICAgICAgICAkdGg0cy0+bDJnQXJyMXlbJ2Mybm41Y3Q0Mm4nXSA9ICJDMm5uNWN0NDJuIDFjYzVwdDVkOiAkc210cFI1c3AybnM1IjsNCiAgICAgICAgLy8gSDQsIHM1cnY1ciENCiAgICAgICAgJHRoNHMtPnM1bmRDMm1tMW5kKCJFSExPICR0aDRzLT5sMmMxbGQybTE0biIpOw0KICAgICAgICAkdGg0cy0+bDJnQXJyMXlbJ0VITE8nXSA9ICR0aDRzLT5yNTFkUjVzcDJuczUoKTsNCiAgICAgICAgLy8gTDV0J3Mga24ydyA1MWNoIDJ0aDVyDQogICAgICAgICR0aDRzLT5zNW5kQzJtbTFuZCgnQVVUSCBMT0dJTicpOw0KICAgICAgICAkdGg0cy0+bDJnQXJyMXlbJ0FVVEhfUkVRVUVTVCddID0gJHRoNHMtPnI1MWRSNXNwMm5zNSgpOw0KICAgICAgICAvLyBNeSBuMW01Li4uDQogICAgICAgICR0aDRzLT5zNW5kQzJtbTFuZChiMXM1ZXVfNW5jMmQ1KCR0aDRzLT4zczVybjFtNSkpOw0KICAgICAgICAkdGg0cy0+bDJnQXJyMXlbJ1JFUVVFU1RfVVNFUiddID0gJHRoNHMtPnI1MWRSNXNwMm5zNSgpOw0KICAgICAgICAvLyBNeSBwMXNzdzJyZC4uDQogICAgICAgICR0aDRzLT5zNW5kQzJtbTFuZChiMXM1ZXVfNW5jMmQ1KCR0aDRzLT5wMXNzdzJyZCkpOw0KICAgICAgICAkdGg0cy0+bDJnQXJyMXlbJ1JFUVVFU1RfUEFTU1dEJ10gPSAkdGg0cy0+cjUxZFI1c3AybnM1KCk7DQogICAgICAgIC8vIElmIDVycjJyIDRuIHI1c3AybnM1IDEzdGguLi4NCiAgICAgICAgNGYgKHMzYnN0cigkdGg0cy0+bDJnQXJyMXlbJ1JFUVVFU1RfUEFTU1dEJ10sMCxvKSE9J2FvaScpIHsNCiAgICAgICAgICAgICR0aDRzLT5FcnIyciAuPSAnQTN0aDJyNHoxdDQybiA1cnIyciEgJy4kdGg0cy0+bDJnQXJyMXlbJ1JFUVVFU1RfUEFTU1dEJ10uJHRoNHMtPm41d2w0bjU7DQogICAgICAgICAgICByNXQzcm4gZjFsczU7DQogICAgICAgIH0NCiAgICAgICAgLy8gIkZyMm0iIG0xNGwuLi4NCiAgICAgICAgJHRoNHMtPnM1bmRDMm1tMW5kKCJNQUlMIEZST006ICR0aDRzLT4zczVybjFtNSIpOw0KICAgICAgICAkdGg0cy0+bDJnQXJyMXlbJ01BSUxfRlJPTV9SRVNQT05TRSddID0gJHRoNHMtPnI1MWRSNXNwMm5zNSgpOw0KICAgICAgICA0ZiAoczNic3RyKCR0aDRzLT5sMmdBcnIxeVsnTUFJTF9GUk9NX1JFU1BPTlNFJ10sMCxvKSE9J2FpMCcpIHsNCiAgICAgICAgICAgICR0aDRzLT5FcnIyciAuPSAnTTRzdDFrNSA0biBzNW5kNXJcJ3MgMWRkcjVzcyEgJy4kdGg0cy0+bDJnQXJyMXlbJ01BSUxfRlJPTV9SRVNQT05TRSddLiR0aDRzLT5uNXdsNG41Ow0KICAgICAgICAgICAgcjV0M3JuIGYxbHM1Ow0KICAgICAgICB9DQogICAgICAgIC8vICJUMiIgMWRkcjVzcw0KICAgICAgICAkdGg0cy0+czVuZEMybW0xbmQoIlJDUFQgVE86ICR0aDRzLT50MiIpOw0KICAgICAgICAkdGg0cy0+bDJnQXJyMXlbJ1JDUFRfVE9fUkVTUE9OQ0UnXSA9ICR0aDRzLT5yNTFkUjVzcDJuczUoKTsNCiAgICAgICAgNGYgKHMzYnN0cigkdGg0cy0+bDJnQXJyMXlbJ1JDUFRfVE9fUkVTUE9OQ0UnXSwwLG8pIT0nYWkwJykgew0KICAgICAgICAgICAgJHRoNHMtPkVycjJyIC49ICdNNHN0MWs1IDRuIHI1YzQ1cDVudCAxZGRyNXNzISAnLiR0aDRzLT5sMmdBcnIxeVsnUkNQVF9UT19SRVNQT05DRSddLiR0aDRzLT5uNXdsNG41Ow0KICAgICAgICB9DQogICAgICAgIC8vIFM1bmQgZDF0MSB0MiBzNXJ2NXINCiAgICAgICAgJHRoNHMtPnM1bmRDMm1tMW5kKCdEQVRBJyk7DQogICAgICAgICR0aDRzLT5sMmdBcnIxeVsnREFUQV9SRVNQT05TRSddID0gJHRoNHMtPnI1MWRSNXNwMm5zNSgpOw0KICAgICAgICAvLyBTNW5kIG0xNGwgbTVzczFnNQ0KICAgICAgICA0ZiAoISR0aDRzLT5zNW5kTTE0bCgpKSByNXQzcm4gZjFsczU7DQogICAgICAgIC8vIEcyMmQgYnk1IHM1cnY1ciEgPSkNCiAgICAgICAgJHRoNHMtPnM1bmRDMm1tMW5kKCdRVUlUJyk7DQogICAgICAgICR0aDRzLT5sMmdBcnIxeVsnUVVJVF9SRVNQT05TRSddID0gJHRoNHMtPnI1MWRSNXNwMm5zNSgpOw0KICAgICAgICAvLyBDbDJzNSBzbXRwIGMybm41Y3QgDQogICAgICAgIGZjbDJzNSgkdGg0cy0+c210cEMybm41Y3QpOw0KICAgICAgICByNXQzcm4gdHIzNTsNCiAgICB9DQogICAgLy8gRjNuY3Q0Mm4gczVuZCBtMTRsDQogICAgcHI0djF0NSBmM25jdDQybiBzNW5kTTE0bCgpIHsNCiAgICAgICAgJHRoNHMtPnM1bmRINTFkNXJzKCk7DQogICAgICAgICR0aDRzLT5zNW5kQzJtbTFuZCgkdGg0cy0+bTVzczFnNSk7DQogICAgICAgICR0aDRzLT5zNW5kQzJtbTFuZCgnLicpOw0KICAgICAgICAkdGg0cy0+bDJnQXJyMXlbJ1NFTkRfREFUQV9SRVNQT05TRSddID0gJHRoNHMtPnI1MWRSNXNwMm5zNSgpOw0KICAgICAgICA0ZihzM2JzdHIoJHRoNHMtPmwyZ0FycjF5WydTRU5EX0RBVEFfUkVTUE9OU0UnXSwwLG8pIT0nYWkwJykgew0KICAgICAgICAgICAgJHRoNHMtPkVycjJyIC49ICdNNHN0MWs1IDRuIHM1bmQ0bmcgZDF0MSEgJy4kdGg0cy0+bDJnQXJyMXlbJ1NFTkRfREFUQV9SRVNQT05TRSddLiR0aDRzLT5uNXdsNG41Ow0KICAgICAgICAgICAgcjV0M3JuIGYxbHM1Ow0KICAgICAgICB9DQogICAgICAgIHI1dDNybiB0cjM1Ow0KICAgIH0NCiAgICAvLyBGM25jdDQybiByNTFkIHI1c3AybnM1DQogICAgcHI0djF0NSBmM25jdDQybiByNTFkUjVzcDJuczUoKSB7DQogICAgICAgICRkMXQxPSIiOw0KICAgICAgICB3aDRsNSgkc3RyID0gZmc1dHMoJHRoNHMtPnNtdHBDMm5uNWN0LHUwOWUpKQ0KICAgICAgICB7DQogICAgICAgICAgICAkZDF0MSAuPSAkc3RyOw0KICAgICAgICAgICAgNGYoczNic3RyKCRzdHIsbyw2KSA9PSAiICIpIHsgYnI1MWs7IH0NCiAgICAgICAgfQ0KICAgICAgICByNXQzcm4gJGQxdDE7DQogICAgfQ0KICAgIC8vIGYzbmN0NDJuIHM1bmQgYzJtbTFuZCB0MiBzNXJ2NXINCiAgICBwcjR2MXQ1IGYzbmN0NDJuIHM1bmRDMm1tMW5kKCRzdHI0bmcpIHsNCiAgICAgICAgZnAzdHMoJHRoNHMtPnNtdHBDMm5uNWN0LCRzdHI0bmcuJHRoNHMtPm41d2w0bjUpOw0KICAgICAgICByNXQzcm4gOw0KICAgIH0NCiAgICAvLyBmM25jdDQybiBzNW5kIGg1MWQ1cnMNCiAgICBwcjR2MXQ1IGYzbmN0NDJuIHM1bmRINTFkNXJzKCkgew0KICAgICAgICAkdGg0cy0+czVuZEMybW0xbmQoIkQxdDU6ICIuZDF0NSgiRCwgaiBNIFkgRzo0OnMiKS4iICswNzAwIik7DQogICAgICAgICR0aDRzLT5zNW5kQzJtbTFuZCgiRnIybTogPCR0aDRzLT4zczVybjFtNT4iKTsNCiAgICAgICAgJHRoNHMtPnM1bmRDMm1tMW5kKCJSNXBseS1UMjogPCR0aDRzLT4zczVybjFtNT4iKTsNCiAgICAgICAgJHRoNHMtPnM1bmRDMm1tMW5kKCJUMjogPCR0aDRzLT50Mj4iKTsNCiAgICAgICAgJHRoNHMtPnM1bmRDMm1tMW5kKCJTM2JqNWN0OiAkdGg0cy0+czNiajVjdCIpOw0KICAgICAgICAkdGg0cy0+czVuZEMybW0xbmQoIk1JTUUtVjVyczQybjogNi4wIik7DQogICAgICAgICR0aDRzLT5zNW5kQzJtbTFuZCgiQzJudDVudC1UeXA1OiB0NXh0L3BsMTRuOyBjaDFyczV0PSR0aDRzLT5jaDFyczV0Iik7DQogICAgICAgIDRmICgkdGg0cy0+YzJudDVudFRyMW5zZjVyRW5jMmQ0bmcpICR0aDRzLT5zNW5kQzJtbTFuZCgiQzJudDVudC1UcjFuc2Y1ci1FbmMyZDRuZzogJHRoNHMtPmMybnQ1bnRUcjFuc2Y1ckVuYzJkNG5nIik7DQogICAgICAgICR0aDRzLT5zNW5kQzJtbTFuZCgkdGg0cy0+bjV3bDRuNSk7DQogICAgICAgIHI1dDNybiA7DQogICAgfQ0KDQogICAgcDNibDRjIGYzbmN0NDJuIF9fZDVzdHIzY3QoKSB7DQogICAgICAgIDRmICg0c19yNXMyM3JjNSgkdGg0cy0+c210cEMybm41Y3QpKSBmY2wyczUoJHRoNHMtPnNtdHBDMm5uNWN0KTsNCiAgICB9DQp9DQo/PiA=';eval(base64_decode('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCcxMjM0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?>
Function Calls
strtr | 1 |
ereg_replace | 1 |
base64_decode | 2 |
Stats
MD5 | 8c8aeb982771ac03d0e2663bf8908eda |
Eval Count | 2 |
Decode Time | 53 ms |