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='P2ozPzVkNQ0xaSoNMUxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTE..

Decoded Output download

?><?php
/*
=====================================================
 DataLife Engine - by SoftNews Media Group 
-----------------------------------------------------
 http://dle-news.ru/
-----------------------------------------------------
 Copyright (c) 2004-2021 SoftNews Media Group
=====================================================
 This code is protected by copyright
=====================================================
 File: plugins.class.php
-----------------------------------------------------
 Use: DLE Plugins Loader
=====================================================
*/

if( !defined( 'DATALIFEENGINE' ) ) {
	header( "HTTP/1.1 403 Forbidden" );
	header ( 'Location: ../../' );
	die( "Hacking attempt!" );
}

@include_once (ENGINE_DIR . '/data/config.php');

if ( !$config['version_id'] ) {

	if ( file_exists(ROOT_DIR . '/install.php') AND !file_exists(ENGINE_DIR . '/data/config.php') ) {

		header( "Location: ".str_replace(basename($_SERVER['PHP_SELF']),"install.php",$_SERVER['PHP_SELF']) );
		die ( "Datalife Engine not installed. Please run install.php" );

	} else {

		die ( "Datalife Engine not installed. Please run install.php" );
	}

}

if( version_compare(phpversion(), '5.4', '<') ) {
	die ( "Datalife Engine required PHP version 5.4 or greater. You need upgrade PHP version on your server." );
}

@ini_set('pcre.recursion_limit', 10000000 );
@ini_set('pcre.backtrack_limit', 10000000 );
@ini_set('pcre.jit', false);

require_once (ENGINE_DIR . '/classes/mysql.php');
require_once (ENGINE_DIR . '/data/dbconfig.php');

abstract class DLEPlugins {
	
	public static $read_only = false;
	
	public static $protected_files = array("engine/classes/mysql.php", "engine/classes/plugins.class.php", "engine/ajax/controller.php", "engine/data/config.php", "engine/data/dbconfig.php", "engine/data/socialconfig.php", "engine/data/videoconfig.php");
	
	private static $min_dle_version = '12.2';
	private static $plugins 		= null;
	private static $root 			= null;

	
	public static function Check($source) {
		
		if( !is_array( self::$plugins ) ) {
			self::$root = ROOT_DIR.'/';
			self::pluginsstartup();
		}
		
		$check_file = str_ireplace( self::$root, '', (string)$source);

		if( isset(self::$plugins[$check_file]) ) {

			if( file_exists( ENGINE_DIR.'/cache/system/plugins/'.self::$plugins[$check_file] ) ) {
				
				return ENGINE_DIR.'/cache/system/plugins/'.self::$plugins[$check_file];
				
			} else return $source;
			
		} else return $source;
		
	}
	
	private static function pluginsstartup() {
		global $config;
		
		self::$plugins = array();

		if( version_compare($config['version_id'], self::$min_dle_version, '<') ) return;
		
		if( !$config['allow_plugins'] ) return;
		
		self::$plugins = self::getcache();
		
		if ( !is_array(self::$plugins) ) self::loadplugins();
		
	}
	
	private static function loadplugins() {
		global $db;
		
		self::$plugins = array();
		$files = $bad_plugins = $found_plugins = $first_sort = $second_sort = array();

		$db->query( "DELETE FROM " . PREFIX . "_plugins_logs WHERE type = 'file'", false );
		
		if( !is_dir( ENGINE_DIR . "/cache/system/plugins" ) ) {
				
			@mkdir( ENGINE_DIR . "/cache/system/plugins", 0777 );
			@chmod( ENGINE_DIR . "/cache/system/plugins", 0777 );
	
		}
	
		if( !is_dir( ENGINE_DIR . "/cache/system/plugins") OR !is_writable( ENGINE_DIR . "/cache/system/plugins" )) {
			
			$db->query( "INSERT INTO " . PREFIX . "_plugins_logs (plugin_id, area, error, type) values ('0', 'Problem with folder /engine/cache/system/plugins/', 'Unable to save plugins to /engine/cache/system/plugins/. Please check CHMOD, and set CHMOD 777 to folders /engine/cache/system/ and  /engine/cache/system/plugins/', 'file')", false );
			return;
		}
		
		$db->query( "SELECT id, needplugin FROM " . PREFIX . "_plugins ORDER BY posi DESC, id ASC", false );
		
		while ( $row = $db->get_row() ) {
			$found_plugins[] = $row['id'];
			if(!$row['needplugin']) $first_sort[] = $row['id']; else $second_sort[] = $row['id'];
		}
		
		if( count($found_plugins) > 1 ) {
			
			$sort = implode( ",", array_merge($first_sort, $second_sort) );
			$sort = "FIND_IN_SET(plugin_id, '".$sort."'), ";
			
		} else $sort = "";

		
		$db->free();

		if( count($found_plugins) ) {
			
			$db->query( "SELECT * FROM " . PREFIX . "_plugins_files WHERE active='1' ORDER BY {$sort}id ASC", false );
				
			while ( $row = $db->get_row() ) {
				
				if ( !in_array( $row['plugin_id'], $found_plugins ) ) {
					$bad_plugins[] = $row['id'];
					continue;
				}
				
				$files[$row['file']][] = array('id'=> $row['plugin_id'], 'action' => $row['action'], 'searchcode' => $row['searchcode'], 'replacecode' => $row['replacecode'], 'searchcount' => intval($row['searchcount']), 'replacecount' => intval($row['replacecount']) );
			}
			
			$db->free();
	
			if ( count($bad_plugins) ) {
				$db->query( "DELETE FROM " . PREFIX . "_plugins_files WHERE id IN ('" . implode("','", $bad_plugins) . "')");
			}
			
		}
		
		if( count($db->query_errors_list) ) {
			$db->query_errors_list = array();
		}
		
		if( count($files) ) {
			
			foreach($files as $filename => $mods) {
				
				if( count($mods) ) {
					
					if( file_exists( self::$root.$filename ) ) {
						$content = file_get_contents( self::$root.$filename );
					} else $content = '';
				
					foreach($mods as $mod) {
						$content = self::applymod($filename, $content, $mod);
					}
					
					if($content) {
						
						$store_key = md5(SECURE_AUTH_KEY.$filename).'.php';
						@file_put_contents (ENGINE_DIR . "/cache/system/plugins/" . $store_key, $content, LOCK_EX);
						@chmod( ENGINE_DIR . "/cache/system/plugins/" . $store_key, 0666 );
						
						self::$plugins[$filename] = $store_key;
					}
				}
				
			}
			
		}
		
		self::setcache(self::$plugins);
	}
	
