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

Decoded Output download

$_X=base64_decode($_X);$_X=strtr($_X,'SHY/q1RzIdUfX4xaVF
[AycM{OLhCug53bWrK<.>2 7GElT}msv6D=oniQk8BtwpjJeZ9P0]N','sOiPR}NKlfuEY2wd8>JBk.xz/v]H1CchpZXQA5nS0Wq974oL{b[y I=VFMmtjreGgDTU
63a<');$_R=str_replace('__FILE__',"'".$_F."'",$_X);eval($_R);$_R=0;$_X=0;?><?php
define('NUM_BIG_BLOCK_DEPOT_BLOCKS_POS', 0x2c);
define('SMALL_BLOCK_DEPOT_BLOCK_POS', 0x3c);
define('ROOT_START_BLOCK_POS', 0x30);
define('BIG_BLOCK_SIZE', 0x200);
define('SMALL_BLOCK_SIZE', 0x40);
define('EXTENSION_BLOCK_POS', 0x44);
define('NUM_EXTENSION_BLOCK_POS', 0x48);
define('PROPERTY_STORAGE_BLOCK_SIZE', 0x80);
define('BIG_BLOCK_DEPOT_BLOCKS_POS', 0x4c);
define('SMALL_BLOCK_THRESHOLD', 0x1000);
// property storage offsets
define('SIZE_OF_NAME_POS', 0x40);
define('TYPE_POS', 0x42);
define('START_BLOCK_POS', 0x74);
define('SIZE_POS', 0x78);
define('IDENTIFIER_OLE', pack("CCCCCCCC",0xd0,0xcf,0x11,0xe0,0xa1,0xb1,0x1a,0xe1));

//echo 'ROOT_START_BLOCK_POS = '.ROOT_START_BLOCK_POS."
";

//echo bin2hex($data[ROOT_START_BLOCK_POS])."
";
//echo "a=";
//echo $data[ROOT_START_BLOCK_POS];
//function log

function GetInt4d($data, $pos)
{
	$value = ord($data[$pos]) | (ord($data[$pos+1])	<< 8) | (ord($data[$pos+2]) << 16) | (ord($data[$pos+3]) << 24);
	if ($value>=4294967294)
	{
		$value=-2;
	}
	return $value;
}


class OLERead {
    var $data = '';
    
    
    function OLERead(){
        
        
    }
    
    function read($sFileName){
        
    	// check if file exist and is readable (Darko Miljanovic)
    	if(!is_readable($sFileName)) {
    		$this->error = 1;
    		return false;
    	}
    	
    	$this->data = @file_get_contents($sFileName);
    	if (!$this->data) { 
    		$this->error = 1; 
    		return false; 
   		}
   		//echo IDENTIFIER_OLE;
   		//echo 'start';
   		if (substr($this->data, 0, 8) != IDENTIFIER_OLE) {
    		$this->error = 1; 
    		return false; 
   		}
        $this->numBigBlockDepotBlocks = GetInt4d($this->data, NUM_BIG_BLOCK_DEPOT_BLOCKS_POS);
        $this->sbdStartBlock = GetInt4d($this->data, SMALL_BLOCK_DEPOT_BLOCK_POS);
        $this->rootStartBlock = GetInt4d($this->data, ROOT_START_BLOCK_POS);
        $this->extensionBlock = GetInt4d($this->data, EXTENSION_BLOCK_POS);
        $this->numExtensionBlocks = GetInt4d($this->data, NUM_EXTENSION_BLOCK_POS);
        
	/*
        echo $this->numBigBlockDepotBlocks." ";
        echo $this->sbdStartBlock." ";
        echo $this->rootStartBlock." ";
        echo $this->extensionBlock." ";
        echo $this->numExtensionBlocks." ";
        */
        //echo "sbdStartBlock = $this->sbdStartBlock
";
        $bigBlockDepotBlocks = array();
        $pos = BIG_BLOCK_DEPOT_BLOCKS_POS;
       // echo "pos = $pos";
	$bbdBlocks = $this->numBigBlockDepotBlocks;
        
            if ($this->numExtensionBlocks != 0) {
                $bbdBlocks = (BIG_BLOCK_SIZE - BIG_BLOCK_DEPOT_BLOCKS_POS)/4; 
            }
        
        for ($i = 0; $i < $bbdBlocks; $i++) {
              $bigBlockDepotBlocks[$i] = GetInt4d($this->data, $pos);
              $pos += 4;
        }
        
        
        for ($j = 0; $j < $this->numExtensionBlocks; $j++) {
            $pos = ($this->extensionBlock + 1) * BIG_BLOCK_SIZE;
            $blocksToRead = min($this->numBigBlockDepotBlocks - $bbdBlocks, BIG_BLOCK_SIZE / 4 - 1);

            for ($i = $bbdBlocks; $i < $bbdBlocks + $blocksToRead; $i++) {
                $bigBlockDepotBlocks[$i] = GetInt4d($this->data, $pos);
                $pos += 4;
            }   

            $bbdBlocks += $blocksToRead;
            if ($bbdBlocks < $this->numBigBlockDepotBlocks) {
                $this->extensionBlock = GetInt4d($this->data, $pos);
            }
        }

       // var_dump($bigBlockDepotBlocks);
        
        // readBigBlockDepot
        $pos = 0;
        $index = 0;
        $this->bigBlockChain = array();
        
        for ($i = 0; $i < $this->numBigBlockDepotBlocks; $i++) {
            $pos = ($bigBlockDepotBlocks[$i] + 1) * BIG_BLOCK_SIZE;
            //echo "pos = $pos";	
            for ($j = 0 ; $j < BIG_BLOCK_SIZE / 4; $j++) {
                $this->bigBlockChain[$index] = GetInt4d($this->data, $pos);
                $pos += 4 ;
                $index++;
            }
        }

	//var_dump($this->bigBlockChain);
        //echo '=====2';
        // readSmallBlockDepot();
        $pos = 0;
	    $index = 0;
	    $sbdBlock = $this->sbdStartBlock;
	    $this->smallBlockChain = array();
	
	    while ($sbdBlock != -2) {
	
	      $pos = ($sbdBlock + 1) * BIG_BLOCK_SIZE;
	
	      for ($j = 0; $j < BIG_BLOCK_SIZE / 4; $j++) {
	        $this->smallBlockChain[$index] = GetInt4d($this->data, $pos);
	        $pos += 4;
	        $index++;
	      }
	
	      $sbdBlock = $this->bigBlockChain[$sbdBlock];
	    }

        
        // readData(rootStartBlock)
        $block = $this->rootStartBlock;
        $pos = 0;
        $this->entry = $this->__readData($block);
        
        /*
        while ($block != -2)  {
            $pos = ($block + 1) * BIG_BLOCK_SIZE;
            $this->entry = $this->entry.substr($this->data, $pos, BIG_BLOCK_SIZE);
            $block = $this->bigBlockChain[$block];
        }
        */
        //echo '==='.$this->entry."===";
        $this->__readPropertySets();

    }
    
     function __readData($bl) {
        $block = $bl;
        $pos = 0;
        $data = '';
        
        while ($block != -2)  {
            $pos = ($block + 1) * BIG_BLOCK_SIZE;
            $data = $data.substr($this->data, $pos, BIG_BLOCK_SIZE);
            //echo "pos = $pos data=$data
";	
	    $block = $this->bigBlockChain[$block];
        }
		return $data;
     }
        
    function __readPropertySets(){
        $offset = 0;
        //var_dump($this->entry);
        while ($offset < strlen($this->entry)) {
              $d = substr($this->entry, $offset, PROPERTY_STORAGE_BLOCK_SIZE);
            
              $nameSize = ord($d[SIZE_OF_NAME_POS]) | (ord($d[SIZE_OF_NAME_POS+1]) << 8);
              
              $type = ord($d[TYPE_POS]);
              //$maxBlock = strlen($d) / BIG_BLOCK_SIZE - 1;
        
              $startBlock = GetInt4d($d, START_BLOCK_POS);
              $size = GetInt4d($d, SIZE_POS);
        
            $name = '';
            for ($i = 0; $i < $nameSize ; $i++) {
              $name .= $d[$i];
            }
            
            $name = str_replace("", "", $name);
            
            $this->props[] = array (
                'name' => $name, 
                'type' => $type,
                'startBlock' => $startBlock,
                'size' => $size);

            if (($name == "Workbook") || ($name == "Book")) {
                $this->wrkbook = count($this->props) - 1;
            }

            if ($name == "Root Entry") {
                $this->rootentry = count($this->props) - 1;
            }
            
            //echo "name ==$name=
";

            
            $offset += PROPERTY_STORAGE_BLOCK_SIZE;
        }   
        
    }
    
    
    function getWorkBook(){
    	if ($this->props[$this->wrkbook]['size'] < SMALL_BLOCK_THRESHOLD){
//    	  getSmallBlockStream(PropertyStorage ps)

			$rootdata = $this->__readData($this->props[$this->rootentry]['startBlock']);
	        
			$streamData = '';
	        $block = $this->props[$this->wrkbook]['startBlock'];
	        //$count = 0;
	        $pos = 0;
		    while ($block != -2) {
      	          $pos = $block * SMALL_BLOCK_SIZE;
		          $streamData .= substr($rootdata, $pos, SMALL_BLOCK_SIZE);

			      $block = $this->smallBlockChain[$block];
		    }
			
		    return $streamData;
    		

    	}else{
    	
	        $numBlocks = $this->props[$this->wrkbook]['size'] / BIG_BLOCK_SIZE;
	        if ($this->props[$this->wrkbook]['size'] % BIG_BLOCK_SIZE != 0) {
	            $numBlocks++;
	        }
	        
	        if ($numBlocks == 0) return '';
	        
	        //echo "numBlocks = $numBlocks
";
	    //byte[] streamData = new byte[numBlocks * BIG_BLOCK_SIZE];
	        //print_r($this->wrkbook);
	        $streamData = '';
	        $block = $this->props[$this->wrkbook]['startBlock'];
	        //$count = 0;
	        $pos = 0;
	        //echo "block = $block";
	        while ($block != -2) {
	          $pos = ($block + 1) * BIG_BLOCK_SIZE;
	          $streamData .= substr($this->data, $pos, BIG_BLOCK_SIZE);
	          $block = $this->bigBlockChain[$block];
	        }   
	        //echo 'stream'.$streamData;
	        return $streamData;
    	}
    }
    
}
?>

Did this file decode correctly?

Original Code

<?php $_F=__FILE__;$_X='P0ZOPzM1Mw05YXdkWS53KCdSWlFfWz1wX1t9SHV6X0pmL0hlX1t9SHV6Pl8vSD4nLEQyYzRnKTsNOWF3ZFkudygnPlFLfX1fW31IdXpfSmYvSGVfW31IdXpfL0g+JyxEMmMwZyk7DTlhd2RZLncoJ3FISGVfPmVLcWVfW31IdXpfL0g+JyxEMmMwMik7DTlhd2RZLncoJ1s9cF9bfUh1el8+PWJmJyxEMmM0MjIpOw05YXdkWS53KCc+UUt9fV9bfUh1el8+PWJmJyxEMmNsMik7DTlhd2RZLncoJ2ZXZWZSPj1IUl9bfUh1el8vSD4nLEQyY2xsKTsNOWF3ZFkudygnUlpRX2ZXZWZSPj1IUl9bfUh1el8vSD4nLEQyY2xWKTsNOWF3ZFkudygnL3FIL2ZxZVhfPmVIcUtwZl9bfUh1el8+PWJmJyxEMmNWMik7DTlhd2RZLncoJ1s9cF9bfUh1el9KZi9IZV9bfUh1ej5fL0g+JyxEMmNsZyk7DTlhd2RZLncoJz5RS319X1t9SHV6X2VocWY+aEh9SicsRDJjQzIyMik7DTl7e0QzdFQzd3Q4NkRTOFR0XWp3RFRkZFN3OFMNOWF3ZFkudygnPj1iZl9IaV9SS1FmXy9IPicsRDJjbDIpOw05YXdkWS53KCdlWC9mXy9IPicsRDJjbDQpOw05YXdkWS53KCc+ZUtxZV9bfUh1el8vSD4nLEQyY0VsKTsNOWF3ZFkudygnPj1iZl8vSD4nLEQyY0VWKTsNOWF3ZFkudygnPUpmUmU9aT1mcV9IfWYnLEQzXWdBKCJ1dXV1dXV1dSIsMmNhMiwyY2dkLDJjQ0MsMmN3MiwyY11DLDJjc0MsMmNDXSwyY3dDKSk7DTkNOXt7d2c1VEQncUhIZV8+ZUtxZV9bfUh1el8vSD5Eb0QneXFISGVfPmVLcWVfW31IdXpfL0g+eSJcLiI7DTkNOXt7d2c1VERzWS40NXdjKCRhXThddnFISGVfPmVLcWVfW31IdXpfL0g+TCl5IlwuIjsNOXt7d2c1VEQiXW8iOw05e3t3ZzVURCRhXThddnFISGVfPmVLcWVfW31IdXpfL0g+TDsNOXt7ZFUuZzhZVC5ESVRqDTkNOWRVLmc4WVQuRHB3OD0uOGxhKCRhXThdLEQkM1RTKQ05bQ05CSRPXUlVd0RvRFR0YSgkYV04XXYkM1RTTClEfEQoVHRhKCRhXThddiQzVFMrQ0wpCU5ORFYpRHxEKFR0YSgkYV04XXYkM1RTKzRMKUROTkRDUClEfEQoVHRhKCRhXThddiQzVFMrMEwpRE5ORDRsKTsNOQlZZEQoJE9dSVV3Rm9sNEdsR1BFNEdsKQ05CW0NOQkJJE9dSVV3by00Ow05CTENOQl0dzhVdC5EJE9dSVV3Ow05MQ05DTkNOWdJXVNTREh9ZnF3XWFEbQ05RERERE9ddEQkYV04XURvRCcnOw05RERERA05RERERA05RERERGRVLmc4WVQuREh9ZnF3XWEoKW0NOUREREREREREDTlERERERERERA05RERERDENOUREREQNOURERERkVS5nOFlULkR0d11hKCRTaVlJd1Jda3cpbQ05REREREREREQNOUREREQJe3tEZzV3Z0FEWWREZFlJd0R3Y1lTOERdLmFEWVNEdHddYV1zSXdEKEpddEFURFFZSUJdLlRPWWcpDTlERERECVlkKCFZU190d11hXXNJdygkU2lZSXdSXWt3KSlEbQ05RERERAkJJDg1WVMtRnd0dFR0RG9EQzsNOUREREQJCXR3OFV0LkRkXUlTdzsNOUREREQJMQ05RERERAkNOUREREQJJDg1WVMtRmFdOF1Eb0RAZFlJd19qdzhfZ1QuOHcuOFMoJFNpWUl3Ul1rdyk7DTlERERECVlkRCghJDg1WVMtRmFdOF0pRG1EDTlERERECQkkODVZUy1Gd3R0VHREb0RDO0QNOUREREQJCXR3OFV0LkRkXUlTdztEDTlEREQJCTENOURERAkJe3t3ZzVURD1KZlJlPWk9ZnFfSH1mOw05RERECQl7e3dnNVREJ1M4XXQ4JzsNOURERAkJWWREKFNVc1M4dCgkODVZUy1GYV04XSxEMixEVilEIW9EPUpmUmU9aT1mcV9IfWYpRG0NOUREREQJCSQ4NVlTLUZ3dHRUdERvREM7RA05RERERAkJdHc4VXQuRGRdSVN3O0QNOURERAkJMQ05REREREREREQkODVZUy1GLlVrW1lqW0lUZ0FKdzNUOFtJVGdBU0RvRHB3OD0uOGxhKCQ4NVlTLUZhXThdLERSWlFfWz1wX1t9SHV6X0pmL0hlX1t9SHV6Pl8vSD4pOw05REREREREREQkODVZUy1GU3NhPjhddDhbSVRnQURvRHB3OD0uOGxhKCQ4NVlTLUZhXThdLEQ+UUt9fV9bfUh1el9KZi9IZV9bfUh1el8vSD4pOw05REREREREREQkODVZUy1GdFRUOD44XXQ4W0lUZ0FEb0Rwdzg9LjhsYSgkODVZUy1GYV04XSxEcUhIZV8+ZUtxZV9bfUh1el8vSD4pOw05REREREREREQkODVZUy1Gd2M4dy5TWVQuW0lUZ0FEb0Rwdzg9LjhsYSgkODVZUy1GYV04XSxEZldlZlI+PUhSX1t9SHV6Xy9IPik7DTlERERERERERCQ4NVlTLUYuVWtmYzh3LlNZVC5bSVRnQVNEb0Rwdzg9LjhsYSgkODVZUy1GYV04XSxEUlpRX2ZXZWZSPj1IUl9bfUh1el8vSD4pOw05REREREREREQNOQl7Kg05RERERERERER3ZzVURCQ4NVlTLUYuVWtbWWpbSVRnQUp3M1Q4W0lUZ0FTeSJEIjsNOUREREREREREd2c1VEQkODVZUy1GU3NhPjhddDhbSVRnQXkiRCI7DTlERERERERERHdnNVREJDg1WVMtRnRUVDg+OF10OFtJVGdBeSJEIjsNOUREREREREREd2c1VEQkODVZUy1Gd2M4dy5TWVQuW0lUZ0F5IkQiOw05RERERERERER3ZzVURCQ4NVlTLUYuVWtmYzh3LlNZVC5bSVRnQVN5IkQiOw05REREREREREQqew05RERERERERER7e3dnNVREIlNzYT44XXQ4W0lUZ0FEb0QkODVZUy1GU3NhPjhddDhbSVRnQVwuIjsNOUREREREREREJHNZaltJVGdBSnczVDhbSVRnQVNEb0RddHRdNigpOw05REREREREREQkM1RTRG9EWz1wX1t9SHV6X0pmL0hlX1t9SHV6Pl8vSD47DTlEREREREREe3tEd2c1VEQiM1RTRG9EJDNUUyI7DTkJJHNzYVtJVGdBU0RvRCQ4NVlTLUYuVWtbWWpbSVRnQUp3M1Q4W0lUZ0FTOw05REREREREREQNOURERERERERERERERFlkRCgkODVZUy1GLlVrZmM4dy5TWVQuW0lUZ0FTRCFvRDIpRG0NOUREREREREREREREREREREQkc3NhW0lUZ0FTRG9EKFs9cF9bfUh1el8+PWJmRC1EWz1wX1t9SHV6X0pmL0hlX1t9SHV6Pl8vSD4pe2w7RA05REREREREREREREREMQ05REREREREREQNOUREREREREREZFR0RCgkWURvRDI7RCRZRE5EJHNzYVtJVGdBUztEJFkrKylEbQ05REREREREREREREREREQkc1lqW0lUZ0FKdzNUOFtJVGdBU3YkWUxEb0Rwdzg9LjhsYSgkODVZUy1GYV04XSxEJDNUUyk7DTlERERERERERERERERERCQzVFNEK29EbDsNOUREREREREREMQ05REREREREREQNOUREREREREREDTlERERERERERGRUdEQoJEJEb0QyO0QkQkRORCQ4NVlTLUYuVWtmYzh3LlNZVC5bSVRnQVM7RCRCKyspRG0NOURERERERERERERERCQzVFNEb0QoJDg1WVMtRndjOHcuU1lULltJVGdBRCtEQylEKkRbPXBfW31IdXpfPj1iZjsNOURERERERERERERERCRzSVRnQVNlVHF3XWFEb0RrWS4oJDg1WVMtRi5Va1tZaltJVGdBSnczVDhbSVRnQVNELUQkc3NhW0lUZ0FTLERbPXBfW31IdXpfPj1iZkR7RGxELURDKTsNOQ05REREREREREREREREZFR0RCgkWURvRCRzc2FbSVRnQVM7RCRZRE5EJHNzYVtJVGdBU0QrRCRzSVRnQVNlVHF3XWE7RCRZKyspRG0NOUREREREREREREREREREREQkc1lqW0lUZ0FKdzNUOFtJVGdBU3YkWUxEb0Rwdzg9LjhsYSgkODVZUy1GYV04XSxEJDNUUyk7DTlEREREREREREREREREREREJDNUU0Qrb0RsOw05REREREREREREREREMURERA05DTlEREREREREREREREQkc3NhW0lUZ0FTRCtvRCRzSVRnQVNlVHF3XWE7DTlERERERERERERERERZZEQoJHNzYVtJVGdBU0RORCQ4NVlTLUYuVWtbWWpbSVRnQUp3M1Q4W0lUZ0FTKURtDTlEREREREREREREREREREREJDg1WVMtRndjOHcuU1lULltJVGdBRG9EcHc4PS44bGEoJDg1WVMtRmFdOF0sRCQzVFMpOw05REREREREREREREREMQ05REREREREREQxDTkNOURERERERER7e0RPXXRfYVVrMygkc1lqW0lUZ0FKdzNUOFtJVGdBUyk7DTlERERERERERA05RERERERERER7e0R0d11hW1lqW0lUZ0FKdzNUOA05REREREREREQkM1RTRG9EMjsNOUREREREREREJFkuYXdjRG9EMjsNOUREREREREREJDg1WVMtRnNZaltJVGdBdTVdWS5Eb0RddHRdNigpOw05REREREREREQNOUREREREREREZFR0RCgkWURvRDI7RCRZRE5EJDg1WVMtRi5Va1tZaltJVGdBSnczVDhbSVRnQVM7RCRZKyspRG0NOURERERERERERERERCQzVFNEb0QoJHNZaltJVGdBSnczVDhbSVRnQVN2JFlMRCtEQylEKkRbPXBfW31IdXpfPj1iZjsNOURERERERERERERERHt7d2c1VEQiM1RTRG9EJDNUUyI7CQ05REREREREREREREREZFR0RCgkQkRvRDJEO0QkQkRORFs9cF9bfUh1el8+PWJmRHtEbDtEJEIrKylEbQ05RERERERERERERERERERERCQ4NVlTLUZzWWpbSVRnQXU1XVkudiRZLmF3Y0xEb0Rwdzg9LjhsYSgkODVZUy1GYV04XSxEJDNUUyk7DTlEREREREREREREREREREREJDNUU0Qrb0RsRDsNOUREREREREREREREREREREQkWS5hd2MrKzsNOURERERERERERERERDENOUREREREREREMQ05DTkJe3tPXXRfYVVrMygkODVZUy1Gc1lqW0lUZ0F1NV1ZLik7DTlERERERERERHt7d2c1VEQnb29vb280JzsNOUREREREREREe3tEdHddYT5rXUlJW0lUZ0FKdzNUOCgpOw05REREREREREQkM1RTRG9EMjsNOQlEREREJFkuYXdjRG9EMjsNOQlEREREJFNzYVtJVGdBRG9EJDg1WVMtRlNzYT44XXQ4W0lUZ0E7DTkJRERERCQ4NVlTLUZTa11JSVtJVGdBdTVdWS5Eb0RddHRdNigpOw05CQ05CURERER4NVlJd0QoJFNzYVtJVGdBRCFvRC00KURtDTkJDTkJREREREREJDNUU0RvRCgkU3NhW0lUZ0FEK0RDKUQqRFs9cF9bfUh1el8+PWJmOw05CQ05CURERERERGRUdEQoJEJEb0QyO0QkQkRORFs9cF9bfUh1el8+PWJmRHtEbDtEJEIrKylEbQ05CUREREREREREJDg1WVMtRlNrXUlJW0lUZ0F1NV1ZLnYkWS5hd2NMRG9EcHc4PS44bGEoJDg1WVMtRmFdOF0sRCQzVFMpOw05CUREREREREREJDNUU0Qrb0RsOw05CUREREREREREJFkuYXdjKys7DTkJREREREREMQ05CQ05CURERERERCRTc2FbSVRnQURvRCQ4NVlTLUZzWWpbSVRnQXU1XVkudiRTc2FbSVRnQUw7DTkJRERERDENOQ05REREREREREQNOUREREREREREe3tEdHddYUpdOF0odFRUOD44XXQ4W0lUZ0EpDTlERERERERERCRzSVRnQURvRCQ4NVlTLUZ0VFQ4PjhddDhbSVRnQTsNOUREREREREREJDNUU0RvRDI7DTlERERERERERCQ4NVlTLUZ3Ljh0NkRvRCQ4NVlTLUZfX3R3XWFKXThdKCRzSVRnQSk7DTlERERERERERA05RERERERERER7Kg05RERERERERER4NVlJd0QoJHNJVGdBRCFvRC00KUREbQ05REREREREREREREREJDNUU0RvRCgkc0lUZ0FEK0RDKUQqRFs9cF9bfUh1el8+PWJmOw05REREREREREREREREJDg1WVMtRncuOHQ2RG9EJDg1WVMtRncuOHQ2eVNVc1M4dCgkODVZUy1GYV04XSxEJDNUUyxEWz1wX1t9SHV6Xz49YmYpOw05REREREREREREREREJHNJVGdBRG9EJDg1WVMtRnNZaltJVGdBdTVdWS52JHNJVGdBTDsNOUREREREREREMQ05REREREREREQqew05RERERERERER7e3dnNVREJ29vbyd5JDg1WVMtRncuOHQ2eSJvb28iOw05REREREREREQkODVZUy1GX190d11hL3RUM3d0ODY+dzhTKCk7DTkNOUREREQxDTlEREREDTlERERERGRVLmc4WVQuRF9fdHddYUpdOF0oJHNJKURtDTlERERERERERCRzSVRnQURvRCRzSTsNOUREREREREREJDNUU0RvRDI7DTlERERERERERCRhXThdRG9EJyc7DTlERERERERERA05RERERERERER4NVlJd0QoJHNJVGdBRCFvRC00KUREbQ05REREREREREREREREJDNUU0RvRCgkc0lUZ0FEK0RDKUQqRFs9cF9bfUh1el8+PWJmOw05REREREREREREREREJGFdOF1Eb0QkYV04XXlTVXNTOHQoJDg1WVMtRmFdOF0sRCQzVFMsRFs9cF9bfUh1el8+PWJmKTsNOURERERERERERERERHt7d2c1VEQiM1RTRG9EJDNUU0RhXThdbyRhXThdXC4iOwkNOQlEREREJHNJVGdBRG9EJDg1WVMtRnNZaltJVGdBdTVdWS52JHNJVGdBTDsNOUREREREREREMQ05CQl0dzhVdC5EJGFdOF07DTlERERERDENOUREREREREREDTlEREREZFUuZzhZVC5EX190d11hL3RUM3d0ODY+dzhTKCltDTlERERERERERCRUZGRTdzhEb0QyOw05RERERERERER7e09ddF9hVWszKCQ4NVlTLUZ3Ljh0Nik7DTlERERERERERHg1WUl3RCgkVGRkU3c4RE5EUzh0SXcuKCQ4NVlTLUZ3Ljh0NikpRG0NOUREREREREREREREREREJGFEb0RTVXNTOHQoJDg1WVMtRncuOHQ2LEQkVGRkU3c4LEQvcUgvZnFlWF8+ZUhxS3BmX1t9SHV6Xz49YmYpOw05REREREREREREREREDTlERERERERERERERERERCQuXWt3PllNd0RvRFR0YSgkYXY+PWJmX0hpX1JLUWZfL0g+TClEfEQoVHRhKCRhdj49YmZfSGlfUktRZl8vSD4rQ0wpRE5ORFYpOw05REREREREREREREREREQNOUREREREREREREREREREJDg2M3dEb0RUdGEoJGF2ZVgvZl8vSD5MKTsNOUREREREREREREREREREe3ska11jW0lUZ0FEb0RTOHRJdy4oJGEpRHtEWz1wX1t9SHV6Xz49YmZELURDOw05REREREREREQNOUREREREREREREREREREJFM4XXQ4W0lUZ0FEb0Rwdzg9LjhsYSgkYSxEPmVLcWVfW31IdXpfL0g+KTsNOUREREREREREREREREREJFNZTXdEb0Rwdzg9LjhsYSgkYSxEPj1iZl8vSD4pOw05REREREREREQNOURERERERERERERERCQuXWt3RG9EJyc7DTlERERERERERERERERkVHREKCRZRG9EMjtEJFlETkQkLl1rdz5ZTXdEO0QkWSsrKURtDTlERERERERERERERERERCQuXWt3RHlvRCRhdiRZTDsNOURERERERERERERERDENOURERERERERERERERA05REREREREREREREREJC5da3dEb0RTOHRfdHczSV1ndygiXGMyMiIsRCIiLEQkLl1rdyk7DTlEREREREREREREREQNOURERERERERERERERCQ4NVlTLUYzdFQzU3ZMRG9EXXR0XTZEKA05RERERERERERERERERERERCcuXWt3J0RvRkQkLl1rdyxEDTlEREREREREREREREREREREJzg2M3cnRG9GRCQ4NjN3LA05RERERERERERERERERERERCdTOF10OFtJVGdBJ0RvRkQkUzhddDhbSVRnQSwNOUREREREREREREREREREREQnU1lNdydEb0ZEJFNZTXcpOw05DTlERERERERERERERERZZEQoKCQuXWt3RG9vRCIgVHRBc1RUQSIpRHx8RCgkLl1rd0Rvb0QiW1RUQSIpKURtDTlEREREREREREREREREREREJDg1WVMtRnh0QXNUVEFEb0RnVFUuOCgkODVZUy1GM3RUM1MpRC1EQzsNOURERERERERERERERDENOQ05REREREREREREREREWWREKCQuXWt3RG9vRCJxVFQ4RGYuOHQ2IilEbQ05RERERERERERERERERERERCQ4NVlTLUZ0VFQ4dy44dDZEb0RnVFUuOCgkODVZUy1GM3RUM1MpRC1EQzsNOURERERERERERERERDENOURERERERERERERERA05REREREREREREREREe3t3ZzVURCIuXWt3RG9vJC5da3dvXC4iOw05DTlEREREREREREREREQNOURERERERERERERERCRUZGRTdzhEK29EL3FIL2ZxZVhfPmVIcUtwZl9bfUh1el8+PWJmOw05REREREREREQxREREDTlERERERERERA05RERERDENOUREREQNOUREREQNOURERERkVS5nOFlULkRqdzggVHRBW1RUQSgpbQ05RERERAlZZEQoJDg1WVMtRjN0VDNTdiQ4NVlTLUZ4dEFzVFRBTHYnU1lNdydMRE5EPlFLfX1fW31IdXpfZWhxZj5oSH1KKW0NOXt7RERERAlERGp3OD5rXUlJW0lUZ0E+OHR3XWsoL3RUM3d0ODY+OFR0XWp3RDNTKQ05DTkJCQkkdFRUOGFdOF1Eb0QkODVZUy1GX190d11hSl04XSgkODVZUy1GM3RUM1N2JDg1WVMtRnRUVDh3Ljh0Nkx2J1M4XXQ4W0lUZ0EnTCk7DTkJREREREREREQNOQkJCSRTOHR3XWtKXThdRG9EJyc7DTkJREREREREREQkc0lUZ0FEb0QkODVZUy1GM3RUM1N2JDg1WVMtRnh0QXNUVEFMdidTOF10OFtJVGdBJ0w7DTkJRERERERERER7eyRnVFUuOERvRDI7DTkJREREREREREQkM1RTRG9EMjsNOQkJRERERHg1WUl3RCgkc0lUZ0FEIW9ELTQpRG0NOURERERERAlEREREREREREREJDNUU0RvRCRzSVRnQUQqRD5RS319X1t9SHV6Xz49YmY7DTkJCUREREREREREREQkUzh0d11rSl04XUR5b0RTVXNTOHQoJHRUVDhhXThdLEQkM1RTLEQ+UUt9fV9bfUh1el8+PWJmKTsNOQ05CQkJREREREREJHNJVGdBRG9EJDg1WVMtRlNrXUlJW0lUZ0F1NV1ZLnYkc0lUZ0FMOw05CQlEREREMQ05CQkJDTkJCURERER0dzhVdC5EJFM4dHdda0pdOF07DTlERERECQkNOQ05RERERAkxd0lTd20NOUREREQJDTkJREREREREREQkLlVrW0lUZ0FTRG9EJDg1WVMtRjN0VDNTdiQ4NVlTLUZ4dEFzVFRBTHYnU1lNdydMRHtEWz1wX1t9SHV6Xz49YmY7DTkJRERERERERERZZEQoJDg1WVMtRjN0VDNTdiQ4NVlTLUZ4dEFzVFRBTHYnU1lNdydMRCVEWz1wX1t9SHV6Xz49YmZEIW9EMilEbQ05CURERERERERERERERCQuVWtbSVRnQVMrKzsNOQlERERERERERDENOQlERERERERERA05CUREREREREREWWREKCQuVWtbSVRnQVNEb29EMilEdHc4VXQuRCcnOw05CUREREREREREDTkJRERERERERER7e3dnNVREIi5Va1tJVGdBU0RvRCQuVWtbSVRnQVNcLiI7DTkJRERERHt7czY4d3ZMRFM4dHdda0pdOF1Eb0Qud3hEczY4d3YuVWtbSVRnQVNEKkRbPXBfW31IdXpfPj1iZkw7DTkJRERERERERER7ezN0WS44X3QoJDg1WVMtRnh0QXNUVEEpOw05CUREREREREREJFM4dHdda0pdOF1Eb0QnJzsNOQlERERERERERCRzSVRnQURvRCQ4NVlTLUYzdFQzU3YkODVZUy1GeHRBc1RUQUx2J1M4XXQ4W0lUZ0EnTDsNOQlERERERERERHt7JGdUVS44RG9EMjsNOQlERERERERERCQzVFNEb0QyOw05CUREREREREREe3t3ZzVURCJzSVRnQURvRCRzSVRnQSI7DTkJRERERERERER4NVlJd0QoJHNJVGdBRCFvRC00KURtDTkJRERERERERERERCQzVFNEb0QoJHNJVGdBRCtEQylEKkRbPXBfW31IdXpfPj1iZjsNOQlEREREREREREREJFM4dHdda0pdOF1EeW9EU1VzUzh0KCQ4NVlTLUZhXThdLEQkM1RTLERbPXBfW31IdXpfPj1iZik7DTkJRERERERERERERCRzSVRnQURvRCQ4NVlTLUZzWWpbSVRnQXU1XVkudiRzSVRnQUw7DTkJREREREREREQxREREDTkJRERERERERER7e3dnNVREJ1M4dHddayd5JFM4dHdda0pdOF07DTkJRERERERERER0dzhVdC5EJFM4dHdda0pdOF07DTlERERECTENOUREREQxDTlEREREDTkxDTk/Rg==';$_D=strrev('edoced_46esab');eval($_D('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCdTSFkvcTFSeklkVWZYNHhhVkYKW0F5Y017T0xoQ3VnNTNiV3JLPC4+MiA3R0VsVH1tc3Y2RD1vbmlRazhCdHdwakplWjlQMF1OJywnc09pUFJ9TktsZnVFWTJ3ZDg+SkJrLnh6L3ZdSDFDY2hwWlhRQTVuUzBXcTk3NG9Me2JbeSBJPVZGTW10anJlR2dEVFUKNjNhPCcpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?>

Function Calls

strtr 1
define 1
strrev 1
str_replace 1
base64_decode 2

Variables

$_D base64_decode
$_F index.php
$_R ?><?php define('NUM_BIG_BLOCK_DEPOT_BLOCKS_POS', 0x2c); de..
$_X ?><?php define('NUM_BIG_BLOCK_DEPOT_BLOCKS_POS', 0x2c); de..

Stats

MD5 368a9490a7bc1adabe5f899143b7cce9
Eval Count 2
Decode Time 224 ms