<?php
/**
* Obfuscate Code.
* Executable file.
*
*/
// Tell NabiBust which classes and functions are system classes and functions and therefore can not
// be obfuscated.
// All classes defined before these lines will be excluded from obfucation.
// Copy these three lines to a place where they are called before any
// user class or function definition.
require_once(realpath(dirname(__FILE__)).DIRECTORY_SEPARATOR.
"class_system_classes.php");
system_classes::init();
// USER SETTING: set maximum execution time
ini_set("max_execution_time",-1);
// init framework
require_once(realpath(dirname(__FILE__)).DIRECTORY_SEPARATOR."obfuscator.php");
$settings = new ObfuscatorSettings();
//USER SETTING: set the source directory
$settings->set_source_directory(realpath(dirname(__FILE__)."/testfiles"));
// USER SETTING: set the target directory
$settings->set_target_directory(realpath(dirname(__FILE__)."/release"));
// USER SETTING: set file extensions to include
$settings->set_include_filenames(array("*.php"));
// USER SETTING: exclude from step 0 (copy files from source to target) folders that are not relevant for the project,
// like the subversion folders ".svn" or the temp folders or files from Apple systems ".DS_*"
// and any files not needed.
// Theses folders and files will not show up in the result directory!
$settings->set_exclude_in_first_copy(array( "*.svn*",
"*.DS_*".
"installation/test_and_build/test_installation",
"lib/obfuscate/release",
"lib/tar/install/install.gz"));
// USER SETTING: exclude directories that contain code which is supposed to be viewed or
// changed by the user or contain foreign (unknown) code.
// These folders will show up in the result directory, but their contents will not be
// obfuscated.
$settings->set_exclude_directories(array("modules", "lib","not_to_obfuscate"));
// USER SETTING: exclude files that contain code which is supposed to be viewed or changed by
// the user or contain foreign (unknown) code.
$settings->set_exclude_filenames(array("configuration.php","install_from_eclipse.php"));
// USER SETTING: set classes to be excluded, e.g. classes which are used in callbacks or in eval.
$settings->set_exclude_classes(array(
"receive_system_setting",
"will_be_checked",
"test_asset_static",
"color_editor",
"css_editor",
"font",
"link_editor",
"picture_editor",
"upload",
"del_warn",
"site_manager",
"change_permissions",
"secure_page_builder",
"show_page",
"save_position",
"save_size",
"set_virtual_group",
"template_copy_file",
"template_delete_file",
"template_editor",
"upload_tool",
"webdav",
"admin_frontend",
"group_assign",
"group_bean",
"nabidoo_example_bean",
"user_bean",
"requesting_user_bean",
"my_number_server",
"xhtml_converter",
"show_page",
"test_asset_dynamic",
"test_asset_static",
"input_checks",
"error_messages",
"group_to_group_assignment",
"single_site_manager",
"module_manager"));
// USER SETTING: set variables to be excluded, e.g. variables which are used in callbacks or in eval.
$settings->set_exclude_variables(array( 'content',
'template_call',
'user_email',
'user_first_name',
'user_last_name',
'group_name',
'source_group',
'target_group',
'user_password',
'userid',
'useremail',
'userfirstname',
'userlastname',
'group_name',
'page'));
// USER SETTING: set functions to be excluded, e.g. functions which are used in callbacks or in eval.
$settings->set_exclude_functions(array( 'run',
'run_unprotected',
'integer',
'html_hex_color_with_selection',
'real_integer',
'get_table_def',
'get_table',
'ucd',
'postprocess_delete',
'postprocess_ne',
'postprocess_edit',
'image_file_name_with_selection',
'secure_render_template',
'close_singleton_callback',
'add_hyphens_callback',
'filter_dangerous_code',
'is_unknown_modifier',
'strtolower',
'add_key',
'style_key_sort',
'integer',
'check_field',
'input_error_functions'));
// USER SETTING: set the required obfuscation steps
$settings->set_steps(array( ObfuscatorSettings::STEP_1_COPY,
ObfuscatorSettings::STEP_2_CLASSES,
ObfuscatorSettings::STEP_3_CONSTANTS,
ObfuscatorSettings::STEP_4_COMMENTS,
ObfuscatorSettings::STEP_5_VARIABLES,
ObfuscatorSettings::STEP_6_FUNCTIONS,
ObfuscatorSettings::STEP_7_WHITESPACES,
ObfuscatorSettings::STEP_8
));
// NO MORE USER SETTINGS AFTER THIS LINE
// use this two lines to call the obfuscator
$obfuscator = new Obfuscator($settings);
// start obfuscation process
$obfuscator->bust_files();
?>
|