Login   Register  
PHP Classes
elePHPant
Icontem

File: begin.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Marcin Sznyra  >  Turtle Muddler  >  begin.php  >  Download  
File: begin.php
Role: Application script
Content type: text/plain
Description: Begin file
Class: Turtle Muddler
Obfuscate PHP code to make it unreadable to humans
Author: By
Last change:
Date: 2005-12-29 05:31
Size: 8,473 bytes
 

Contents

Class file image Download
<?php
/**
* Run file.
*
* @package Turtle
* @access public
* @desc Run file.
* @copyright Marcin Sznyra (c) 2005 <marcin@marcinsznyra.info>
* @author Marcin Sznyra <marcin@marcinsznyra.info>
* @version $Id: _file.class.php,v 1.0 2005/12/29 11:39:23 MarcinSznyra Exp $;
* @since Version 1.0
*/
class ObfRunMe
{


var 
$_i 0;

    function 
ObfRunMe( )
    {
        
error_reportingE_ALL );
    
        include( 
realpathdirname__FILE__ ) ).'/_obfuscator.class.php' );
        include( 
realpathdirname__FILE__ ) ).'/_file.class.php' );
        
        
$this -> _Obfuscator Obfuscator::instance( );

        
$_FILE = new File( );
        
$_FILE -> openrealpathdirname__FILE__ ) ).'/config.dat' );
        
$_CONFIG unserialize$_FILE -> read( ) );
        
$_FILE -> close( );
        
        
$this -> _Obfuscator -> _CONFIG $_CONFIG;

        
set_time_limit3600 $_CONFIG['time'] );
        
        
$this -> _source =& $_CONFIG['source'];
        
$this -> _destin =& $_CONFIG['target'];
        
        
        if( isset( 
$_CONFIG['smarty'] ) && $_CONFIG['smarty'] == true )
        {
            
$this -> _Obfuscator -> _NOCHANGE[] = 'smarty';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'append';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'append_by_ref';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'assign';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'assign_by_ref';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'lear_all_assign';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'clear_all_cache';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'clear_assign';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'clear_cache';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'clear_compiled_tpl';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'clear_config';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'config_load';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'display';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'fetch';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'get_config_vars';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'get_registered_object';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'get_template_vars';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'is_cached';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'load_filter';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'register_block';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'register_compiler_function';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'register_function';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'register_modifier';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'register_object';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'register_outputfilter';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'register_postfilter';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'register_prefilter';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'register_resource';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'trigger_error';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'template_exists';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'unregister_block';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'unregister_compiler_function';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'unregister_function';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'unregister_modifier';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'unregister_object';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'unregister_outputfilter';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'unregister_postfilter';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'unregister_prefilter';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'unregister_resource';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'capture';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'config_load';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'foreach';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'foreachelse';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'include';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'include_php';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'insert';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'if';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'elseif';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'else';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'ldelim';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'rdelim';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'literal';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'php';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'section';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'sectionelse';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'strip';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'assign';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'counter';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'cycle';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'debug';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'eval';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'fetch';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'html_checkboxes';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'html_image';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'html_options';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'html_radios';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'html_select_date';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'html_select_time';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'html_table';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'math';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'mailto';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'popup_init';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'popup';
            
$this -> _Obfuscator -> _NOCHANGE[] = 'textformat';
        }
        
        if( isset( 
$_CONFIG['nochange'] ) && !empty( $_CONFIG['nochange'] ) ) 
        {

            
$exp explode','$_CONFIG['nochange'] );
            
            if( 
sizeof$exp ) >= )
            {
                foreach( 
$exp as $key => $value 
                {
                    
$this -> _Obfuscator -> _NOCHANGE[] = preg_replace'/\s/''' strtolower$value ) );
                }
            }
            
        }
        
    }
    
    function 
run( )
    {
        
$this -> readFiles$this -> _source $this -> _destin );
        
        
$this -> _Obfuscator -> ObfSaveRandomsFile( );
        
$this -> _Obfuscator -> ObfSaveFunctionsFile( );
        
$this -> _Obfuscator -> ObfSaveClassesFile( );
        
$this -> _Obfuscator -> ObfSaveVariablesFile( );
        
        
$this -> procesFiles$this -> _source $this -> _destin );
        
        
        echo 
'<script>this.window.location.href(\'finish.php\')</script>';
    }
    
    function 
readFiles$_dir $_dest )
    {
        
$_files $this -> _getDirectory$_dir );
        
        
        if( 
is_array$_files ) )
        {
            foreach( 
$_files AS $value )
            {
                if( 
is_dir$_dir.'/'.$value ) )
                {
                    
                    
$this -> readFiles$_dir.'/'.$value $_dest.'/'.$value );
            
                } else if( 
eregi'.php'$value ) && file_exists$_dir.'/'.$value) ) {
                
    
                    
$this -> runObfuscatorSearch$_dir.'/'.$value $_dest.'/'.$value );
            
                }
            }
        }
    }
    
    function 
procesFiles$_dir $_dest )
    {
        
$this -> _i++; 
        
        
$_files $this -> _getDirectory$_dir );
        
        if( 
is_array$_files ) )
        {

            foreach( 
$_files AS $value )
            {

                if( 
is_dir$_dir.'/'.$value ) )
                {
                    if( 
$this -> _i == ) { echo '<b>'.$value.'</b>';$this -> _Obfuscator -> ObfSetDir$value ); }

                    
$this -> makeDir$_dest.'/'.$value );
                    
$this -> procesFiles$_dir.'/'.$value $_dest.'/'.$value );
            
                } else if( 
eregi'.php'$value ) && file_exists$_dir.'/'.$value) ) {
                    
                    
$this -> runObfuscatorReplace$_dir.'/'.$value $_dest.'/'.$value );
            
                } else {
            
                    
copy$_dir.'/'.$value $_dest.'/'.$value );
            
                }
            }
        }
        
        
$this -> _i--;
    }
    
    function 
runObfuscatorSearch$_addr null $_dest )
    {
        echo 
"Process File :: ".realpath$_addr )." <BR>\n";
        
        
$this -> _Obfuscator -> ObfSetSource$_addr );
        
$this -> _Obfuscator -> ObfSetDestination$_dest );    
        
$this -> _Obfuscator -> ObfSearch( );
    }
    
    function 
runObfuscatorReplace$_addr null $_dest )
    {
        
$this -> _Obfuscator -> ObfSetSource$_addr );
        
$this -> _Obfuscator -> ObfSetDestination$_dest );    
        
$this -> _Obfuscator -> ObfReplace( );

        echo 
"Creates File :: ".realpath$_dest )." <BR>\n";
    }
    
    function 
makeDir$_addr )
    {
        if( !
is_dir$_addr ) )
        {
            
mkdir $_addr 0777 );
        }
    }

    
    function 
_getDirectory$directory )
    {
        
$array null;
    
        
$dir $directory;
        
        if ( 
is_dir$dir ) ) 
        {
           if (
$dh opendir$dir ) ) 
           {
              while ( ( 
$file readdir$dh ) ) !== false
              {

                if( 
$file != '.' && $file != '..' )
                {

                    
$array[] = $file;         
                }
                 
               }
              
               
closedir($dh);
              
           }
        }

        return 
$array;
    }

    
}

$obj = new ObfRunMe( );
$obj -> run( );
?>