	private static function applymod($filename, $content, $mod) {
		global $config, $db;

		switch ( $mod['action'] ) {
			
			case "replace":
				
				$search = self::prepare_search($mod['searchcode']);

				if( preg_match($search, $content) ) {

					$counter = 0;
					$rep_counter = 0;

					$content = preg_replace_callback($search,
						function ($matches) use ($mod, &$counter, &$rep_counter) {
							
							$counter ++;
							
							if ($mod['replacecount'] AND $counter < $mod['replacecount']) {
								
								return $matches[0];
							
							} else {
								
								$rep_counter ++;
								
								if(!$mod['searchcount'] OR $rep_counter <= $mod['searchcount'] ) {
									
									return $mod['replacecode'];
								
								} else return $matches[0];
							}

						} ,$content);
					
				} else {
					
					$db->query( "INSERT INTO " . PREFIX . "_plugins_logs (plugin_id, area, error, type) values ('{$mod['id']}', '".$db->safesql( $filename )."', '".$db->safesql( htmlspecialchars( $mod['searchcode'], ENT_QUOTES, $config['charset'] ), false)."', 'file')" );

				}
				
			break;
		
			case "before":
				
				$search = self::prepare_search($mod['searchcode']);
				
				if( preg_match($search, $content) ) {

					$counter = 0;
					$rep_counter = 0;

					$content = preg_replace_callback($search,
						function ($matches) use ($mod, &$counter, &$rep_counter) {
							
							$counter ++;
							
							if ($mod['replacecount'] AND $counter < $mod['replacecount']) {
								
								return $matches[0];
							
							} else {
								
								$rep_counter ++;
								
								if(!$mod['searchcount'] OR $rep_counter <= $mod['searchcount'] ) {
									
									return $mod['replacecode']."
".$matches[0];
								
								} else return $matches[0];
							}

						} ,$content);
					
				} else {
					
					$db->query( "INSERT INTO " . PREFIX . "_plugins_logs (plugin_id, area, error, type) values ('{$mod['id']}', '".$db->safesql( $filename )."', '".$db->safesql( htmlspecialchars( $mod['searchcode'], ENT_QUOTES, $config['charset'] ), false )."', 'file')" );

				}

			break;

			case "after":
				
				$search = self::prepare_search($mod['searchcode']);
				
				if( preg_match($search, $content) ) {

					$counter = 0;
					$rep_counter = 0;

					$content = preg_replace_callback($search,
						function ($matches) use ($mod, &$counter, &$rep_counter) {
							
							$counter ++;
							
							if ($mod['replacecount'] AND $counter < $mod['replacecount']) {
								
								return $matches[0];
							
							} else {
								
								$rep_counter ++;
								
								if(!$mod['searchcount'] OR $rep_counter <= $mod['searchcount'] ) {
									
									return $matches[0]."
".$mod['replacecode'];
								
								} else return $matches[0];
							}

						} ,$content);
					
				} else {
					
					$db->query( "INSERT INTO " . PREFIX . "_plugins_logs (plugin_id, area, error, type) values ('{$mod['id']}', '".$db->safesql( $filename )."', '".$db->safesql( htmlspecialchars( $mod['searchcode'], ENT_QUOTES, $config['charset'] ), false )."', 'file')" );

				}
				
			break;
		
			case "replaceall":
			case "create":
				$content = $mod['replacecode'];
			break;
		
		}
		
		return $content;
	}
	
	private static function prepare_search( $code ) {
		
		$safe_code = array();
		$codes = explode("
", trim($code));
		
		foreach($codes as $code) {
			if( trim($code) ) {
				$safe_code[] = preg_replace( "/\s+/u", "\s*", preg_quote( trim($code), '#') );
			}
		}
		
		$safe_code = "#".implode("\s*", $safe_code)."#siu";

		return $safe_code;
	}
	
	private static function getcache() {
		
		if( file_exists(  ENGINE_DIR . '/cache/system/plugins.php' ) ) {
			
			$data = file_get_contents( ENGINE_DIR . '/cache/system/plugins.php' );
			
		} else return false;
	
		if ( $data ) {
	
			$data = json_decode( $data, true );
			if ( is_array($data) ) return $data;
	
		} 

		return false;
	
	}
	
	private static function setcache( $data ) {
		
		if ( is_array($data) ) {
			
			@file_put_contents(ENGINE_DIR . '/cache/system/plugins.php', json_encode( $data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ), LOCK_EX);
			@chmod( ENGINE_DIR . '/cache/system/plugins.php', 0666 );
			
		}
	
	}
	
}

?>

Did this file decode correctly?

Original Code

<?php $_F=__FILE__;$_X='P2ozPzVkNQ0xaSoNMUxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDTF3WXlGeUdYbmF3dnJ1WHJhdy13Qwp3VVNuRldhSWh3IGFlWHl3czZTNzV3DTEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0xd2RGRjU6aWlleGEtcmFJaEI2N2kNMS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDTF3UVM1CjZYdWRGdyhwKXdtZmZULW1mbWt3VVNuRldhSWh3IGFlWHl3czZTNzUNMUxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDTF3YmRYaHdwU2Vhd1hodzU2U0ZhcEZhZXdDCndwUzUKNlh1ZEYNMUxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDTF3cVh4YTp3NXg3dVhyaEJweHloaEI1ZDUNMS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDTF3OWhhOndZR3Z3eng3dVhyaHdHU3llYTYNMUxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDTEqaQ0xDTFYbih3IWVhblhyYWUodydZNGI0R0VxdnZXc0VXdid3KXcpd2MNMQlkYXllYTYodyJ9YmJ6aWtCa3dUZjB3cVM2Q1hlZWFyIncpOw0xCWRheWVhNncodydHU3B5RlhTcjp3QkJpQkJpJ3cpOw0xCWVYYSh3In15cDxYcnV3eUZGYS81RiEidyk7DTFdDTENMUBYcnB4N2VhX1NycGF3KHZXc0VXdl9ZRS53QncnaWV5RnlpcFNyblh1QjVkNScpOw0xDTFYbncodyEkcFNyblh1Pid0YTZoWFNyX1hlJ2d3KXdjDTENMQlYbncod25YeGFfYWxYaEZoKC44OGJfWUUud0J3J2lYcmhGeXh4QjVkNScpdzRXWXchblh4YV9hbFhoRmgodldzRVd2X1lFLndCdydpZXlGeWlwU3JuWHVCNWQ1Jyl3KXdjDTENMQkJZGF5ZWE2KHciR1NweUZYU3I6dyJCaEY2XzZhNXh5cGEoQ3loYXJ5L2EoJF9Vdi5Wdi4+J3p9el9VdkdxJ2cpLCJYcmhGeXh4QjVkNSIsJF9Vdi5Wdi4+J3p9el9VdkdxJ2cpdyk7DTEJCWVYYXcodyJZeUZ5eFhuYXd2cnVYcmF3clNGd1hyaEZ5eHhhZUJ3enhheWhhdzY3cndYcmhGeXh4QjVkNSJ3KTsNMQ0xCV13YXhoYXdjDTENMQkJZVhhdyh3Ill5Rnl4WG5hd3ZydVhyYXdyU0Z3WHJoRnl4eGFlQnd6eGF5aGF3Njdyd1hyaEZ5eHhCNWQ1IncpOw0xCV0NMQ0xXQ0xDTFYbih3dGE2aFhTcl9wUy81eTZhKDVkNXRhNmhYU3IoKSx3J1BCVCcsdyczJyl3KXdjDTEJZVhhdyh3Ill5Rnl4WG5hd3ZydVhyYXc2YVo3WDZhZXd6fXp3dGE2aFhTcndQQlR3UzZ3dTZheUZhNkJ3PVM3d3JhYWV3NzV1NnllYXd6fXp3dGE2aFhTcndTcncKUzc2d2hhNnRhNkIidyk7DTFdDTENMUBYclhfaGFGKCc1cDZhQjZhcDc2aFhTcl94WC9YRicsd2tmZmZmZmZmdyk7DTFAWHJYX2hhRignNXA2YUJDeXA8RjZ5cDxfeFgvWEYnLHdrZmZmZmZmZncpOw0xQFhyWF9oYUYoJzVwNmFCRFhGJyx3bnl4aGEpOw0xDTE2YVo3WDZhX1NycGF3KHZXc0VXdl9ZRS53QncnaXB4eWhoYWhpLwpoWnhCNWQ1Jyk7DTE2YVo3WDZhX1NycGF3KHZXc0VXdl9ZRS53QncnaWV5RnlpZUNwU3JuWHVCNWQ1Jyk7DTENMXlDaEY2eXBGd3B4eWhod1lHdnp4N3VYcmh3Yw0xCQ0xCTU3Q3hYcHdoRnlGWHB3JDZheWVfU3J4CndMd255eGhhOw0xCQ0xCTU3Q3hYcHdoRnlGWHB3JDU2U0ZhcEZhZV9uWHhhaHdMd3k2NnkKKCJhcnVYcmFpcHh5aGhhaGkvCmhaeEI1ZDUiLHciYXJ1WHJhaXB4eWhoYWhpNXg3dVhyaEJweHloaEI1ZDUiLHciYXJ1WHJhaXlEeWxpcFNyRjZTeHhhNkI1ZDUiLHciYXJ1WHJhaWV5RnlpcFNyblh1QjVkNSIsdyJhcnVYcmFpZXlGeWllQ3BTcm5YdUI1ZDUiLHciYXJ1WHJhaWV5RnlpaFNwWHl4cFNyblh1QjVkNSIsdyJhcnVYcmFpZXlGeWl0WGVhU3BTcm5YdUI1ZDUiKTsNMQkNMQk1Nlh0eUZhd2hGeUZYcHckL1hyX2V4YV90YTZoWFNyd0x3J2ttQm0nOw0xCTU2WHR5RmF3aEZ5RlhwdyQ1eDd1WHJodwkJTHdyN3h4Ow0xCTU2WHR5RmF3aEZ5RlhwdyQ2U1NGdwkJCUx3cjd4eDsNMQ0xCQ0xCTU3Q3hYcHdoRnlGWHB3bjdycEZYU3J3UWRhcDwoJGhTNzZwYSl3Yw0xCQkNMQkJWG4odyFYaF95NjZ5Cih3aGF4bjo6JDV4N3VYcmh3KXcpd2MNMQkJCWhheG46OiQ2U1NGd0x3Ljg4Yl9ZRS5CJ2knOw0xCQkJaGF4bjo6NXg3dVhyaGhGeTZGNzUoKTsNMQkJXQ0xCQkNMQkJJHBkYXA8X25YeGF3THdoRjZfWDZhNXh5cGEod2hheG46OiQ2U1NGLHcnJyx3KGhGNlhydSkkaFM3NnBhKTsNMQ0xCQlYbih3WGhoYUYoaGF4bjo6JDV4N3VYcmg+JHBkYXA8X25YeGFnKXcpd2MNMQ0xCQkJWG4od25YeGFfYWxYaEZoKHd2V3NFV3ZfWUUuQidpcHlwZGFpaApoRmEvaTV4N3VYcmhpJ0JoYXhuOjokNXg3dVhyaD4kcGRhcDxfblh4YWd3KXcpd2MNMQkJCQkNMQkJCQk2YUY3NnJ3dldzRVd2X1lFLkInaXB5cGRhaWgKaEZhL2k1eDd1WHJoaSdCaGF4bjo6JDV4N3VYcmg+JHBkYXA8X25YeGFnOw0xCQkJCQ0xCQkJXXdheGhhdzZhRjc2cnckaFM3NnBhOw0xCQkJDTEJCV13YXhoYXc2YUY3NnJ3JGhTNzZwYTsNMQkJDTEJXQ0xCQ0xCTU2WHR5RmF3aEZ5Rlhwd243cnBGWFNydzV4N3VYcmhoRnk2Rjc1KCl3Yw0xCQl1eFNDeXh3JHBTcm5YdTsNMQkJDTEJCWhheG46OiQ1eDd1WHJod0x3eTY2eQooKTsNMQ0xCQlYbih3dGE2aFhTcl9wUy81eTZhKCRwU3JuWHU+J3RhNmhYU3JfWGUnZyx3aGF4bjo6JC9Ycl9leGFfdGE2aFhTcix3JzMnKXcpdzZhRjc2cjsNMQkJDTEJCVhuKHchJHBTcm5YdT4neXh4U0lfNXg3dVhyaCdndyl3NmFGNzZyOw0xCQkNMQkJaGF4bjo6JDV4N3VYcmh3THdoYXhuOjp1YUZweXBkYSgpOw0xCQkNMQkJWG53KHchWGhfeTY2eQooaGF4bjo6JDV4N3VYcmgpdyl3aGF4bjo6eFN5ZTV4N3VYcmgoKTsNMQkJDTEJXQ0xCQ0xCTU2WHR5RmF3aEZ5Rlhwd243cnBGWFNyd3hTeWU1eDd1WHJoKCl3Yw0xCQl1eFNDeXh3JGVDOw0xCQkNMQkJaGF4bjo6JDV4N3VYcmh3THd5NjZ5CigpOw0xCQkkblh4YWh3THckQ3llXzV4N3VYcmh3THckblM3cmVfNXg3dVhyaHdMdyRuWDZoRl9oUzZGd0x3JGhhcFNyZV9oUzZGd0x3eTY2eQooKTsNMQ0xCQkkZUMtalo3YTYKKHciWXZHdmJ2d3EuOCB3IndCd3oudnFFS3dCdyJfNXg3dVhyaF94U3Vod3t9di52d0YKNWF3THcnblh4YSciLHdueXhoYXcpOw0xCQkNMQkJWG4odyFYaF9lWDYod3ZXc0VXdl9ZRS53QnciaXB5cGRhaWgKaEZhL2k1eDd1WHJoIncpdyl3Yw0xCQkJCQ0xCQkJQC88ZVg2KHd2V3NFV3ZfWUUud0J3ImlweXBkYWloCmhGYS9pNXg3dVhyaCIsd2ZOTk53KTsNMQkJCUBwZC9TZSh3dldzRVd2X1lFLndCdyJpcHlwZGFpaApoRmEvaTV4N3VYcmgiLHdmTk5Odyk7DTEJDTEJCV0NMQkNMQkJWG4odyFYaF9lWDYod3ZXc0VXdl9ZRS53QnciaXB5cGRhaWgKaEZhL2k1eDd1WHJoIil3OC53IVhoX0k2WEZ5Q3hhKHd2V3NFV3ZfWUUud0J3ImlweXBkYWloCmhGYS9pNXg3dVhyaCJ3KSl3Yw0xCQkJDTEJCQkkZUMtalo3YTYKKHciRVdVdi5id0VXYjh3IndCd3oudnFFS3dCdyJfNXg3dVhyaF94U3Vodyg1eDd1WHJfWGUsd3k2YXksd2E2NlM2LHdGCjVhKXd0eXg3YWh3KCdmJyx3J3o2U0N4YS93SVhGZHduU3hlYTZ3aWFydVhyYWlweXBkYWloCmhGYS9pNXg3dVhyaGknLHcnOXJ5Q3hhd0ZTd2h5dGF3NXg3dVhyaHdGU3dpYXJ1WHJhaXB5cGRhaWgKaEZhL2k1eDd1WHJoaUJ3enhheWhhd3BkYXA8d1F9IDhZLHd5cmV3aGFGd1F9IDhZd05OTndGU3duU3hlYTZod2lhcnVYcmFpcHlwZGFpaApoRmEvaXd5cmV3d2lhcnVYcmFpcHlwZGFpaApoRmEvaTV4N3VYcmhpJyx3J25YeGEnKSIsd255eGhhdyk7DTEJCQk2YUY3NnI7DTEJCV0NMQkJDTEJCSRlQy1qWjdhNgoodyJVdkd2UWJ3WGUsd3JhYWU1eDd1WHJ3cS44IHcid0J3ei52cUVLd0J3Il81eDd1WHJodzguWXYudzI9dzVTaFh3WXZVUSx3WGV3NFVRIix3bnl4aGF3KTsNMQkJDTEJCUlkWHhhdyh3JDZTSXdMdyRlQy1qdWFGXzZTSSgpdyl3Yw0xCQkJJG5TN3JlXzV4N3VYcmg+Z3dMdyQ2U0k+J1hlJ2c7DTEJCQlYbighJDZTST4ncmFhZTV4N3VYcidnKXckblg2aEZfaFM2Rj5nd0x3JDZTST4nWGUnZzt3YXhoYXckaGFwU3JlX2hTNkY+Z3dMdyQ2U0k+J1hlJ2c7DTEJCV0NMQkJDTEJCVhuKHdwUzdyRigkblM3cmVfNXg3dVhyaCl3andrdyl3Yw0xCQkJDTEJCQkkaFM2RndMd1gvNXhTZWEodyIsIix3eTY2eQpfL2E2dWEoJG5YNmhGX2hTNkYsdyRoYXBTcmVfaFM2Ril3KTsNMQkJCSRoUzZGd0x3InFFV1lfRVdfVXZiKDV4N3VYcl9YZSx3JyJCJGhTNkZCIicpLHciOw0xCQkJDTEJCV13YXhoYXckaFM2RndMdyIiOw0xDTEJCQ0xCQkkZUMtam42YWEoKTsNMQ0xCQlYbih3cFM3ckYoJG5TN3JlXzV4N3VYcmgpdyl3Yw0xCQkJDTEJCQkkZUMtalo3YTYKKHciVXZHdlFidyp3cS44IHcid0J3ei52cUVLd0J3Il81eDd1WHJoX25YeGFod3t9di52d3lwRlh0YUwnayd3OC5Zdi53Mj13YyRoUzZGXVhldzRVUSIsd255eGhhdyk7DTEJCQkJDTEJCQlJZFh4YXcodyQ2U0l3THckZUMtanVhRl82U0koKXcpd2MNMQkJCQkNMQkJCQlYbncodyFYcl95NjZ5Cih3JDZTST4nNXg3dVhyX1hlJ2csdyRuUzdyZV81eDd1WHJodyl3KXdjDTEJCQkJCSRDeWVfNXg3dVhyaD5nd0x3JDZTST4nWGUnZzsNMQkJCQkJcFNyRlhyN2E7DTEJCQkJXQ0xCQkJCQ0xCQkJCSRuWHhhaD4kNlNJPiduWHhhJ2dnPmd3THd5NjZ5CignWGUnTGp3JDZTST4nNXg3dVhyX1hlJ2csdyd5cEZYU3Ind0xqdyQ2U0k+J3lwRlhTcidnLHcnaGF5NnBkcFNlYSd3TGp3JDZTST4naGF5NnBkcFNlYSdnLHcnNmE1eHlwYXBTZWEnd0xqdyQ2U0k+JzZhNXh5cGFwU2VhJ2csdydoYXk2cGRwUzdyRid3TGp3WHJGdHl4KCQ2U0k+J2hheTZwZHBTN3JGJ2cpLHcnNmE1eHlwYXBTN3JGJ3dMandYckZ0eXgoJDZTST4nNmE1eHlwYXBTN3JGJ2cpdyk7DTEJCQldDTEJCQkNMQkJCSRlQy1qbjZhYSgpOw0xCQ0xCQkJWG53KHdwUzdyRigkQ3llXzV4N3VYcmgpdyl3Yw0xCQkJCSRlQy1qWjdhNgoodyJZdkd2YnZ3cS44IHcid0J3ei52cUVLd0J3Il81eDd1WHJoX25YeGFod3t9di52d1hld0VXdygnIndCd1gvNXhTZWEoIicsJyIsdyRDeWVfNXg3dVhyaCl3QnciJykiKTsNMQkJCV0NMQkJCQ0xCQldDTEJCQ0xCQlYbih3cFM3ckYoJGVDLWpaN2E2Cl9hNjZTNmhfeFhoRil3KXdjDTEJCQkkZUMtalo3YTYKX2E2NlM2aF94WGhGd0x3eTY2eQooKTsNMQkJXQ0xCQkNMQkJWG4od3BTN3JGKCRuWHhhaCl3KXdjDTEJCQkNMQkJCW5TNmF5cGQoJG5YeGFod3lodyRuWHhhcnkvYXdManckL1NlaCl3Yw0xCQkJCQ0xCQkJCVhuKHdwUzdyRigkL1NlaCl3KXdjDTEJCQkJCQ0xCQkJCQlYbih3blh4YV9hbFhoRmgod2hheG46OiQ2U1NGQiRuWHhhcnkvYXcpdyl3Yw0xCQkJCQkJJHBTckZhckZ3THduWHhhX3VhRl9wU3JGYXJGaCh3aGF4bjo6JDZTU0ZCJG5YeGFyeS9hdyk7DTEJCQkJCV13YXhoYXckcFNyRmFyRndMdycnOw0xCQkJCQ0xCQkJCQluUzZheXBkKCQvU2Vod3lodyQvU2Upd2MNMQkJCQkJCSRwU3JGYXJGd0x3aGF4bjo6eTU1eAovU2UoJG5YeGFyeS9hLHckcFNyRmFyRix3JC9TZSk7DTEJCQkJCV0NMQkJCQkJDTEJCQkJCVhuKCRwU3JGYXJGKXdjDTEJCQkJCQkNMQkJCQkJCSRoRlM2YV88YQp3THcvZVAoVXZROS52XzQ5Yn1fW3Y9QiRuWHhhcnkvYSlCJ0I1ZDUnOw0xCQkJCQkJQG5YeGFfNTdGX3BTckZhckZodyh2V3NFV3ZfWUUud0J3ImlweXBkYWloCmhGYS9pNXg3dVhyaGkid0J3JGhGUzZhXzxhCix3JHBTckZhckYsd0c4UVtfdkspOw0xCQkJCQkJQHBkL1NlKHd2V3NFV3ZfWUUud0J3ImlweXBkYWloCmhGYS9pNXg3dVhyaGkid0J3JGhGUzZhXzxhCix3ZkhISHcpOw0xCQkJCQkJDTEJCQkJCQloYXhuOjokNXg3dVhyaD4kblh4YXJ5L2Fnd0x3JGhGUzZhXzxhCjsNMQkJCQkJXQ0xCQkJCV0NMQkJCQkNMQkJCV0NMQkJCQ0xCQldDTEJCQ0xCQloYXhuOjpoYUZweXBkYShoYXhuOjokNXg3dVhyaCk7DTEJXQ0xCQ0xCTU2WHR5RmF3aEZ5Rlhwd243cnBGWFNyd3k1NXgKL1NlKCRuWHhhcnkvYSx3JHBTckZhckYsdyQvU2Upd2MNMQkJdXhTQ3l4dyRwU3JuWHUsdyRlQzsNMQ0xCQloSVhGcGR3KHckL1NlPid5cEZYU3InZ3cpd2MNMQkJCQ0xCQkJcHloYXciNmE1eHlwYSI6DTEJCQkJDTEJCQkJJGhheTZwZHdMd2hheG46OjU2YTV5NmFfaGF5NnBkKCQvU2U+J2hheTZwZHBTZWEnZyk7DTENMQkJCQlYbih3NTZhdV8veUZwZCgkaGF5NnBkLHckcFNyRmFyRil3KXdjDTENMQkJCQkJJHBTN3JGYTZ3THdmOw0xCQkJCQkkNmE1X3BTN3JGYTZ3THdmOw0xDTEJCQkJCSRwU3JGYXJGd0x3NTZhdV82YTV4eXBhX3B5eHhDeXA8KCRoYXk2cGQsDTEJCQkJCQluN3JwRlhTcncoJC95RnBkYWgpdzdoYXcoJC9TZSx3JiRwUzdyRmE2LHcmJDZhNV9wUzdyRmE2KXdjDTEJCQkJCQkJDTEJCQkJCQkJJHBTN3JGYTZ3Kys7DTEJCQkJCQkJDTEJCQkJCQkJWG53KCQvU2U+JzZhNXh5cGFwUzdyRidndzRXWXckcFM3ckZhNnczdyQvU2U+JzZhNXh5cGFwUzdyRidnKXdjDTEJCQkJCQkJCQ0xCQkJCQkJCQk2YUY3NnJ3JC95RnBkYWg+Zmc7DTEJCQkJCQkJDTEJCQkJCQkJXXdheGhhd2MNMQkJCQkJCQkJDTEJCQkJCQkJCSQ2YTVfcFM3ckZhNncrKzsNMQkJCQkJCQkJDTEJCQkJCQkJCVhuKCEkL1NlPidoYXk2cGRwUzdyRidndzgudyQ2YTVfcFM3ckZhNnczTHckL1NlPidoYXk2cGRwUzdyRidndyl3Yw0xCQkJCQkJCQkJDTEJCQkJCQkJCQk2YUY3NnJ3JC9TZT4nNmE1eHlwYXBTZWEnZzsNMQkJCQkJCQkJDTEJCQkJCQkJCV13YXhoYXc2YUY3NnJ3JC95RnBkYWg+Zmc7DTEJCQkJCQkJXQ0xDTEJCQkJCQlddywkcFNyRmFyRik7DTEJCQkJCQ0xCQkJCV13YXhoYXdjDTEJCQkJCQ0xCQkJCQkkZUMtalo3YTYKKHciRVdVdi5id0VXYjh3IndCd3oudnFFS3dCdyJfNXg3dVhyaF94U3Vodyg1eDd1WHJfWGUsd3k2YXksd2E2NlM2LHdGCjVhKXd0eXg3YWh3KCdjJC9TZT4nWGUnZ10nLHcnIkIkZUMtamh5bmFoWngodyRuWHhhcnkvYXcpQiInLHcnIkIkZUMtamh5bmFoWngod2RGL3hoNWFwWHl4cGR5NmgodyQvU2U+J2hheTZwZHBTZWEnZyx3dldiX1I5OGJ2VSx3JHBTcm5YdT4ncGR5NmhhRidndyksd255eGhhKUIiJyx3J25YeGEnKSJ3KTsNMQ0xCQkJCV0NMQkJCQkNMQkJCUM2YXk8Ow0xCQkNMQkJCXB5aGF3IkNhblM2YSI6DTEJCQkJDTEJCQkJJGhheTZwZHdMd2hheG46OjU2YTV5NmFfaGF5NnBkKCQvU2U+J2hheTZwZHBTZWEnZyk7DTEJCQkJDTEJCQkJWG4odzU2YXVfL3lGcGQoJGhheTZwZCx3JHBTckZhckYpdyl3Yw0xDTEJCQkJCSRwUzdyRmE2d0x3ZjsNMQkJCQkJJDZhNV9wUzdyRmE2d0x3ZjsNMQ0xCQkJCQkkcFNyRmFyRndMdzU2YXVfNmE1eHlwYV9weXh4Q3lwPCgkaGF5NnBkLA0xCQkJCQkJbjdycEZYU3J3KCQveUZwZGFoKXc3aGF3KCQvU2UsdyYkcFM3ckZhNix3JiQ2YTVfcFM3ckZhNil3Yw0xCQkJCQkJCQ0xCQkJCQkJCSRwUzdyRmE2dysrOw0xCQkJCQkJCQ0xCQkJCQkJCVhudygkL1NlPic2YTV4eXBhcFM3ckYnZ3c0V1l3JHBTN3JGYTZ3M3ckL1NlPic2YTV4eXBhcFM3ckYnZyl3Yw0xCQkJCQkJCQkNMQkJCQkJCQkJNmFGNzZydyQveUZwZGFoPmZnOw0xCQkJCQkJCQ0xCQkJCQkJCV13YXhoYXdjDTEJCQkJCQkJCQ0xCQkJCQkJCQkkNmE1X3BTN3JGYTZ3Kys7DTEJCQkJCQkJCQ0xCQkJCQkJCQlYbighJC9TZT4naGF5NnBkcFM3ckYnZ3c4LnckNmE1X3BTN3JGYTZ3M0x3JC9TZT4naGF5NnBkcFM3ckYnZ3cpd2MNMQkJCQkJCQkJCQ0xCQkJCQkJCQkJNmFGNzZydyQvU2U+JzZhNXh5cGFwU2VhJ2dCIlxyIkIkL3lGcGRhaD5mZzsNMQkJCQkJCQkJDTEJCQkJCQkJCV13YXhoYXc2YUY3NnJ3JC95RnBkYWg+Zmc7DTEJCQkJCQkJXQ0xDTEJCQkJCQlddywkcFNyRmFyRik7DTEJCQkJCQ0xCQkJCV13YXhoYXdjDTEJCQkJCQ0xCQkJCQkkZUMtalo3YTYKKHciRVdVdi5id0VXYjh3IndCd3oudnFFS3dCdyJfNXg3dVhyaF94U3Vodyg1eDd1WHJfWGUsd3k2YXksd2E2NlM2LHdGCjVhKXd0eXg3YWh3KCdjJC9TZT4nWGUnZ10nLHcnIkIkZUMtamh5bmFoWngodyRuWHhhcnkvYXcpQiInLHcnIkIkZUMtamh5bmFoWngod2RGL3hoNWFwWHl4cGR5NmgodyQvU2U+J2hheTZwZHBTZWEnZyx3dldiX1I5OGJ2VSx3JHBTcm5YdT4ncGR5NmhhRidndyksd255eGhhdylCIicsdyduWHhhJykidyk7DTENMQkJCQldDTENMQkJCUM2YXk8Ow0xDTEJCQlweWhhdyJ5bkZhNiI6DTEJCQkJDTEJCQkJJGhheTZwZHdMd2hheG46OjU2YTV5NmFfaGF5NnBkKCQvU2U+J2hheTZwZHBTZWEnZyk7DTEJCQkJDTEJCQkJWG4odzU2YXVfL3lGcGQoJGhheTZwZCx3JHBTckZhckYpdyl3Yw0xDTEJCQkJCSRwUzdyRmE2d0x3ZjsNMQkJCQkJJDZhNV9wUzdyRmE2d0x3ZjsNMQ0xCQkJCQkkcFNyRmFyRndMdzU2YXVfNmE1eHlwYV9weXh4Q3lwPCgkaGF5NnBkLA0xCQkJCQkJbjdycEZYU3J3KCQveUZwZGFoKXc3aGF3KCQvU2UsdyYkcFM3ckZhNix3JiQ2YTVfcFM3ckZhNil3Yw0xCQkJCQkJCQ0xCQkJCQkJCSRwUzdyRmE2dysrOw0xCQkJCQkJCQ0xCQkJCQkJCVhudygkL1NlPic2YTV4eXBhcFM3ckYnZ3c0V1l3JHBTN3JGYTZ3M3ckL1NlPic2YTV4eXBhcFM3ckYnZyl3Yw0xCQkJCQkJCQkNMQkJCQkJCQkJNmFGNzZydyQveUZwZGFoPmZnOw0xCQkJCQkJCQ0xCQkJCQkJCV13YXhoYXdjDTEJCQkJCQkJCQ0xCQkJCQkJCQkkNmE1X3BTN3JGYTZ3Kys7DTEJCQkJCQkJCQ0xCQkJCQkJCQlYbighJC9TZT4naGF5NnBkcFM3ckYnZ3c4LnckNmE1X3BTN3JGYTZ3M0x3JC9TZT4naGF5NnBkcFM3ckYnZ3cpd2MNMQkJCQkJCQkJCQ0xCQkJCQkJCQkJNmFGNzZydyQveUZwZGFoPmZnQiJcciJCJC9TZT4nNmE1eHlwYXBTZWEnZzsNMQkJCQkJCQkJDTEJCQkJCQkJCV13YXhoYXc2YUY3NnJ3JC95RnBkYWg+Zmc7DTEJCQkJCQkJXQ0xDTEJCQkJCQlddywkcFNyRmFyRik7DTEJCQkJCQ0xCQkJCV13YXhoYXdjDTEJCQkJCQ0xCQkJCQkkZUMtalo3YTYKKHciRVdVdi5id0VXYjh3IndCd3oudnFFS3dCdyJfNXg3dVhyaF94U3Vodyg1eDd1WHJfWGUsd3k2YXksd2E2NlM2LHdGCjVhKXd0eXg3YWh3KCdjJC9TZT4nWGUnZ10nLHcnIkIkZUMtamh5bmFoWngodyRuWHhhcnkvYXcpQiInLHcnIkIkZUMtamh5bmFoWngod2RGL3hoNWFwWHl4cGR5NmgodyQvU2U+J2hheTZwZHBTZWEnZyx3dldiX1I5OGJ2VSx3JHBTcm5YdT4ncGR5NmhhRidndyksd255eGhhdylCIicsdyduWHhhJykidyk7DTENMQkJCQldDTEJCQkJDTEJCQlDNmF5PDsNMQkJDTEJCQlweWhhdyI2YTV4eXBheXh4IjoNMQkJCXB5aGF3InA2YXlGYSI6DTEJCQkJJHBTckZhckZ3THckL1NlPic2YTV4eXBhcFNlYSdnOw0xCQkJQzZheTw7DTEJCQ0xCQldDTEJCQ0xCQk2YUY3NnJ3JHBTckZhckY7DTEJXQ0xCQ0xCTU2WHR5RmF3aEZ5Rlhwd243cnBGWFNydzU2YTV5NmFfaGF5NnBkKHckcFNlYXcpd2MNMQkJDTEJCSRoeW5hX3BTZWF3THd5NjZ5CigpOw0xCQkkcFNlYWh3THdhbDV4U2VhKCJcciIsd0Y2WC8oJHBTZWEpKTsNMQkJDTEJCW5TNmF5cGQoJHBTZWFod3lodyRwU2VhKXdjDTEJCQlYbih3RjZYLygkcFNlYSl3KXdjDTEJCQkJJGh5bmFfcFNlYT5nd0x3NTZhdV82YTV4eXBhKHciaVxoK2k3Iix3IlxoKiIsdzU2YXVfWjdTRmEod0Y2WC8oJHBTZWEpLHcnIycpdyk7DTEJCQldDTEJCV0NMQkJDTEJCSRoeW5hX3BTZWF3THciIyJCWC81eFNlYSgiXGgqIix3JGh5bmFfcFNlYSlCIiNoWDciOw0xDTEJCTZhRjc2cnckaHluYV9wU2VhOw0xCV0NMQkNMQk1Nlh0eUZhd2hGeUZYcHduN3JwRlhTcnd1YUZweXBkYSgpd2MNMQkJDTEJCVhuKHduWHhhX2FsWGhGaCh3d3ZXc0VXdl9ZRS53QncnaXB5cGRhaWgKaEZhL2k1eDd1WHJoQjVkNSd3KXcpd2MNMQkJCQ0xCQkJJGV5Rnl3THduWHhhX3VhRl9wU3JGYXJGaCh3dldzRVd2X1lFLndCdydpcHlwZGFpaApoRmEvaTV4N3VYcmhCNWQ1J3cpOw0xCQkJDTEJCV13YXhoYXc2YUY3NnJ3bnl4aGE7DTEJDTEJCVhudyh3JGV5Rnl3KXdjDTEJDTEJCQkkZXlGeXdMd0RoU3JfZWFwU2VhKHckZXlGeSx3RjY3YXcpOw0xCQkJWG53KHdYaF95NjZ5CigkZXlGeSl3KXc2YUY3NnJ3JGV5Rnk7DTEJDTEJCV13DTENMQkJNmFGNzZyd255eGhhOw0xCQ0xCV0NMQkNMQk1Nlh0eUZhd2hGeUZYcHduN3JwRlhTcndoYUZweXBkYSh3JGV5Rnl3KXdjDTEJCQ0xCQlYbncod1hoX3k2NnkKKCRleUZ5KXcpd2MNMQkJCQ0xCQkJQG5YeGFfNTdGX3BTckZhckZoKHZXc0VXdl9ZRS53QncnaXB5cGRhaWgKaEZhL2k1eDd1WHJoQjVkNScsd0RoU3JfYXJwU2VhKHckZXlGeSx3TVU4V185V3ZVUTR6dllfOVdFUThZdnd8d01VOFdfOVd2VVE0enZZX1VHNFV9dlV3KSx3RzhRW192Syk7DTEJCQlAcGQvU2Uod3ZXc0VXdl9ZRS53QncnaXB5cGRhaWgKaEZhL2k1eDd1WHJoQjVkNScsd2ZISEh3KTsNMQkJCQ0xCQldDTEJDTEJXQ0xCQ0xXQ0xDTE/ag==';$_D=strrev('edoced_46esab');eval($_D('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCdmCksvR0F9Y01VdVBRMXREekgyLmtCUlQ8YmdtV0lGczROWmpYM11yb0VlaTl7WU92SjBoNmF4cHE+NyBWQ3k9NThMd25kbFNbJywnMHlYbUw5SHtKU2c1Qwp2alA2QlIxLlE0a1RdMk53dEdBN3E+aTx9bjhJZC9VV0RaRXozc3JlbGNGW3VNVmJhWXBPPSBmaHhvSycpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?>

Function Calls

strtr 1
strrev 1
str_replace 1
base64_decode 2

Variables

$_D base64_decode
$_F index.php
$_R 0
$_X 0

Stats

MD5 9a99c4c75c5f4f45b15fccd9fe170516
Eval Count 2
Decode Time 54 ms