uawdijnntqw1x1x1
IP : 216.73.216.155
Hostname : vm5018.vps.agava.net
Kernel : Linux vm5018.vps.agava.net 3.10.0-1127.8.2.vz7.151.14 #1 SMP Tue Jun 9 12:58:54 MSK 2020 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
var
/
www
/
iplanru
/
data
/
www
/
www.i-plan.ru
/
ai-bolit
/
ai-bolit-hoster.php
/
/
<?php /////////////////////////////////////////////////////////////////////////// // Version: HOSTER-30.1.1 // Copyright 2018-2020 CloudLinux Software Inc. /////////////////////////////////////////////////////////////////////////// ini_set('memory_limit', '1G'); ini_set('xdebug.max_nesting_level', 500); define('SHORT_PHP_TAG', strtolower(ini_get('short_open_tag')) == 'on' || strtolower(ini_get('short_open_tag')) == 1); ////////////////////////////////////////////////////////////////////////// $vars = new Variables(); $lang = 'RU'; $snum = ''; if (isCli()) { if (strpos('--eng', $argv[$argc - 1]) !== false) { $lang = 'EN'; } } else { define('NEED_REPORT', true); } Translate::setLang($lang); // put 1 for expert mode, 0 for basic check and 2 for paranoid mode // установите 1 для режима "Обычное сканирование", 0 для быстрой проверки и 2 для параноидальной проверки (диагностика при лечении сайтов) define('AI_EXPERT_MODE', 2); define('AI_HOSTER', 1); define('CLOUD_ASSIST_LIMIT', 5000); $defaults = array( 'path' => __DIR__, 'scan_all_files' => (AI_EXPERT_MODE == 2), // full scan (rather than just a .js, .php, .html, .htaccess) 'scan_delay' => 0, // delay in file scanning to reduce system load 'max_size_to_scan' => '650K', 'max_size_to_cloudscan' => '650K', 'no_rw_dir' => 0, 'skip_ext' => '', 'skip_cache' => false, 'report_mask' => JSONReport::REPORT_MASK_FULL, 'use_template_in_path' => false, ); define('DEBUG_MODE', 0); define('DEBUG_PERFORMANCE', 0); define('AIBOLIT_START_TIME', time()); define('START_TIME', microtime(true)); define('DIR_SEPARATOR', '/'); define('AIBOLIT_MAX_NUMBER', 200); define('MIN_FILE_SIZE_FOR_CHECK', 14); //14b - The minimum possible file size for the initial checking define('MAX_FILE_SIZE_FOR_CHECK', 268435456); //256Mb - The maximum possible file size for the initial checking define('DOUBLECHECK_FILE', 'AI-BOLIT-DOUBLECHECK.php'); if ((isset($_SERVER['OS']) && stripos('Win', $_SERVER['OS']) !== false)) { define('DIR_SEPARATOR', '\\'); } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// if (!(function_exists("file_put_contents") && is_callable("file_put_contents"))) { echo "#####################################################\n"; echo "file_put_contents() is disabled. Cannot proceed.\n"; echo "#####################################################\n"; exit; } define('AI_VERSION', 'HOSTER-30.1.1'); //////////////////////////////////////////////////////////////////////////// $l_Res = ''; $g_SpecificExt = false; $g_UpdatedJsonLog = 0; $g_FileInfo = array(); $g_Iframer = array(); $g_PHPCodeInside = array(); $g_Base64 = array(); $g_HeuristicDetected = array(); $g_HeuristicType = array(); $g_UnixExec = array(); $g_UnsafeFilesFound = array(); $g_HiddenFiles = array(); $g_RegExpStat = array(); error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING); srand(time()); set_time_limit(0); ini_set('max_execution_time', '900000'); ini_set('realpath_cache_size', '16M'); ini_set('realpath_cache_ttl', '1200'); ini_set('pcre.backtrack_limit', '1000000'); ini_set('pcre.recursion_limit', '200000'); ini_set('pcre.jit', '1'); $filter = new FileFilter(); $finder = new Finder($filter); if (!function_exists('stripos')) { function stripos($par_Str, $par_Entry, $Offset = 0) { return strpos(strtolower($par_Str), strtolower($par_Entry), $Offset); } } /** * Determine php script is called from the command line interface * @return bool */ function isCli() { return PHP_SAPI == 'cli'; } /** * Print to console * @param mixed $text * @param bool $add_lb Add line break * @return void */ function stdOut($text, $add_lb = true) { if (!isCli()) { return; } if (is_bool($text)) { $text = $text ? 'true' : 'false'; } else if (is_null($text)) { $text = 'null'; } if (!is_scalar($text)) { $text = print_r($text, true); } if ((!BOOL_RESULT) && (!JSON_STDOUT)) { @fwrite(STDOUT, $text . ($add_lb ? "\n" : '')); } } /** * Print progress * * @param int $num Current file * @param $par_File * @param $vars */ function printProgress($num, $par_File, $vars) { global $g_Base64, $g_Iframer, $g_UpdatedJsonLog, $g_AddPrefix, $g_NoPrefix; $total_files = $vars->foundTotalFiles; $elapsed_time = microtime(true) - START_TIME; $percent = number_format($total_files ? $num * 100 / $total_files : 0, 1); $stat = ''; $left_files = 0; $left_time = 0; $elapsed_seconds = 0; if ($elapsed_time >= 1) { $elapsed_seconds = round($elapsed_time, 0); $fs = floor($num / $elapsed_seconds); $left_files = $total_files - $num; if ($fs > 0) { $left_time = ($left_files / $fs); //ceil($left_files / $fs); $stat = ' [Avg: ' . round($fs, 2) . ' files/s' . ($left_time > 0 ? ' Left: ' . AibolitHelpers::seconds2Human($left_time) : '') . '] [Mlw:' . (count($vars->criticalPHP) + count($g_Base64) + count($vars->warningPHP)) . '|' . (count($vars->criticalJS) + count($g_Iframer) + count($vars->phishing)) . ']'; } } $l_FN = substr($par_File, -60); $text = "$percent% [$l_FN] $num of {$total_files}. " . $stat; $text = str_pad($text, 160, ' ', STR_PAD_RIGHT); stdOut(str_repeat(chr(8), 160) . $text, false); $data = array( 'self' => __FILE__, 'started' => AIBOLIT_START_TIME, 'updated' => time(), 'progress' => $percent, 'time_elapsed' => $elapsed_seconds, 'time_left' => round($left_time), 'files_left' => $left_files, 'files_total' => $total_files, 'current_file' => substr($g_AddPrefix . str_replace($g_NoPrefix, '', $par_File), -160) ); if (function_exists('aibolit_onProgressUpdate')) { aibolit_onProgressUpdate($data); } if (defined('PROGRESS_LOG_FILE') && (time() - $g_UpdatedJsonLog > 1)) { if (function_exists('json_encode')) { file_put_contents(PROGRESS_LOG_FILE, json_encode($data)); } else { file_put_contents(PROGRESS_LOG_FILE, serialize($data)); } $g_UpdatedJsonLog = time(); } if (defined('SHARED_MEMORY')) { shmop_write(SHARED_MEMORY, str_repeat("\0", shmop_size(SHARED_MEMORY)), 0); if (function_exists('json_encode')) { shmop_write(SHARED_MEMORY, json_encode($data), 0); } else { shmop_write(SHARED_MEMORY, serialize($data), 0); } } } if (isCli()) { $cli_options = array( 'y' => 'deobfuscate', 'c:' => 'avdb:', 'm:' => 'memory:', 's:' => 'size:', 'a' => 'all', 'd:' => 'delay:', 'l:' => 'list:', 'r:' => 'report:', 'f' => 'fast', 'j:' => 'file:', 'p:' => 'path:', 'q' => 'quite', 'e:' => 'cms:', 'x:' => 'mode:', 'k:' => 'skip:', 'n' => 'sc', 'o:' => 'json_report:', 't:' => 'php_report:', 'z:' => 'progress:', 'g:' => 'handler:', 'b' => 'smart', 'u:' => 'username:', 'h' => 'help' ); $cli_longopts = array( 'deobfuscate', 'avdb:', 'cmd:', 'noprefix:', 'addprefix:', 'scan:', 'one-pass', 'smart', 'with-2check', 'skip-cache', 'username:', 'no-html', 'json-stdout', 'listing:', 'encode-b64-fn', 'cloud-assist:', 'cloudscan-size:', 'with-suspicious', 'rapid-account-scan:', 'rapid-account-scan-type:', 'extended-report', 'factory-config:', 'shared-mem-progress:', 'create-shared-mem', 'max-size-scan-bytes:', 'input-fn-b64-encoded', 'use-heuristics', 'use-heuristics-suspicious', 'resident', 'detached:', 'log:', 'log-level:', 'use-template-in-path', 'ignore-list:', 'ignore-filenames:', 'only-filepaths:', 'skip-files-older:', 'skip-root-owner', 'skip-system-owner', 'follow-symlink', 'ignore-quarantine', 'quiet', 'use-filters', 'csv_report:' ); $cli_longopts = array_merge($cli_longopts, array_values($cli_options)); $reports = []; $options = getopt(implode('', array_keys($cli_options)), $cli_longopts); if (isset($options['h']) || isset($options['help'])) { $memory_limit = ini_get('memory_limit'); echo <<<HELP Revisium AI-Bolit - an Intelligent Malware File Scanner for Websites. Usage: php {$_SERVER['PHP_SELF']} [OPTIONS] [PATH] Current default path is: {$defaults['path']} -j, --file=FILE Full path to single file to check -p, --path=PATH Directory path to scan, by default the file directory is used Current path: {$defaults['path']} --use-template-in-path Use template in path(-p, --path). For example: /home*/*/public_html -p, --listing=FILE Scan files from the listing. E.g. --listing=/tmp/myfilelist.txt Use --listing=stdin to get listing from stdin stream --extended-report To expand the report --ignore-list=FILE This file will be contain the list of ignored files when scanning. The files are base64-encoded and occupy one line for one file. --ignore-filenames=<templates> Skip files with the same name by template. Example: *.php,*abc.abc,config.* --only-filepaths=<templates> Take only the paths matching this pattern. Example: /check/*.php,*.abc --skip-files-older=UNIXTIME If set then we ignore the files created or modified earlier than the specified date --skip-root-owner If set, we skip root's owner files --skip-system-owner If set, we skip system's owner files --follow-symlink If set then we follow symlink --ignore-quarantine If set, we ignore the files in the folder ".imunify.quarantined" if root is owner of it -x, --mode=INT Set scan mode. 0 - for basic, 1 - for expert and 2 for paranoic. -k, --skip=jpg,... Skip specific extensions. E.g. --skip=jpg,gif,png,xls,pdf --scan=php,... Scan only specific extensions. E.g. --scan=php,htaccess,js --cloud-assist=TOKEN Enable cloud assisted scanning. Disabled by default. --with-suspicious Detect suspicious files. Disabled by default. --rapid-account-scan=<dir> Enable rapid account scan. Use <dir> for base db dir. Need to set only root permissions(700) --rapid-account-scan-type=<type> Type rapid account scan. <type> = NONE|ALL|SUSPICIOUS, def:SUSPICIOUS --use-heuristics Enable heuristic algorithms and mark found files as malicious. --use-heuristics-suspicious Enable heuristic algorithms and mark found files as suspicious. -r, --report=PATH -o, --json_report=FILE Full path to create json-file with a list of found malware --csv_report=FILE Full path to create csv-file with a list of found malware -l, --list=FILE Full path to create plain text file with a list of found malware --no-html Disable HTML report --encode-b64-fn Encode file names in a report with base64 (for internal usage) --input-fn-b64-encoded Base64 encoded input filenames in listing or stdin --smart Enable smart mode (skip cache files and optimize scanning) -m, --memory=SIZE Maximum amount of memory a script may consume. Current value: $memory_limit Can take shorthand byte values (1M, 1G...) -s, --size=SIZE Scan files are smaller than SIZE with signatures. 0 - All files. Current value: {$defaults['max_size_to_scan']} --max-size-scan-bytes=SIZE Scan first <bytes> for large(can set by --size) files with signatures. --cloudscan-size Scan files are smaller than SIZE with cloud assisted scan. 0 - All files. Current value: {$defaults['max_size_to_cloudscan']} -d, --delay=INT Delay in milliseconds when scanning files to reduce load on the file system (Default: 1) -a, --all Scan all files (by default scan. js,. php,. html,. htaccess) --one-pass Do not calculate remaining time --with-2check Create or use AI-BOLIT-DOUBLECHECK.php file -z, --progress=FILE Runtime progress of scanning, saved to the file, full path required. --shared-mem-progress=<ID> Runtime progress of scanning, saved to the shared memory <ID>. --create-shared-mem Need to create shared memory segment <ID> for --shared-mem-progress. -u, --username=<username> Run scanner with specific user id and group id, e.g. --username=www-data -g, --hander=FILE External php handler for different events, full path to php file required. --cmd="command [args...]" Run command after scanning --help Display this help and exit * Mandatory arguments listed below are required for both full and short way of usage. HELP; exit; } $l_FastCli = false; if ((isset($options['memory']) && !empty($options['memory']) && ($memory = $options['memory'])) || (isset($options['m']) && !empty($options['m']) && ($memory = $options['m']))) { $memory = AibolitHelpers::getBytes($memory); if ($memory > 0) { $defaults['memory_limit'] = $memory; ini_set('memory_limit', $memory); } } $avdb = ''; if ((isset($options['avdb']) && !empty($options['avdb']) && ($avdb = $options['avdb'])) || (isset($options['c']) && !empty($options['c']) && ($avdb = $options['c']))) { if (file_exists($avdb)) { $defaults['avdb'] = $avdb; } } if ((isset($options['file']) && !empty($options['file']) && ($file = $options['file']) !== false) || (isset($options['j']) && !empty($options['j']) && ($file = $options['j']) !== false)) { define('SCAN_FILE', $file); } if (isset($options['deobfuscate']) || isset($options['y'])) { define('AI_DEOBFUSCATE', true); } if ((isset($options['list']) && !empty($options['list']) && ($file = $options['list']) !== false) || (isset($options['l']) && !empty($options['l']) && ($file = $options['l']) !== false)) { $reports[PlainReport::class] = $file; } if(isset($options['with-2check'])) { $reports[DoublecheckReport::class] = DOUBLECHECK_FILE; } if ((isset($options['listing']) && !empty($options['listing']) && ($listing = $options['listing']) !== false)) { if (file_exists($listing) && is_file($listing) && is_readable($listing)) { define('LISTING_FILE', $listing); } if ($listing == 'stdin') { define('LISTING_FILE', $listing); } } if ((isset($options['ignore-list']) && !empty($options['ignore-list']) && ($ignore_list_file = $options['ignore-list']) !== false)) { if (file_exists($ignore_list_file) && is_file($ignore_list_file) && is_readable($ignore_list_file)) { $filter->setIgnoreListFile($ignore_list_file); } } if ((isset($options['ignore-filenames']) && !empty($options['ignore-filenames']) && ($ignore_filenames = $options['ignore-filenames']) !== false)) { $filter->setIgnoreFilenames($ignore_filenames); } if ((isset($options['only-filepaths']) && !empty($options['only-filepaths']) && ($only_filepathes = $options['only-filepaths']) !== false)) { $filter->setOnlyFilepaths($only_filepathes); } if ((isset($options['skip-files-older']) && !empty($options['skip-files-older']) && ($skip_files_older = $options['skip-files-older']) !== false)) { $filter->setSkipFilesOlder($skip_files_older); } if (isset($options['skip-root-owner'])) { $filter->setSkipRootOwner(); } if (isset($options['skip-system-owner'])) { $max_min_uid = getMaxMinUid(); $vars->maxMinUid = $max_min_uid; $filter->setSkipSystemOwner($max_min_uid); unset($max_min_uid); } if (isset($options['follow-symlink'])) { $filter->setFollowSymlink(); } if (isset($options['ignore-quarantine'])) { $filter->setIgnoreQuarantine(); } if (isset($options['use-filters'])) { $filter->setImunifyFilters(); } if ((isset($options['json_report']) && !empty($options['json_report']) && ($file = $options['json_report']) !== false) || (isset($options['o']) && !empty($options['o']) && ($file = $options['o']) !== false)) { $reports[JSONReport::class] = $file; if (!function_exists('json_encode')) { die('json_encode function is not available. Enable json extension in php.ini'); } } if (isset($options['csv_report']) && !empty($options['csv_report']) && ($file = $options['csv_report']) !== false) { $reports[CSVReport::class] = $file; } if ((isset($options['php_report']) && !empty($options['php_report']) && ($file = $options['php_report']) !== false) || (isset($options['t']) && !empty($options['t']) && ($file = $options['t']) !== false)) { $reports[PHPReport::class] = $file; } $env_log = getenv('AIBOLIT_RESIDENT_LOG'); $env_log_level = getenv('AIBOLIT_RESIDENT_LOG_LEVEL'); if ((isset($options['log']) && !empty($options['log']) && ($log_file = $options['log']) !== false) || ($env_log !== false && ($log_file = $env_log) !== false)) { define('LOG_FILE', $log_file); } if ((isset($options['log-level']) && !empty($options['log-level']) && ($log_level = $options['log-level']) !== false) || ($env_log_level !== false && ($log_level = $env_log_level) !== false)) { define('LOG_LEVEL', $log_level); } if (defined('LOG_FILE') && !defined('LOG_LEVEL')) { define('LOG_LEVEL', 'INFO'); } if ((isset($options['handler']) && !empty($options['handler']) && ($file = $options['handler']) !== false) || (isset($options['g']) && !empty($options['g']) && ($file = $options['g']) !== false)) { if (file_exists($file)) { define('AIBOLIT_EXTERNAL_HANDLER', $file); } } if ((isset($options['progress']) && !empty($options['progress']) && ($file = $options['progress']) !== false) || (isset($options['z']) && !empty($options['z']) && ($file = $options['z']) !== false)) { define('PROGRESS_LOG_FILE', $file); } if (isset($options['create-shared-mem'])) { define('CREATE_SHARED_MEMORY', true); } else { define('CREATE_SHARED_MEMORY', false); } if (isset($options['shared-mem-progress']) && !empty($options['shared-mem-progress']) && ($sh_mem = $options['shared-mem-progress']) !== false) { if (CREATE_SHARED_MEMORY) { @$shid = shmop_open((int)$sh_mem, "n", 0666, 5000); } else { @$shid = shmop_open((int)$sh_mem, "w", 0, 0); } if (!empty($shid)) { define('SHARED_MEMORY', $shid); } else { die('Error with shared-memory.'); } } if ((isset($options['size']) && ($size = $options['size']) !== false) || (isset($options['s']) && ($size = $options['s']) !== false)) { $size = AibolitHelpers::getBytes($size); $defaults['max_size_to_scan'] = $size > 0 ? $size : 0; } if (isset($options['cloudscan-size']) && !empty($options['cloudscan-size']) && ($cloudscan_size = $options['cloudscan-size']) !== false) { $cloudscan_size = AibolitHelpers::getBytes($cloudscan_size); $defaults['max_size_to_cloudscan'] = $cloudscan_size > 0 ? $cloudscan_size : 0; } if (isset($options['max-size-scan-bytes']) && !empty($options['max-size-scan-bytes'])) { define('MAX_SIZE_SCAN_BYTES', AibolitHelpers::getBytes($options['max-size-scan-bytes'])); } else { define('MAX_SIZE_SCAN_BYTES', 0); } if ((isset($options['username']) && !empty($options['username']) && ($username = $options['username']) !== false) || (isset($options['u']) && !empty($options['u']) && ($username = $options['u']) !== false)) { if (!empty($username) && ($info = posix_getpwnam($username)) !== false) { posix_setgid($info['gid']); posix_setuid($info['uid']); $defaults['userid'] = $info['uid']; $defaults['groupid'] = $info['gid']; } else { echo ('Invalid username'); exit(-1); } } if ((isset($options['file']) && !empty($options['file']) && ($file = $options['file']) !== false) || ((isset($options['j']) && !empty($options['j']) && ($file = $options['j']) !== false) && (isset($options['q'])))) { $BOOL_RESULT = true; } if (isset($options['json-stdout'])) { define('JSON_STDOUT', true); } else { define('JSON_STDOUT', false); } if (isset($options['f'])) { $l_FastCli = true; } if (isset($options['q']) || isset($options['quite']) || isset($options['quiet'])) { $BOOL_RESULT = true; } if (isset($options['x'])) { define('AI_EXPERT', $options['x']); } else if (isset($options['mode'])) { define('AI_EXPERT', $options['mode']); } else { define('AI_EXPERT', AI_EXPERT_MODE); } if (AI_EXPERT < 2) { $g_SpecificExt = true; $defaults['scan_all_files'] = false; } else { $defaults['scan_all_files'] = true; } define('BOOL_RESULT', $BOOL_RESULT); if ((isset($options['delay']) && !empty($options['delay']) && ($delay = $options['delay']) !== false) || (isset($options['d']) && !empty($options['d']) && ($delay = $options['d']) !== false)) { $delay = (int) $delay; if (!($delay < 0)) { $defaults['scan_delay'] = $delay; } } if ((isset($options['skip']) && !empty($options['skip']) && ($ext_list = $options['skip']) !== false) || (isset($options['k']) && !empty($options['k']) && ($ext_list = $options['k']) !== false)) { $defaults['skip_ext'] = $ext_list; } if (isset($options['n']) || isset($options['skip-cache'])) { $defaults['skip_cache'] = true; } if (isset($options['scan'])) { $ext_list = strtolower(trim($options['scan'], " ,\t\n\r\0\x0B")); if ($ext_list != '') { $l_FastCli = true; $filter->setSensitiveExt($ext_list); $g_SensitiveFiles = $filter->getSensitiveExt(); $g_SpecificExt = true; } } if (isset($options['cloud-assist'])) { define('CLOUD_ASSIST_TOKEN', $options['cloud-assist']); } if (isset($options['rapid-account-scan'])) { define('RAPID_ACCOUNT_SCAN', $options['rapid-account-scan']); } if (defined('RAPID_ACCOUNT_SCAN')) { if (isset($options['rapid-account-scan-type'])) { define('RAPID_ACCOUNT_SCAN_TYPE', $options['rapid-account-scan-type']); } else { define('RAPID_ACCOUNT_SCAN_TYPE', 'SUSPICIOUS'); } } if (isset($options['with-suspicious'])) { define('AI_EXTRA_WARN', true); } if (isset($options['extended-report'])) { define('EXTENDED_REPORT', true); } if (isset($options['all'])||isset($options['a'])) { $defaults['scan_all_files'] = true; $g_SpecificExt = false; } if (isset($options['cms'])) { define('CMS', $options['cms']); } else if (isset($options['e'])) { define('CMS', $options['e']); } if (!defined('SMART_SCAN')) { define('SMART_SCAN', 0); } if (!defined('AI_DEOBFUSCATE')) { define('AI_DEOBFUSCATE', false); } if (!defined('AI_EXTRA_WARN')) { define('AI_EXTRA_WARN', false); } $l_SpecifiedPath = false; if ((isset($options['path']) && !empty($options['path']) && ($path = $options['path']) !== false) || (isset($options['p']) && !empty($options['p']) && ($path = $options['p']) !== false) ) { $defaults['path'] = $path; $l_SpecifiedPath = true; } $defaults['use_template_in_path'] = isset($options['use-template-in-path']); if (isset($options['noprefix']) && !empty($options['noprefix']) && ($g_NoPrefix = $options['noprefix']) !== false) { } else { $g_NoPrefix = ''; } if (isset($options['addprefix']) && !empty($options['addprefix']) && ($g_AddPrefix = $options['addprefix']) !== false) { } else { $g_AddPrefix = ''; } if (isset($options['use-heuristics'])) { define('USE_HEURISTICS', true); } if (isset($options['use-heuristics-suspicious'])) { define('USE_HEURISTICS_SUSPICIOUS', true); } if (defined('USE_HEURISTICS') && defined('USE_HEURISTICS_SUSPICIOUS')) { die('You can not use --use-heuristic and --use-heuristic-suspicious the same time.'); } $l_SuffixReport = str_replace('/var/www', '', $defaults['path']); $l_SuffixReport = str_replace('/home', '', $l_SuffixReport); $l_SuffixReport = preg_replace('~[/\\\.\s]~', '_', $l_SuffixReport); $l_SuffixReport .= "-" . rand(1, 999999); if ((isset($options['report']) && ($report = $options['report']) !== false) || (isset($options['r']) && ($report = $options['r']) !== false)) { $report = str_replace('@PATH@', $l_SuffixReport, $report); $report = str_replace('@RND@', rand(1, 999999), $report); $report = str_replace('@DATE@', date('d-m-Y-h-i'), $report); define('REPORT', $report); define('NEED_REPORT', true); } if (isset($options['no-html'])) { define('REPORT', 'no@email.com'); } defined('ENCODE_FILENAMES_WITH_BASE64') || define('ENCODE_FILENAMES_WITH_BASE64', isset($options['encode-b64-fn'])); defined('INPUT_FILENAMES_BASE64_ENCODED') || define('INPUT_FILENAMES_BASE64_ENCODED', isset($options['input-fn-b64-encoded'])); defined('REPORT') || define('REPORT', 'AI-BOLIT-REPORT-' . $l_SuffixReport . '-' . date('d-m-Y_H-i') . '.html'); $last_arg = max(1, sizeof($_SERVER['argv']) - 1); if (isset($_SERVER['argv'][$last_arg])) { $path = $_SERVER['argv'][$last_arg]; if (substr($path, 0, 1) != '-' && (substr($_SERVER['argv'][$last_arg - 1], 0, 1) != '-' || array_key_exists(substr($_SERVER['argv'][$last_arg - 1], -1), $cli_options) ) ) { $defaults['path'] = $path; } } define('ONE_PASS', isset($options['one-pass'])); // BEGIN of configuring the factory $factoryConfig = [ RapidAccountScan::class => RapidAccountScan::class, RapidScanStorage::class => RapidScanStorage::class, CloudAssistedStorage::class => CloudAssistedStorage::class, DbFolderSpecification::class => DbFolderSpecification::class, CriticalFileSpecification::class => CriticalFileSpecification::class, CloudAssistedRequest::class => CloudAssistedRequest::class, CSVReport::class => CSVReport::class, JSONReport::class => JSONReport::class, PHPReport::class => PHPReport::class, PlainReport::class => PlainReport::class, DoublecheckReport::class => DoublecheckReport::class, HTMLReport::class => HTMLReport::class, DetachedMode::class => DetachedMode::class, ResidentMode::class => ResidentMode::class, Logger::class => Logger::class, ]; if (isset($options['factory-config'])) { $optionalFactoryConfig = require($options['factory-config']); $factoryConfig = array_merge($factoryConfig, $optionalFactoryConfig); } Factory::configure($factoryConfig); // END of configuring the factory } else { define('AI_EXPERT', AI_EXPERT_MODE); define('ONE_PASS', true); } if (ONE_PASS && defined('CLOUD_ASSIST_TOKEN')) { die('Both parameters(one-pass and cloud-assist) not supported'); } if (defined('RAPID_ACCOUNT_SCAN') && !defined('CLOUD_ASSIST_TOKEN')) { die('CloudScan should be enabled'); } if (defined('CREATE_SHARED_MEMORY') && CREATE_SHARED_MEMORY == true && !defined('SHARED_MEMORY')) { die('shared-mem-progress should be enabled and ID specified.'); } if (defined('RAPID_ACCOUNT_SCAN')) { if (!mkdir(RAPID_ACCOUNT_SCAN, 0700, true) && !is_dir(RAPID_ACCOUNT_SCAN)) { throw new Exception(sprintf('Directory "%s" was not created', RAPID_ACCOUNT_SCAN)); } $specification = Factory::instance()->create(DbFolderSpecification::class); if (!$specification->satisfiedBy(RAPID_ACCOUNT_SCAN)) { @unlink(RAPID_ACCOUNT_SCAN); die('Rapid DB folder error! Please check the folder.'); } } if (defined('RAPID_ACCOUNT_SCAN_TYPE') && !in_array(RAPID_ACCOUNT_SCAN_TYPE, array('NONE', 'ALL', 'SUSPICIOUS'))) { die('Wrong Rapid account scan type'); } if (defined('RAPID_ACCOUNT_SCAN') && !extension_loaded('leveldb')) { die('LevelDB extension needed for Rapid DB'); } $vars->blackFiles = []; if (DEBUG_MODE || DEBUG_PERFORMANCE) { $debug = new DebugMode(DEBUG_MODE, DEBUG_PERFORMANCE); } else { $debug = null; } $vars->signs = new LoadSignaturesForScan(isset($defaults['avdb']) ? $defaults['avdb'] : null, AI_EXPERT, DEBUG_PERFORMANCE); if ($vars->signs->getResult() == $vars->signs::SIGN_EXTERNAL) { stdOut('Loaded external signatures from ' . $defaults['avdb']); } else if ($vars->signs->getResult() == $vars->signs::SIGN_IMPORT) { stdOut('Loaded ' . __DIR__ . '/ai-bolit.sig signatures from ai-bolit.sig'); } else if (is_object($debug) && $vars->signs->getResult() == $vars->signs::SIGN_ERROR) { $debug->QCR_Debug('Import ai-bolit.sig ' . $vars->signs->getLastError()); } if (is_object($debug)) { $debug->QCR_Debug(); } if (isset($defaults['userid'])) { stdOut('Running from ' . $defaults['userid'] . ':' . $defaults['groupid']); } if (AI_EXTRA_WARN) { $sign_count = $vars->signs->getDBCountWithSuspicious(); } else { $sign_count = $vars->signs->getDBCount(); } stdOut('Malware signatures: ' . $sign_count); if ($g_SpecificExt) { stdOut("Scan specific extensions: " . implode(',', $g_SensitiveFiles)); } // Black list database try { $file = __DIR__ . '/AIBOLIT-BINMALWARE.db'; if (isset($defaults['avdb'])) { $file = dirname($defaults['avdb']) . '/AIBOLIT-BINMALWARE.db'; } $vars->blacklist = FileHashMemoryDb::open($file); stdOut("Binary malware signatures: " . ceil($vars->blacklist->count())); } catch (Exception $e) { $vars->blacklist = null; } if (DEBUG_PERFORMANCE) { stdOut("Debug Performance Scan"); } // Init define('MAX_PREVIEW_LEN', 120); if (defined('AIBOLIT_EXTERNAL_HANDLER')) { include_once(AIBOLIT_EXTERNAL_HANDLER); stdOut("\nLoaded external handler: " . AIBOLIT_EXTERNAL_HANDLER . "\n"); if (function_exists("aibolit_onStart")) { aibolit_onStart(); } } // Perform full scan when running from command line if ($l_FastCli) { $defaults['scan_all_files'] = 0; } define('SCAN_ALL_FILES', (bool) $defaults['scan_all_files']); define('SCAN_DELAY', (int) $defaults['scan_delay']); define('MAX_SIZE_TO_SCAN', AibolitHelpers::getBytes($defaults['max_size_to_scan'])); define('MAX_SIZE_TO_CLOUDSCAN', AibolitHelpers::getBytes($defaults['max_size_to_cloudscan'])); if (SCAN_ALL_FILES) { $filter->setScanAll(); } if ($defaults['memory_limit'] && ($defaults['memory_limit'] = AibolitHelpers::getBytes($defaults['memory_limit'])) > 0) { ini_set('memory_limit', $defaults['memory_limit']); stdOut("Changed memory limit to " . $defaults['memory_limit']); } if (realpath($defaults['path']) === false) { define('ROOT_PATH', $defaults['path']); } else { define('ROOT_PATH', realpath($defaults['path'])); } if (!ROOT_PATH) { if (isCli()) { die(stdOut("Directory '{$defaults['path']}' not found!")); } } elseif (!$defaults['use_template_in_path'] && !is_readable(ROOT_PATH) && isCli()) { die2(stdOut("Cannot read directory '" . ROOT_PATH . "'!")); } define('CURRENT_DIR', getcwd()); if(!$defaults['use_template_in_path']) { chdir(ROOT_PATH); } if (isCli() && REPORT !== '' && REPORT !== 'no@email.com') { $report = str_replace('\\', '/', REPORT); $abs = strpos($report, '/') === 0 ? DIR_SEPARATOR : ''; $report = array_values(array_filter(explode('/', $report))); $report_file = array_pop($report); $report_path = realpath($abs . implode(DIR_SEPARATOR, $report)); define('REPORT_FILE', $report_file); define('REPORT_PATH', $report_path); if (REPORT_FILE && REPORT_PATH && is_file(REPORT_PATH . DIR_SEPARATOR . REPORT_FILE)) { @unlink(REPORT_PATH . DIR_SEPARATOR . REPORT_FILE); } if (!isset($options['no-html']) && defined('REPORT_FILE')) { $reports[HTMLReport::class] = REPORT_PATH . DIR_SEPARATOR . REPORT_FILE; } } if (defined('REPORT_PATH')) { $l_ReportDirName = REPORT_PATH; } $vars->options = $options; $path = $defaults['path']; $report_mask = $defaults['report_mask']; $extended_report = defined('EXTENDED_REPORT') && EXTENDED_REPORT; $rapid_account_scan_report = defined('RAPID_ACCOUNT_SCAN'); $max_size_to_scan = AibolitHelpers::getBytes(MAX_SIZE_TO_SCAN); $max_size_to_scan = $max_size_to_scan > 0 ? $max_size_to_scan : AibolitHelpers::getBytes('1m'); $max_size_to_scan = AibolitHelpers::bytes2Human($max_size_to_scan); $use_doublecheck = isset($options['with-2check']) && file_exists(DOUBLECHECK_FILE); $reportFactory = function ($reports) use ($vars, $path, $db_meta_info, $report_mask, $extended_report, $rapid_account_scan_report, $g_AddPrefix, $g_NoPrefix, $snum, $max_size_to_scan, $g_SpecificExt, $use_doublecheck) { foreach($reports as $report_class => $file) { yield Factory::instance()->create($report_class, [$vars->signs->_Mnemo, $path, $vars->signs->getDBLocation(), $vars->signs->getDBMetaInfoVersion(), $report_mask, $extended_report, $rapid_account_scan_report, AI_VERSION, AI_HOSTER, AI_EXTRA_WARN, AI_EXPERT, SMART_SCAN, ROOT_PATH, SCAN_ALL_FILES, $g_SpecificExt, DOUBLECHECK_FILE, $use_doublecheck, START_TIME, $snum, $max_size_to_scan, $g_AddPrefix, $g_NoPrefix, isset($reports[CSVReport::class]), $file, JSON_STDOUT]); } }; define('QUEUE_FILENAME', ($l_ReportDirName != '' ? $l_ReportDirName . '/' : '') . 'AI-BOLIT-QUEUE-' . md5($defaults['path']) . '-' . rand(1000, 9999) . '.txt'); if (isset($options['detached'])) { $detached = Factory::instance()->create(DetachedMode::class, [$finder, $debug, $options['detached'], $vars, START_TIME, $reportFactory]); if (defined('LISTING_FILE')) { $detached->scanListing(LISTING_FILE, INPUT_FILENAMES_BASE64_ENCODED); } else { $detached->scanDirectories(ROOT_PATH); } exit(0); } if (isset($options['resident'])) { $logger = null; $levels = explode(',', LOG_LEVEL); $logger = new Logger(LOG_FILE, $levels); Factory::instance()->create(ResidentMode::class, [$finder, $debug, $reportFactory, $vars->signs, $vars->blacklist, $logger, $vars->maxMinUid]); exit(0); } //////////////////////////////////////////////////////////////////////////// if (!isCli()) { header('Content-type: text/html; charset=utf-8'); } if (!$defaults['use_template_in_path'] && !is_readable(ROOT_PATH)) { echo Translate::getStr('warning.folder_read_permission'); exit; } if (isCli()) { if (defined('REPORT_PATH') && REPORT_PATH) { if (!is_writable(REPORT_PATH)) { die2("\nCannot write report. Report dir " . REPORT_PATH . " is not writable."); } else if (!REPORT_FILE) { die2("\nCannot write report. Report filename is empty."); } else if (($file = REPORT_PATH . DIR_SEPARATOR . REPORT_FILE) && is_file($file) && !is_writable($file)) { die2("\nCannot write report. Report file '$file' exists but is not writable."); } } } // detect version CMS $g_CmsListDetector = null; if (!$defaults['use_template_in_path']) { $g_KnownCMS = []; $g_CmsListDetector = new CmsVersionDetector(ROOT_PATH); $l_CmsDetectedNum = $g_CmsListDetector->getCmsNumber(); for ($tt = 0; $tt < $l_CmsDetectedNum; $tt++) { $vars->CMS[] = $g_CmsListDetector->getCmsName($tt) . ' v' . AibolitHelpers::makeSafeFn($g_CmsListDetector->getCmsVersion($tt), $g_AddPrefix, $g_NoPrefix); } } $g_DirIgnoreList = array(); $g_IgnoreList = array(); $g_UrlIgnoreList = array(); $g_KnownList = array(); $g_AiBolitAbsolutePath = __DIR__; $l_IgnoreFilename = $g_AiBolitAbsolutePath . '/.aignore'; $l_DirIgnoreFilename = $g_AiBolitAbsolutePath . '/.adirignore'; $l_UrlIgnoreFilename = $g_AiBolitAbsolutePath . '/.aurlignore'; if (file_exists($l_IgnoreFilename)) { $l_IgnoreListRaw = file($l_IgnoreFilename); for ($i = 0, $iMax = count($l_IgnoreListRaw); $i < $iMax; $i++) { $g_IgnoreList[] = explode("\t", trim($l_IgnoreListRaw[$i])); } unset($l_IgnoreListRaw); } if (file_exists($l_UrlIgnoreFilename)) { $g_UrlIgnoreList = file($l_UrlIgnoreFilename); for ($i = 0, $iMax = count($g_UrlIgnoreList); $i < $iMax; $i++) { $g_UrlIgnoreList[$i] = trim($g_UrlIgnoreList[$i]); } } $filter->setIgnoreListPatterns($l_DirIgnoreFilename); if (SMART_SCAN) { $filter->setSmartScan(); $g_DirIgnoreList = array_merge($g_DirIgnoreList, $l_SkipMask); } if (is_object($debug)) { $debug->QCR_Debug(); } $defaults['skip_ext'] = strtolower(trim($defaults['skip_ext'])); if ($defaults['skip_ext'] != '') { $filter->setIgnoreExt($defaults['skip_ext']); $g_IgnoredExt = explode(',', $defaults['skip_ext']); for ($i = 0, $iMax = count($g_IgnoredExt); $i < $iMax; $i++) { $g_IgnoredExt[$i] = trim($g_IgnoredExt[$i]); } if (is_object($debug)) { $debug->QCR_Debug('Skip files with extensions: ' . implode(',', $g_IgnoredExt)); } stdOut('Skip extensions: ' . implode(',', $g_IgnoredExt)); } $use_listingfile = defined('LISTING_FILE'); $listing = false; if ($use_doublecheck) { $listing = DOUBLECHECK_FILE; } elseif ($use_listingfile) { $listing = LISTING_FILE; } $base64_encoded = INPUT_FILENAMES_BASE64_ENCODED; try { $scan = new Scanner($finder, $vars, $debug); if (defined('SCAN_FILE')) { // scan single file $filepath = INPUT_FILENAMES_BASE64_ENCODED ? FilepathEscaper::decodeFilepathByBase64(SCAN_FILE) : SCAN_FILE; stdOut("Start scanning file '" . $filepath . "'."); if (file_exists($filepath) && is_file($filepath) && is_readable($filepath)) { $vars->foundTotalFiles = 1; $s_file[] = $filepath; $base64_encoded = false; } else { stdOut("Error:" . $filepath . " either is not a file or readable"); } } elseif ($listing) { //scan listing if ($listing == 'stdin') { $lines = explode("\n", getStdin()); } else { $lines = new SplFileObject($listing); $lines->setFlags(SplFileObject::READ_AHEAD | SplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE); } if (is_array($lines)) { $vars->foundTotalFiles = count($lines); } else if ($lines instanceof SplFileObject) { $lines->seek($lines->getSize()); $vars->foundTotalFiles = $lines->key(); $lines->seek(0); } $s_file = $lines; stdOut("Start scanning the list from '" . $listing . "'.\n"); } else { //scan by path $base64_encoded = true; file_exists(QUEUE_FILENAME) && unlink(QUEUE_FILENAME); $scan->QCR_ScanDirectories(ROOT_PATH); stdOut("Found $vars->foundTotalFiles files in $vars->foundTotalDirs directories."); stdOut("Start scanning '" . ROOT_PATH . "'.\n"); if (is_object($debug)) { $debug->QCR_Debug(); } stdOut(str_repeat(' ', 160), false); $s_file = new SplFileObject(QUEUE_FILENAME); $s_file->setFlags(SplFileObject::READ_AHEAD | SplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE); } $scan->QCR_GoScan($s_file, null, $base64_encoded, $use_doublecheck); unset($s_file); @unlink(QUEUE_FILENAME); $vars->foundTotalDirs = $vars->totalFolder; if (defined('PROGRESS_LOG_FILE') && file_exists(PROGRESS_LOG_FILE)) { @unlink(PROGRESS_LOG_FILE); } if (CREATE_SHARED_MEMORY) { shmop_delete(SHARED_MEMORY); } if (defined('SHARED_MEMORY')) { shmop_close(SHARED_MEMORY); } } catch (Exception $e) { if (is_object($debug)) { $debug->QCR_Debug($e->getMessage()); } } if (is_object($debug)) { $debug->QCR_Debug(); } if (true) { $g_HeuristicDetected = array(); $g_Iframer = array(); $g_Base64 = array(); } list($snum, $i) = $scan->whitelisting(); //////////////////////////////////////////////////////////////////////////// if (AI_HOSTER) { $g_IframerFragment = array(); $g_Iframer = array(); $vars->redirect = array(); $vars->doorway = array(); $g_EmptyLink = array(); $g_HeuristicType = array(); $g_HeuristicDetected = array(); $vars->adwareList = array(); $vars->phishing = array(); $g_PHPCodeInside = array(); $g_PHPCodeInsideFragment = array(); $vars->bigFiles = array(); $vars->redirectPHPFragment = array(); $g_EmptyLinkSrc = array(); $g_Base64Fragment = array(); $g_UnixExec = array(); $vars->phishingSigFragment = array(); $vars->phishingFragment = array(); $g_PhishingSig = array(); $g_IframerFragment = array(); $vars->CMS = array(); $vars->adwareListFragment = array(); } if (BOOL_RESULT && (!defined('NEED_REPORT'))) { if ((count($vars->criticalPHP) > 0) || (count($vars->criticalJS) > 0) || (count($g_PhishingSig) > 0)) { exit(2); } else { exit(0); } } //////////////////////////////////////////////////////////////////////////// $time_taken = AibolitHelpers::seconds2Human(microtime(true) - START_TIME); stdOut("\nBuilding report [ mode = " . AI_EXPERT . " ]\n"); //stdOut("\nLoaded signatures: " . count($g_FlexDBShe) . " / " . count($g_JSVirSig) . "\n"); //////////////////////////////////////////////////////////////////////////// $scan_time = round(microtime(true) - START_TIME, 1); foreach($reportFactory($reports) as $report) { $report->generateReport($vars, $scan_time); $res = $report->write(); if ($res !== '') { stdOut($res); } } stdOut("\n"); if (!AI_HOSTER) { stdOut("Building list of vulnerable scripts " . count($vars->vulnerable)); } stdOut("Building list of shells " . count($vars->criticalPHP)); stdOut("Building list of js " . count($vars->criticalJS)); stdOut("Building list of unread files " . count($vars->notRead)); if (!AI_HOSTER) { stdOut("Building list of phishing pages " . count($vars->phishing)); stdOut('Building list of redirects ' . count($vars->redirect)); stdOut("Building list of symlinks " . count($vars->symLinks)); } if (AI_EXTRA_WARN) { stdOut("Building list of suspicious files " . count($vars->warningPHP)); } //////////////////////////////////// if (!AI_HOSTER) { stdOut("Building list of adware " . count($vars->adwareList)); stdOut("Building list of bigfiles " . count($vars->bigFiles)); stdOut("Building list of doorways " . count($vars->doorway)); } if (!defined('REPORT') || REPORT === '') { die2('Report not written.'); } stdOut("Scanning complete! Time taken: " . AibolitHelpers::seconds2Human($scan_time)); if (DEBUG_PERFORMANCE) { $debug->printPerfomanceStats(); die(); } stdOut("\n\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); stdOut("Attention! DO NOT LEAVE either ai-bolit.php or AI-BOLIT-REPORT-<xxxx>-<yy>.html \nfile on server. COPY it locally then REMOVE from server. "); stdOut("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); if (isset($options['cmd'])) { stdOut("Run \"{$options['cmd']}\" "); system($options['cmd']); } if (is_object($debug)) { $debug->QCR_Debug(); } # exit with code $l_EC1 = count($vars->criticalPHP); $l_EC2 = count($vars->criticalJS) + count($vars->phishing) + count($vars->warningPHP); $code = 0; if ($l_EC1 > 0) { $code = 2; } else { if ($l_EC2 > 0) { $code = 1; } } $stat = array( 'php_malware' => count($vars->criticalPHP), 'cloudhash' => count($vars->blackFiles), 'js_malware' => count($vars->criticalJS), 'phishing' => count($vars->phishing) ); if (function_exists('aibolit_onComplete')) { aibolit_onComplete($code, $stat); } stdOut('Exit code ' . $code); exit($code); ############################################# END ############################################### function getStdin() { $stdin = ''; $f = @fopen('php://stdin', 'r'); while($line = fgets($f)) { $stdin .= $line; } fclose($f); return $stdin; } function die2($str) { if (function_exists('aibolit_onFatalError')) { aibolit_onFatalError($str); } die($str); } function getMaxMinUid($path = '/etc/login.defs') { $uid_min = 1000; $uid_max = 60000; if (!file_exists($path)) { $release = new OsReleaseInfo(); $ver = $release->getOsVersion(); if ($release->isIdLikeCentos() && $ver && (strpos($ver, '6') === 0)) { $uid_min = 500; $uid_max = 60000; } unset($ver); return [$uid_min, $uid_max]; } $file = file($path, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); foreach ($file as $line) { $line = trim($line); if (strpos($line, 'UID_MIN') === 0) { list($key, $value) = preg_split('~\s+~', trim($line), 2, PREG_SPLIT_NO_EMPTY); $uid_min = intval(trim($value)); } if (strpos($line, 'UID_MAX') === 0) { list($key, $value) = preg_split('~\s+~', trim($line), 2, PREG_SPLIT_NO_EMPTY); $uid_max = intval(trim($value)); } } return [$uid_min, $uid_max]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////// /// The following instructions should be written the same pattern, /// because they are replaced by file content while building a release. /// See the release_aibolit_ru.sh file for details. class AibolitHelpers { /** * Format bytes to human readable * * @param int $bytes * * @return string */ public static function bytes2Human($bytes) { if ($bytes < 1024) { return $bytes . ' b'; } elseif (($kb = $bytes / 1024) < 1024) { return number_format($kb, 2) . ' Kb'; } elseif (($mb = $kb / 1024) < 1024) { return number_format($mb, 2) . ' Mb'; } elseif (($gb = $mb / 1024) < 1024) { return number_format($gb, 2) . ' Gb'; } else { return number_format($gb / 1024, 2) . 'Tb'; } } /** * Seconds to human readable * @param int $seconds * @return string */ public static function seconds2Human($seconds) { $r = ''; $_seconds = floor($seconds); $ms = $seconds - $_seconds; $seconds = $_seconds; if ($hours = floor($seconds / 3600)) { $r .= $hours . ' h '; $seconds %= 3600; } if ($minutes = floor($seconds / 60)) { $r .= $minutes . ' m '; $seconds %= 60; } if ($minutes < 3) { $r .= ' ' . (string)($seconds + ($ms > 0 ? round($ms) : 0)) . ' s'; } return $r; } /** * Get bytes from shorthand byte values (1M, 1G...) * @param int|string $val * @return int */ public static function getBytes($val) { $val = trim($val); $last = strtolower($val[strlen($val) - 1]); switch ($last) { case 't': $val *= 1024; case 'g': $val *= 1024; case 'm': $val *= 1024; case 'k': $val *= 1024; } return intval($val); } /** * Convert dangerous chars to html entities * * @param $par_Str * @param string $addPrefix * @param string $noPrefix * @param bool $replace_path * * @return string */ public static function makeSafeFn($par_Str, $addPrefix = '', $noPrefix = '', $replace_path = false) { if ($replace_path) { $lines = explode("\n", $par_Str); array_walk($lines, static function(&$n) use ($addPrefix, $noPrefix) { $n = $addPrefix . str_replace($noPrefix, '', $n); }); $par_Str = implode("\n", $lines); } return htmlspecialchars($par_Str, ENT_SUBSTITUTE | ENT_QUOTES); } public static function myCheckSum($str) { return hash('crc32b', $str); } } class Variables { public $structure = array(); public $totalFolder = 0; public $totalFiles = 0; public $adwareList = array(); public $criticalPHP = array(); public $phishing = array(); public $CMS = array(); public $redirect = array(); public $redirectPHPFragment = array(); public $criticalJS = array(); public $criticalJSFragment = array(); public $blackFiles = array(); public $notRead = array(); public $bigFiles = array(); public $criticalPHPSig = array(); public $criticalPHPFragment = array(); public $phishingSigFragment = array(); public $phishingFragment = array(); public $criticalJSSig = array(); public $adwareListFragment = array(); public $warningPHPSig = array(); public $warningPHPFragment = array(); public $warningPHP = array(); public $blacklist = null; public $vulnerable = array(); public $crc = 0; public $counter = 0; public $foundTotalDirs = 0; public $foundTotalFiles = 0; public $files_and_ignored = 0; public $doorway = array(); public $symLinks = array(); public $skippedFolders = array(); public $hashtable = null; public $fileinfo = null; public $rescanCount = 0; public $maxMinUid = array(); public $options = array(); public $signs = array(); } class Logger { /** * $log_file - path and log file name * @var string */ protected $log_file; /** * $file - file * @var string */ protected $file; /** * dateFormat * @var string */ protected $dateFormat = 'd-M-Y H:i:s'; /** * @var array */ const LEVELS = ['ERROR' => 1, 'DEBUG' => 2, 'INFO' => 4, 'ALL' => 7]; /** * @var int */ private $level; /** * Class constructor * * @param string $log_file - path and filename of log * @param string|array $level - Level of logging * * @throws Exception */ public function __construct($log_file = null, $level = 'INFO') { if (!$log_file) { return; } if (is_array($level)) { foreach ($level as $v) { if (!isset(self::LEVELS[$v])) { $v = 'INFO'; } $this->level |= self::LEVELS[$v]; } } else { if (isset(self::LEVELS[$level])) { $this->level = self::LEVELS[$level]; } else { $this->level = self::LEVELS['INFO']; } } $this->log_file = $log_file; //Create log file if it doesn't exist. if (!file_exists($log_file)) { fopen($log_file, 'w') or exit("Can't create $log_file!"); } //Check permissions of file. if (!is_writable($log_file)) { //throw exception if not writable throw new Exception('ERROR: Unable to write to file!', 1); } } /** * Info method (write info message) * @param string $message * @return void */ public function info($message) { if ($this->level & self::LEVELS['INFO']) { $this->writeLog($message, 'INFO'); } } /** * Debug method (write debug message) * @param string $message * @return void */ public function debug($message) { if ($this->level & self::LEVELS['DEBUG']) { $this->writeLog($message, 'DEBUG'); } } /** * Error method (write error message) * @param string $message * @return void */ public function error($message) { if ($this->level & self::LEVELS['ERROR']) { $this->writeLog($message, 'ERROR'); } } /** * Write to log file * @param string $message * @param string $level * @return void */ public function writeLog($message, $level) { if (!$this->log_file) { return; } // open log file if (!is_resource($this->file)) { $this->openLog(); } //Grab time - based on timezone in php.ini $time = date($this->dateFormat); // Write time & message to end of file fwrite($this->file, "[$time] : [$level] - $message" . PHP_EOL); } /** * Open log file * @return void */ private function openLog() { $openFile = $this->log_file; // 'a' option = place pointer at end of file $this->file = fopen($openFile, 'a') or exit("Can't open $openFile!"); } /** * Class destructor */ public function __destruct() { if ($this->file) { fclose($this->file); } } } class LoadSignaturesForScan { private $sig_db = array(); private $sig_db_meta_info = array(); private $sig_db_location = 'internal'; private $mode; private $debug; public $_DBShe; public $X_DBShe; public $_FlexDBShe; public $X_FlexDBShe; public $XX_FlexDBShe; public $_ExceptFlex; public $_AdwareSig; public $_PhishingSig; public $_JSVirSig; public $X_JSVirSig; public $_SusDB; public $_SusDBPrio; public $_DeMapper; public $_Mnemo; public $whiteUrls; public $blackUrls; public $ownUrl = null; private $count; private $count_susp; private $result = 0; private $last_error = ''; const SIGN_INTERNAL = 1; const SIGN_EXTERNAL = 2; const SIGN_IMPORT = 3; const SIGN_ERROR = 9; public function __construct($avdb_file, $mode, $debug) { $this->mode = $mode; $this->debug = $debug; $this->sig_db_meta_info = array( 'build-date' => 'n/a', 'version' => 'n/a', 'release-type' => 'n/a', ); if ($avdb_file && file_exists($avdb_file)) { $avdb = explode("\n", gzinflate(base64_decode(str_rot13(strrev(trim(file_get_contents($avdb_file))))))); $this->sig_db_location = 'external'; $this->_DBShe = explode("\n", base64_decode($avdb[0])); $this->X_DBShe = explode("\n", base64_decode($avdb[1])); $this->_FlexDBShe = explode("\n", base64_decode($avdb[2])); $this->X_FlexDBShe = explode("\n", base64_decode($avdb[3])); $this->XX_FlexDBShe = explode("\n", base64_decode($avdb[4])); $this->_ExceptFlex = explode("\n", base64_decode($avdb[5])); $this->_AdwareSig = explode("\n", base64_decode($avdb[6])); $this->_PhishingSig = explode("\n", base64_decode($avdb[7])); $this->_JSVirSig = explode("\n", base64_decode($avdb[8])); $this->X_JSVirSig = explode("\n", base64_decode($avdb[9])); $this->_SusDB = explode("\n", base64_decode($avdb[10])); $this->_SusDBPrio = explode("\n", base64_decode($avdb[11])); $this->_DeMapper = array_combine(explode("\n", base64_decode($avdb[12])), explode("\n", base64_decode($avdb[13]))); $this->_Mnemo = @array_flip(@array_combine(explode("\n", base64_decode($avdb[14])), explode("\n", base64_decode($avdb[15])))); // get meta information $avdb_meta_info = json_decode(base64_decode($avdb[16]), true); $this->sig_db_meta_info['build-date'] = $avdb_meta_info ? $avdb_meta_info['build-date'] : 'n/a'; $this->sig_db_meta_info['version'] = $avdb_meta_info ? $avdb_meta_info['version'] : 'n/a'; $this->sig_db_meta_info['release-type'] = $avdb_meta_info ? $avdb_meta_info['release-type'] : 'n/a'; if (count($this->_DBShe) <= 1) { $this->_DBShe = array(); } if (count($this->X_DBShe) <= 1) { $this->X_DBShe = array(); } if (count($this->_FlexDBShe) <= 1) { $this->_FlexDBShe = array(); } if (count($this->X_FlexDBShe) <= 1) { $this->X_FlexDBShe = array(); } if (count($this->XX_FlexDBShe) <= 1) { $this->XX_FlexDBShe = array(); } if (count($this->_ExceptFlex) <= 1) { $this->_ExceptFlex = array(); } if (count($this->_AdwareSig) <= 1) { $this->_AdwareSig = array(); } if (count($this->_PhishingSig) <= 1) { $this->_PhishingSig = array(); } if (count($this->X_JSVirSig) <= 1) { $this->X_JSVirSig = array(); } if (count($this->_JSVirSig) <= 1) { $this->_JSVirSig = array(); } if (count($this->_SusDB) <= 1) { $this->_SusDB = array(); } if (count($this->_SusDBPrio) <= 1) { $this->_SusDBPrio = array(); } $this->result = self::SIGN_EXTERNAL; } else { InternalSignatures::init(); $this->_DBShe = InternalSignatures::$_DBShe; $this->X_DBShe = InternalSignatures::$X_DBShe; $this->_FlexDBShe = InternalSignatures::$_FlexDBShe; $this->X_FlexDBShe = InternalSignatures::$X_FlexDBShe; $this->XX_FlexDBShe = InternalSignatures::$XX_FlexDBShe; $this->_ExceptFlex = InternalSignatures::$_ExceptFlex; $this->_AdwareSig = InternalSignatures::$_AdwareSig; $this->_PhishingSig = InternalSignatures::$_PhishingSig; $this->_JSVirSig = InternalSignatures::$_JSVirSig; $this->X_JSVirSig = InternalSignatures::$X_JSVirSig; $this->_SusDB = InternalSignatures::$_SusDB; $this->_SusDBPrio = InternalSignatures::$_SusDBPrio; $this->_DeMapper = InternalSignatures::$_DeMapper; $this->_Mnemo = InternalSignatures::$_Mnemo; // get meta information $avdb_meta_info = InternalSignatures::$db_meta_info; $this->sig_db_meta_info['build-date'] = $avdb_meta_info ? $avdb_meta_info['build-date'] : 'n/a'; $this->sig_db_meta_info['version'] = $avdb_meta_info ? $avdb_meta_info['version'] : 'n/a'; $this->sig_db_meta_info['release-type'] = $avdb_meta_info ? $avdb_meta_info['release-type'] : 'n/a'; $this->result = self::SIGN_INTERNAL; } // use only basic signature subset if ($mode < 2) { $this->X_FlexDBShe = array(); $this->XX_FlexDBShe = array(); $this->X_JSVirSig = array(); } // Load custom signatures if (file_exists(__DIR__ . '/ai-bolit.sig')) { try { $s_file = new SplFileObject(__DIR__ . '/ai-bolit.sig'); $s_file->setFlags(SplFileObject::READ_AHEAD | SplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE); foreach ($s_file as $line) { $this->_FlexDBShe[] = preg_replace('#\G(?:[^~\\\\]+|\\\\.)*+\K~#', '\\~', $line); // escaping ~ } $this->result = self::SIGN_IMPORT; $s_file = null; // file handler is closed } catch (Exception $e) { $this->result = self::SIGN_ERROR; $this->last_error = $e->getMessage(); } } $this->count = count($this->_JSVirSig) + count($this->X_JSVirSig) + count($this->_DBShe) + count($this->X_DBShe) + count($this->_FlexDBShe) + count($this->X_FlexDBShe) + count($this->XX_FlexDBShe); $this->count_susp = $this->count + count($this->_SusDB); if (!$debug) { $this->OptimizeSignatures(); } $this->_DBShe = array_map('strtolower', $this->_DBShe); $this->X_DBShe = array_map('strtolower', $this->X_DBShe); } private function OptimizeSignatures() { ($this->mode == 2) && ($this->_FlexDBShe = array_merge($this->_FlexDBShe, $this->X_FlexDBShe, $this->XX_FlexDBShe)); ($this->mode == 1) && ($this->_FlexDBShe = array_merge($this->_FlexDBShe, $this->X_FlexDBShe)); $this->X_FlexDBShe = $this->XX_FlexDBShe = array(); ($this->mode == 2) && ($this->_JSVirSig = array_merge($this->_JSVirSig, $this->X_JSVirSig)); $this->X_JSVirSig = array(); $count = count($this->_FlexDBShe); for ($i = 0; $i < $count; $i++) { if ($this->_FlexDBShe[$i] == '[a-zA-Z0-9_]+?\(\s*[a-zA-Z0-9_]+?=\s*\)') $this->_FlexDBShe[$i] = '\((?<=[a-zA-Z0-9_].)\s*[a-zA-Z0-9_]++=\s*\)'; if ($this->_FlexDBShe[$i] == '([^\?\s])\({0,1}\.[\+\*]\){0,1}\2[a-z]*e') $this->_FlexDBShe[$i] = '(?J)\.[+*](?<=(?<d>[^\?\s])\(..|(?<d>[^\?\s])..)\)?\g{d}[a-z]*e'; if ($this->_FlexDBShe[$i] == '$[a-zA-Z0-9_]\{\d+\}\s*\.$[a-zA-Z0-9_]\{\d+\}\s*\.$[a-zA-Z0-9_]\{\d+\}\s*\.') $this->_FlexDBShe[$i] = '\$[a-zA-Z0-9_]\{\d+\}\s*\.\$[a-zA-Z0-9_]\{\d+\}\s*\.\$[a-zA-Z0-9_]\{\d+\}\s*\.'; $this->_FlexDBShe[$i] = str_replace('http://.+?/.+?\.php\?a', 'http://[^?\s]++(?<=\.php)\?a', $this->_FlexDBShe[$i]); $this->_FlexDBShe[$i] = preg_replace('~\[a-zA-Z0-9_\]\+\K\?~', '+', $this->_FlexDBShe[$i]); $this->_FlexDBShe[$i] = preg_replace('~^\\\\[d]\+&@~', '&@(?<=\d..)', $this->_FlexDBShe[$i]); $this->_FlexDBShe[$i] = str_replace('\s*[\'"]{0,1}.+?[\'"]{0,1}\s*', '.+?', $this->_FlexDBShe[$i]); $this->_FlexDBShe[$i] = str_replace('[\'"]{0,1}.+?[\'"]{0,1}', '.+?', $this->_FlexDBShe[$i]); $this->_FlexDBShe[$i] = preg_replace('~^\[\'"\]\{0,1\}\.?|^@\*|^\\\\s\*~', '', $this->_FlexDBShe[$i]); } $this->optSig($this->_FlexDBShe); $this->optSig($this->_JSVirSig); $this->optSig($this->_AdwareSig); $this->optSig($this->_PhishingSig); $this->optSig($this->_SusDB); //optSig($g_SusDBPrio); //optSig($g_ExceptFlex); // convert exception rules $cnt = count($this->_ExceptFlex); for ($i = 0; $i < $cnt; $i++) { $this->_ExceptFlex[$i] = trim(Normalization::normalize($this->_ExceptFlex[$i])); if ($this->_ExceptFlex[$i] == '') unset($this->_ExceptFlex[$i]); } $this->_ExceptFlex = array_values($this->_ExceptFlex); } private function optSig(&$sigs) { $sigs = array_unique($sigs); // Add SigId foreach ($sigs as &$s) { $s .= '(?<X' . AibolitHelpers::myCheckSum($s) . '>)'; } unset($s); $fix = array( '([^\?\s])\({0,1}\.[\+\*]\){0,1}\2[a-z]*e' => '(?J)\.[+*](?<=(?<d>[^\?\s])\(..|(?<d>[^\?\s])..)\)?\g{d}[a-z]*e', 'http://.+?/.+?\.php\?a' => 'http://[^?\s]++(?<=\.php)\?a', '\s*[\'"]{0,1}.+?[\'"]{0,1}\s*' => '.+?', '[\'"]{0,1}.+?[\'"]{0,1}' => '.+?' ); $sigs = str_replace(array_keys($fix), array_values($fix), $sigs); $fix = array( '~^\\\\[d]\+&@~' => '&@(?<=\d..)', '~^((\[\'"\]|\\\\s|@)(\{0,1\}\.?|[?*]))+~' => '' ); $sigs = preg_replace(array_keys($fix), array_values($fix), $sigs); $this->optSigCheck($sigs); $tmp = array(); foreach ($sigs as $i => $s) { if (!preg_match('~^(?>(?!\.[*+]|\\\\\d)(?:\\\\.|\[.+?\]|.))+$~', $s)) { unset($sigs[$i]); $tmp[] = $s; } } usort($sigs, 'strcasecmp'); $txt = implode("\n", $sigs); for ($i = 24; $i >= 1; ($i > 4) ? $i -= 4 : --$i) { $txt = preg_replace_callback('#^((?>(?:\\\\.|\\[.+?\\]|[^(\n]|\((?:\\\\.|[^)(\n])++\))(?:[*?+]\+?|\{\d+(?:,\d*)?\}[+?]?|)){' . $i . ',})[^\n]*+(?:\\n\\1(?![{?*+]).+)+#im', [$this, 'optMergePrefixes'], $txt); } $sigs = array_merge(explode("\n", $txt), $tmp); $this->optSigCheck($sigs); } private function optMergePrefixes($m) { $limit = 8000; $prefix = $m[1]; $prefix_len = strlen($prefix); $len = $prefix_len; $r = array(); $suffixes = array(); foreach (explode("\n", $m[0]) as $line) { if (strlen($line) > $limit) { $r[] = $line; continue; } $s = substr($line, $prefix_len); $len += strlen($s); if ($len > $limit) { if (count($suffixes) == 1) { $r[] = $prefix . $suffixes[0]; } else { $r[] = $prefix . '(?:' . implode('|', $suffixes) . ')'; } $suffixes = array(); $len = $prefix_len + strlen($s); } $suffixes[] = $s; } if (!empty($suffixes)) { if (count($suffixes) == 1) { $r[] = $prefix . $suffixes[0]; } else { $r[] = $prefix . '(?:' . implode('|', $suffixes) . ')'; } } return implode("\n", $r); } private function optMergePrefixes_Old($m) { $prefix = $m[1]; $prefix_len = strlen($prefix); $suffixes = array(); foreach (explode("\n", $m[0]) as $line) { $suffixes[] = substr($line, $prefix_len); } return $prefix . '(?:' . implode('|', $suffixes) . ')'; } /* * Checking errors in pattern */ private function optSigCheck(&$sigs) { $result = true; foreach ($sigs as $k => $sig) { if (trim($sig) == "") { if ($this->debug) { echo ("************>>>>> EMPTY\n pattern: " . $sig . "\n"); } unset($sigs[$k]); $result = false; } if (@preg_match('~' . $sig . '~smiS', '') === false) { $error = error_get_last(); if ($this->debug) { echo ("************>>>>> " . $error['message'] . "\n pattern: " . $sig . "\n"); } unset($sigs[$k]); $result = false; } } return $result; } public static function getSigId($l_Found) { foreach ($l_Found as $key => &$v) { if (is_string($key) && $v[1] != -1 && strlen($key) == 9) { return substr($key, 1); } } return null; } public function setOwnUrl($url) { if (isset($this->blackUrls)) { foreach ($this->blackUrls->getDb() as $black) { if (preg_match('~' . $black . '~msi', $url)) { $this->ownUrl = null; return; } } } $this->ownUrl = $url; } public function getOwnUrl() { return $this->ownUrl; } public function getDBLocation() { return $this->sig_db_location; } public function getDB() { return $this->sig_db; } public function getDBMetaInfo() { return $this->sig_db_meta_info; } public function getDBMetaInfoVersion() { return $this->sig_db_meta_info['version']; } public function getDBCount() { return $this->count; } public function getDBCountWithSuspicious() { return $this->count_susp; } public function getResult() { return $this->result; } public function getLastError() { return $this->last_error; } } class InternalSignatures { public static $_DBShe; public static $X_DBShe; public static $_FlexDBShe; public static $X_FlexDBShe; public static $XX_FlexDBShe; public static $_ExceptFlex; public static $_AdwareSig; public static $_PhishingSig; public static $_JSVirSig; public static $X_JSVirSig; public static $_SusDB; public static $_SusDBPrio; public static $_DeMapper; public static $_Mnemo; public static $db_meta_info; public static function init() { //BEGIN_SIG 09/09/2020 12:34:29 self::$_DBShe = unserialize(gzinflate(/*1599644069*/base64_decode("S7QysKquBQA="))); self::$X_DBShe = unserialize(gzinflate(/*1599644069*/base64_decode("S7QysKquBQA="))); self::$_FlexDBShe = unserialize(gzinflate(/*1599644069*/base64_decode("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"))); self::$X_FlexDBShe = unserialize(gzinflate(/*1599644069*/base64_decode("S7QysKquBQA="))); self::$XX_FlexDBShe = unserialize(gzinflate(/*1599644069*/base64_decode("S7QysKquBQA="))); self::$_ExceptFlex = unserialize(gzinflate(/*1599644069*/base64_decode("S7QysKquBQA="))); self::$_AdwareSig = unserialize(gzinflate(/*1599644069*/base64_decode("S7QysKquBQA="))); self::$_PhishingSig = unserialize(gzinflate(/*1599644069*/base64_decode("S7QysKquBQA="))); self::$_JSVirSig = unserialize(gzinflate(/*1599644069*/base64_decode("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"))); self::$X_JSVirSig = unserialize(gzinflate(/*1599644069*/base64_decode("S7QysKquBQA="))); self::$_SusDB = unserialize(gzinflate(/*1599644069*/base64_decode("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"))); self::$_SusDBPrio = unserialize(gzinflate(/*1599644069*/base64_decode("S7QysKquBQA="))); self::$_Mnemo = @array_flip(unserialize(gzinflate(/*1599644069*/base64_decode("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")))); self::$_DeMapper = unserialize(base64_decode("YTo1OntzOjEwOiJ3aXphcmQucGhwIjtzOjM3OiJjbGFzcyBXZWxjb21lU3RlcCBleHRlbmRzIENXaXphcmRTdGVwIjtzOjE3OiJ1cGRhdGVfY2xpZW50LnBocCI7czozNzoieyBDVXBkYXRlQ2xpZW50OjpBZGRNZXNzYWdlMkxvZygiZXhlYyI7czoxMToiaW5jbHVkZS5waHAiO3M6NDg6IkdMT0JBTFNbIlVTRVIiXS0+SXNBdXRob3JpemVkKCkgJiYgJGFyQXV0aFJlc3VsdCI7czo5OiJzdGFydC5waHAiO3M6NjA6IkJYX1JPT1QuJy9tb2R1bGVzL21haW4vY2xhc3Nlcy9nZW5lcmFsL3VwZGF0ZV9kYl91cGRhdGVyLnBocCI7czoxMDoiaGVscGVyLnBocCI7czo1ODoiSlBsdWdpbkhlbHBlcjo6Z2V0UGx1Z2luKCJzeXN0ZW0iLCJvbmVjbGlja2NoZWNrb3V0X3ZtMyIpOyI7fQ==")); self::$db_meta_info = unserialize(base64_decode("YTozOntzOjEwOiJidWlsZC1kYXRlIjtzOjEwOiIxNTk5NjQ0MDI3IjtzOjc6InZlcnNpb24iO3M6MTM6IjIwMjAwOTA5LTM3MDQiO3M6MTI6InJlbGVhc2UtdHlwZSI7czoxMDoicHJvZHVjdGlvbiI7fQ==")); //END_SIG } } class CmsVersionDetector { const CMS_BITRIX = 'Bitrix'; const CMS_WORDPRESS = 'WordPress'; const CMS_JOOMLA = 'Joomla'; const CMS_DLE = 'Data Life Engine'; const CMS_IPB = 'Invision Power Board'; const CMS_WEBASYST = 'WebAsyst'; const CMS_OSCOMMERCE = 'OsCommerce'; const CMS_DRUPAL = 'Drupal'; const CMS_MODX = 'MODX'; const CMS_INSTANTCMS = 'Instant CMS'; const CMS_PHPBB = 'PhpBB'; const CMS_VBULLETIN = 'vBulletin'; const CMS_SHOPSCRIPT = 'PHP ShopScript Premium'; const CMS_VERSION_UNDEFINED = '0.0'; private $root_path; private $versions; private $types; public function __construct($root_path = '.') { $this->root_path = $root_path; $this->versions = array(); $this->types = array(); $version = ''; $dir_list = $this->getDirList($root_path); $dir_list[] = $root_path; foreach ($dir_list as $dir) { if ($this->checkBitrix($dir, $version)) { $this->addCms(self::CMS_BITRIX, $version); } if ($this->checkWordpress($dir, $version)) { $this->addCms(self::CMS_WORDPRESS, $version); } if ($this->checkJoomla($dir, $version)) { $this->addCms(self::CMS_JOOMLA, $version); } if ($this->checkDle($dir, $version)) { $this->addCms(self::CMS_DLE, $version); } if ($this->checkIpb($dir, $version)) { $this->addCms(self::CMS_IPB, $version); } if ($this->checkWebAsyst($dir, $version)) { $this->addCms(self::CMS_WEBASYST, $version); } if ($this->checkOsCommerce($dir, $version)) { $this->addCms(self::CMS_OSCOMMERCE, $version); } if ($this->checkDrupal($dir, $version)) { $this->addCms(self::CMS_DRUPAL, $version); } if ($this->checkMODX($dir, $version)) { $this->addCms(self::CMS_MODX, $version); } if ($this->checkInstantCms($dir, $version)) { $this->addCms(self::CMS_INSTANTCMS, $version); } if ($this->checkPhpBb($dir, $version)) { $this->addCms(self::CMS_PHPBB, $version); } if ($this->checkVBulletin($dir, $version)) { $this->addCms(self::CMS_VBULLETIN, $version); } if ($this->checkPhpShopScript($dir, $version)) { $this->addCms(self::CMS_SHOPSCRIPT, $version); } } } function getDirList($target) { $remove = array( '.', '..' ); $directories = array_diff(scandir($target), $remove); $res = array(); foreach ($directories as $value) { if (is_dir($target . '/' . $value)) { $res[] = $target . '/' . $value; } } return $res; } function isCms($name, $version) { for ($i = 0, $iMax = count($this->types); $i < $iMax; $i++) { if ((strpos($this->types[$i], $name) !== false) && (strpos($this->versions[$i], $version) !== false)) { return true; } } return false; } function getCmsList() { return $this->types; } function getCmsVersions() { return $this->versions; } function getCmsNumber() { return count($this->types); } function getCmsName($index = 0) { return $this->types[$index]; } function getCmsVersion($index = 0) { return $this->versions[$index]; } private function addCms($type, $version) { $this->types[] = $type; $this->versions[] = $version; } private function checkBitrix($dir, &$version) { $version = self::CMS_VERSION_UNDEFINED; $res = false; if (file_exists($dir . '/bitrix')) { $res = true; $tmp_content = @file_get_contents($this->root_path . '/bitrix/modules/main/classes/general/version.php'); if (preg_match('|define\("SM_VERSION","(.+?)"\)|smi', $tmp_content, $tmp_ver)) { $version = $tmp_ver[1]; } } return $res; } private function checkWordpress($dir, &$version) { $version = self::CMS_VERSION_UNDEFINED; $res = false; if (file_exists($dir . '/wp-admin')) { $res = true; $tmp_content = @file_get_contents($dir . '/wp-includes/version.php'); if (preg_match('|\$wp_version\s*=\s*\'(.+?)\'|smi', $tmp_content, $tmp_ver)) { $version = $tmp_ver[1]; } } return $res; } private function checkJoomla($dir, &$version) { $version = self::CMS_VERSION_UNDEFINED; $res = false; if (file_exists($dir . '/libraries/joomla')) { $res = true; // for 1.5.x $tmp_content = @file_get_contents($dir . '/libraries/joomla/version.php'); if (preg_match('|var\s+\$RELEASE\s*=\s*\'(.+?)\'|smi', $tmp_content, $tmp_ver)) { $version = $tmp_ver[1]; if (preg_match('|var\s+\$DEV_LEVEL\s*=\s*\'(.+?)\'|smi', $tmp_content, $tmp_ver)) { $version .= '.' . $tmp_ver[1]; } } // for 1.7.x $tmp_content = @file_get_contents($dir . '/includes/version.php'); if (preg_match('|public\s+\$RELEASE\s*=\s*\'(.+?)\'|smi', $tmp_content, $tmp_ver)) { $version = $tmp_ver[1]; if (preg_match('|public\s+\$DEV_LEVEL\s*=\s*\'(.+?)\'|smi', $tmp_content, $tmp_ver)) { $version .= '.' . $tmp_ver[1]; } } // for 2.5.x and 3.x $tmp_content = @file_get_contents($dir . '/libraries/cms/version/version.php'); if (preg_match('|const\s+RELEASE\s*=\s*\'(.+?)\'|smi', $tmp_content, $tmp_ver)) { $version = $tmp_ver[1]; if (preg_match('|const\s+DEV_LEVEL\s*=\s*\'(.+?)\'|smi', $tmp_content, $tmp_ver)) { $version .= '.' . $tmp_ver[1]; } } } return $res; } private function checkDle($dir, &$version) { $version = self::CMS_VERSION_UNDEFINED; $res = false; if (file_exists($dir . '/engine/engine.php')) { $res = true; $tmp_content = @file_get_contents($dir . '/engine/data/config.php'); if (preg_match('|\'version_id\'\s*=>\s*"(.+?)"|smi', $tmp_content, $tmp_ver)) { $version = $tmp_ver[1]; } $tmp_content = @file_get_contents($dir . '/install.php'); if (preg_match('|\'version_id\'\s*=>\s*"(.+?)"|smi', $tmp_content, $tmp_ver)) { $version = $tmp_ver[1]; } } return $res; } private function checkIpb($dir, &$version) { $version = self::CMS_VERSION_UNDEFINED; $res = false; if (file_exists($dir . '/ips_kernel')) { $res = true; $tmp_content = @file_get_contents($dir . '/ips_kernel/class_xml.php'); if (preg_match('|IP.Board\s+v([0-9\.]+)|si', $tmp_content, $tmp_ver)) { $version = $tmp_ver[1]; } } return $res; } private function checkWebAsyst($dir, &$version) { $version = self::CMS_VERSION_UNDEFINED; $res = false; if (file_exists($dir . '/wbs/installer')) { $res = true; $tmp_content = @file_get_contents($dir . '/license.txt'); if (preg_match('|v([0-9\.]+)|si', $tmp_content, $tmp_ver)) { $version = $tmp_ver[1]; } } return $res; } private function checkOsCommerce($dir, &$version) { $version = self::CMS_VERSION_UNDEFINED; $res = false; if (file_exists($dir . '/includes/version.php')) { $res = true; $tmp_content = @file_get_contents($dir . '/includes/version.php'); if (preg_match('|([0-9\.]+)|smi', $tmp_content, $tmp_ver)) { $version = $tmp_ver[1]; } } return $res; } private function checkDrupal($dir, &$version) { $version = self::CMS_VERSION_UNDEFINED; $res = false; if (file_exists($dir . '/sites/all')) { $res = true; $tmp_content = @file_get_contents($dir . '/CHANGELOG.txt'); if (preg_match('|Drupal\s+([0-9\.]+)|smi', $tmp_content, $tmp_ver)) { $version = $tmp_ver[1]; } } if (file_exists($dir . '/core/lib/Drupal.php')) { $res = true; $tmp_content = @file_get_contents($dir . '/core/lib/Drupal.php'); if (preg_match('|VERSION\s*=\s*\'(\d+\.\d+\.\d+)\'|smi', $tmp_content, $tmp_ver)) { $version = $tmp_ver[1]; } } if (file_exists($dir . 'modules/system/system.info')) { $res = true; $tmp_content = @file_get_contents($dir . 'modules/system/system.info'); if (preg_match('|version\s*=\s*"\d+\.\d+"|smi', $tmp_content, $tmp_ver)) { $version = $tmp_ver[1]; } } return $res; } private function checkMODX($dir, &$version) { $version = self::CMS_VERSION_UNDEFINED; $res = false; if (file_exists($dir . '/manager/assets')) { $res = true; // no way to pick up version } return $res; } private function checkInstantCms($dir, &$version) { $version = self::CMS_VERSION_UNDEFINED; $res = false; if (file_exists($dir . '/plugins/p_usertab')) { $res = true; $tmp_content = @file_get_contents($dir . '/index.php'); if (preg_match('|InstantCMS\s+v([0-9\.]+)|smi', $tmp_content, $tmp_ver)) { $version = $tmp_ver[1]; } } return $res; } private function checkPhpBb($dir, &$version) { $version = self::CMS_VERSION_UNDEFINED; $res = false; if (file_exists($dir . '/includes/acp')) { $res = true; $tmp_content = @file_get_contents($dir . '/config.php'); if (preg_match('|phpBB\s+([0-9\.x]+)|smi', $tmp_content, $tmp_ver)) { $version = $tmp_ver[1]; } } return $res; } private function checkVBulletin($dir, &$version) { $version = self::CMS_VERSION_UNDEFINED; $res = false; // removed dangerous code from here, see DEF-10390 for details return $res; } private function checkPhpShopScript($dir, &$version) { $version = self::CMS_VERSION_UNDEFINED; $res = false; if (file_exists($dir . '/install/consts.php')) { $res = true; $tmp_content = @file_get_contents($dir . '/install/consts.php'); if (preg_match('|STRING_VERSION\',\s*\'(.+?)\'|smi', $tmp_content, $tmp_ver)) { $version = $tmp_ver[1]; } } return $res; } } class CloudAssistedRequest { const API_URL = 'https://api.imunify360.com/api/hashes/check'; private $timeout = 60; private $server_id = ''; public function __construct($server_id, $timeout = 60) { $this->server_id = $server_id; $this->timeout = $timeout; } public function checkFilesByHash($list_of_hashes = array()) { if (empty($list_of_hashes)) { return array( [], [], [], 'white' => [], 'black' => [], 'verdicts_black' => [], ); } $result = $this->request($list_of_hashes); $white = isset($result['white']) ? $result['white'] : []; $black = isset($result['black']) ? $result['black'] : []; $verdicts_black = isset($result['verdicts_black']) ? $result['verdicts_black'] : []; return [ $white, $black, $verdicts_black, 'white' => $white, 'black' => $black, 'verdicts_black' => $verdicts_black, ]; } // ///////////////////////////////////////////////////////////////////////// private function request($list_of_hashes) { $url = self::API_URL . '?server_id=' . urlencode($this->server_id) . '&indexed=1'; $data = array( 'hashes' => $list_of_hashes, ); $json_hashes = json_encode($data); $info = []; try { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL , $url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST , 'POST'); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST , false); curl_setopt($ch, CURLOPT_TIMEOUT , $this->timeout); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT , $this->timeout); curl_setopt($ch, CURLOPT_RETURNTRANSFER , true); curl_setopt($ch, CURLOPT_HTTPHEADER , array('Content-Type: application/json')); curl_setopt($ch, CURLOPT_POSTFIELDS , $json_hashes); $response_data = curl_exec($ch); $info = curl_getinfo($ch); $errno = curl_errno($ch); curl_close($ch); } catch (Exception $e) { throw new Exception($e->getMessage()); } $http_code = isset($info['http_code']) ? $info['http_code'] : 0; if ($http_code !== 200) { if ($errno == 28) { throw new Exception('Reuqest timeout! Return code: ' . $http_code . ' Curl error num: ' . $errno); } throw new Exception('Invalid response from the Cloud Assisted server! Return code: ' . $http_code . ' Curl error num: ' . $errno); } $result = json_decode($response_data, true); if (is_null($result)) { throw new Exception('Invalid json format in the response!'); } if (isset($result['error'])) { throw new Exception('API server returned error!'); } if (!isset($result['result'])) { throw new Exception('API server returned error! Cannot find field "result".'); } return $result['result']; } } /** * Class Report */ abstract class Report { const MAX_ROWS = 15000; const AIBOLIT_MAX_NUMBER = 200; /** * Report constructor. * @param $mnemo * @param $path * @param $db_location * @param $db_meta_info_version * @param $report_mask * @param $extended_report * @param $rapid_account_scan * @param $ai_version * @param $ai_hoster * @param $ai_extra_warn * @param $ai_expert * @param $ai_smart * @param $root_path * @param $scan_all * @param $specific_ext * @param $doublecheck * @param $use_doublecheck * @param $start * @param $snum * @param $max_size * @param $add_prefix * @param $no_prefix * @param $small * @param $file * @param $echo */ public function __construct($mnemo, $path, $db_location, $db_meta_info_version, $report_mask, $extended_report, $rapid_account_scan, $ai_version, $ai_hoster, $ai_extra_warn, $ai_expert, $ai_smart, $root_path, $scan_all, $specific_ext, $doublecheck, $use_doublecheck, $start, $snum, $max_size, $add_prefix, $no_prefix, $small, $file, $echo) { } /** * Generate report * @param $vars * @param $scan_time * @return mixed */ public function generateReport($vars, $scan_time) { } /** * Write report to file and return string to stdout after write attempt * @return string */ public function write() { } protected static function convertToUTF8($text) { if (function_exists('mb_convert_encoding')) { $text = @mb_convert_encoding($text, 'utf-8', 'auto'); $text = @mb_convert_encoding($text, 'UTF-8', 'UTF-8'); } return $text; } } /** * Class JSONReport report all data to JSON */ class JSONReport extends Report { const REPORT_MASK_DOORWAYS = 1<<2; const REPORT_MASK_SUSP = 1<<3; const REPORT_MASK_FULL = self::REPORT_MASK_DOORWAYS | self::REPORT_MASK_SUSP; protected $raw_report; private $extended_report; private $rapid_account_scan; private $ai_extra_warn; private $ai_hoster; private $report_mask; private $noPrefix; private $addPrefix; private $mnemo; private $small; protected $file; private $echo; public function __construct($mnemo, $path, $db_location, $db_meta_info_version, $report_mask, $extended_report, $rapid_account_scan, $ai_version, $ai_hoster, $ai_extra_warn, $ai_expert, $ai_smart, $root_path, $scan_all, $specific_ext, $doublecheck, $use_doublecheck, $start, $snum, $max_size, $add_prefix, $no_prefix, $small = false, $file = false, $echo = false) { $this->mnemo = $mnemo; $this->ai_extra_warn = $ai_extra_warn; $this->extended_report = $extended_report; $this->rapid_account_scan = $rapid_account_scan; $this->ai_hoster = $ai_hoster; $this->report_mask = $report_mask; $this->addPrefix = $add_prefix; $this->noPrefix = $no_prefix; $this->small = $small; $this->echo = $echo; $this->raw_report = []; $this->raw_report['summary'] = array( 'scan_path' => $path, 'report_time' => time(), 'ai_version' => $ai_version, 'db_location' => $db_location, 'db_version' => $db_meta_info_version, ); $this->file = $file; if($this->file) { @unlink($this->file); @unlink($this->file . '.tmp'); } } public function generateReport($vars, $scan_time) { $tmp = clone $vars; if (!$this->small) { $tmp->criticalPHP = array_slice($tmp->criticalPHP, 0, self::MAX_ROWS); $tmp->criticalJS = array_slice($tmp->criticalJS, 0, self::MAX_ROWS); $tmp->notRead = array_slice($tmp->notRead, 0, self::AIBOLIT_MAX_NUMBER); $tmp->symLinks = array_slice($tmp->symLinks, 0, self::AIBOLIT_MAX_NUMBER); $tmp->warningPHP = array_slice($tmp->warningPHP, 0, self::AIBOLIT_MAX_NUMBER); $tmp->bigFiles = array_slice($tmp->bigFiles, 0, self::AIBOLIT_MAX_NUMBER); $tmp->doorway = array_slice($tmp->doorway, 0, self::AIBOLIT_MAX_NUMBER); $this->generateJSONTables($tmp); } $this->generateSummary($tmp, $scan_time); } private function generateSummary($vars, $scan_time) { $summary_counters = array(); $summary_counters['redirect'] = count($vars->redirect); $summary_counters['critical_php'] = count($vars->criticalPHP); $summary_counters['critical_js'] = count($vars->criticalJS); $summary_counters['cloudhash'] = count($vars->blackFiles); $summary_counters['phishing'] = count($vars->phishing); $summary_counters['unix_exec'] = 0; // count($g_UnixExec); $summary_counters['iframes'] = 0; // count($g_Iframer); $summary_counters['not_read'] = count($vars->notRead); $summary_counters['base64'] = 0; // count($g_Base64); $summary_counters['heuristics'] = 0; // count($g_HeuristicDetected); $summary_counters['symlinks'] = count($vars->symLinks); $summary_counters['big_files_skipped'] = count($vars->bigFiles); $summary_counters['suspicious'] = count($vars->warningPHP); $this->raw_report['summary']['counters'] = $summary_counters; $this->raw_report['summary']['total_files'] = $vars->foundTotalFiles; $this->raw_report['summary']['scan_time'] = $scan_time; if ($this->extended_report && $this->rapid_account_scan) { $this->raw_report['summary']['counters']['rescan_count'] = $vars->rescanCount; } } private function generateJSONTables($vars) { $this->raw_report['vulners'] = $this->getRawJsonVuln($vars->vulnerable, $vars); if (count($vars->criticalPHP) > 0) { $this->raw_report['php_malware'] = $this->getRawJson($vars->criticalPHP, $vars, $vars->criticalPHPFragment, $vars->criticalPHPSig); } if (count($vars->blackFiles) > 0) { $this->raw_report['cloudhash'] = $this->getRawBlackData($vars->blackFiles); } if (count($vars->criticalJS) > 0) { $this->raw_report['js_malware'] = $this->getRawJson($vars->criticalJS, $vars, $vars->criticalJSFragment, $vars->criticalJSSig); } if (count($vars->notRead) > 0) { $this->raw_report['not_read'] = $vars->notRead; } if ($this->ai_hoster) { if (count($vars->phishing) > 0) { $this->raw_report['phishing'] = $this->getRawJson($vars->phishing, $vars, $vars->phishingFragment, $vars->phishingSigFragment); } if (count($vars->redirect) > 0) { $this->raw_report['redirect'] = $this->getRawJson($vars->redirect, $vars, $vars->redirectPHPFragment); } if (count($vars->symLinks) > 0) { $this->raw_report['sym_links'] = $vars->symLinks; } } else { if (count($vars->adwareList) > 0) { $this->raw_report['adware'] = $this->getRawJson($vars->adwareList, $vars, $vars->adwareListFragment); } if (count($vars->bigFiles) > 0) { $this->raw_report['big_files'] = $this->getRawJson($vars->bigFiles, $vars); } if ((count($vars->doorway) > 0) && JSONReport::checkMask($this->report_mask, JSONReport::REPORT_MASK_DOORWAYS)) { $this->raw_report['doorway'] = $this->getRawJson($vars->doorway, $vars); } if (count($vars->CMS) > 0) { $this->raw_report['cms'] = $vars->CMS; } } if ($this->ai_extra_warn) { if ((count($vars->warningPHP) > 0) && JSONReport::checkMask($this->report_mask, JSONReport::REPORT_MASK_FULL)) { $this->raw_report['suspicious'] = $this->getRawJson($vars->warningPHP, $vars, $vars->warningPHPFragment, $vars->warningPHPSig); } } } public static function checkMask($mask, $need) { return (($mask & $need) == $need); } public function write() { $ret = ''; $res = @json_encode($this->raw_report); if ($this->file!== '.' && $l_FH = fopen($this->file . '.tmp', 'w')) { fputs($l_FH, $res); fclose($l_FH); if (rename($this->file . '.tmp', $this->file)) { $ret = "Report written to '$this->file'."; } else { $ret = "Cannot create '$this->file'."; } } if ($this->echo) { echo $res; } return $ret; } //////////////////////////////////////////////////////////////////////////// private function getRawJsonVuln($par_List, $vars) { $results = array(); $l_Src = array( '"', '<', '>', '&', ''', '<' . '?php.' ); $l_Dst = array( '"', '<', '>', '&', '\'', '<' . '?php ' ); for ($i = 0, $iMax = count($par_List); $i < $iMax; $i++) { $l_Pos = $par_List[$i]['ndx']; $fn = $this->addPrefix . str_replace($this->noPrefix, '', $vars->structure['n'][$l_Pos]); if (ENCODE_FILENAMES_WITH_BASE64) { $res['fn'] = base64_encode($fn); } else { $res['fn'] = self::convertToUTF8($fn); } $res['sig'] = $par_List[$i]['id']; $res['ct'] = $vars->structure['c'][$l_Pos]; $res['mt'] = $vars->structure['m'][$l_Pos]; $res['et'] = $vars->structure['e'][$l_Pos]; $res['sz'] = $vars->structure['s'][$l_Pos]; $res['sigid'] = 'vuln_' . md5($vars->structure['n'][$l_Pos] . $par_List[$i]['id']); $results[] = $res; } return $results; } private function getRawJson($par_List, $vars, $par_Details = null, $par_SigId = null) { $results = array(); $l_Src = array( '"', '<', '>', '&', ''', '<' . '?php.' ); $l_Dst = array( '"', '<', '>', '&', '\'', '<' . '?php ' ); for ($i = 0, $iMax = count($par_List); $i < $iMax; $i++) { if ($par_SigId != null) { $l_SigId = 'id_' . $par_SigId[$i]; } else { $l_SigId = 'id_n' . rand(1000000, 9000000); } $l_Pos = $par_List[$i]; $fn = $this->addPrefix . str_replace($this->noPrefix, '', $vars->structure['n'][$l_Pos]); if (ENCODE_FILENAMES_WITH_BASE64) { $res['fn'] = base64_encode($fn); } else { $res['fn'] = self::convertToUTF8($fn); } if ($par_Details != null) { $res['sig'] = preg_replace('|(L\d+).+__AI_MARKER__|smi', '[$1]: ...', $par_Details[$i]); $res['sig'] = preg_replace('/[^\x20-\x7F]/', '.', $res['sig']); $res['sig'] = preg_replace('/__AI_LINE1__(\d+)__AI_LINE2__/', '[$1] ', $res['sig']); $res['sig'] = preg_replace('/__AI_MARKER__/', ' @!!!>', $res['sig']); $res['sig'] = str_replace($l_Src, $l_Dst, $res['sig']); } $res['sig'] = self::convertToUTF8($res['sig']); $res['ct'] = $vars->structure['c'][$l_Pos]; $res['mt'] = $vars->structure['m'][$l_Pos]; $res['sz'] = $vars->structure['s'][$l_Pos]; $res['et'] = $vars->structure['e'][$l_Pos]; $res['hash'] = $vars->structure['crc'][$l_Pos]; $res['sigid'] = $l_SigId; if (isset($vars->structure['sha256'][$l_Pos])) { $res['sha256'] = $vars->structure['sha256'][$l_Pos]; } else { $res['sha256'] = ''; } if (isset($par_SigId) && isset($this->mnemo[$par_SigId[$i]])) { $res['sn'] = $this->mnemo[$par_SigId[$i]]; } else { $res['sn'] = ''; } $results[] = $res; } return $results; } private function getRawBlackData($black_list) { $result = array(); foreach ($black_list as $filename => $hash) { try { $stat = stat($filename); $sz = $stat['size']; $ct = $stat['ctime']; $mt = $stat['mtime']; } catch (Exception $e) { continue; } $result[] = array( 'fn' => $filename, 'sig' => '', 'ct' => $ct, 'mt' => $mt, 'et' => $hash['ts'], 'sz' => $sz, 'hash' => $hash['h'], 'sigid' => crc32($filename), 'sn' => isset($hash['sn']) ? $hash['sn'] : 'cld', ); } return $result; } } /** * Class JSONReport report all data to JSON */ class PHPReport extends JSONReport { public function write() { $ret = ''; $res = @serialize($this->raw_report); if ($l_FH = fopen($this->file . '.tmp', 'w')) { fputs($l_FH, $res); fclose($l_FH); if (rename($this->file . '.tmp', $this->file)) { $ret = "Report written to '$this->file'."; } else { $ret = "Cannot create '$this->file'."; } } return $ret; } //////////////////////////////////////////////////////////////////////////// } /** * Class PlainReport report to text file */ class PlainReport extends Report { private $extended_report; private $rapid_account_scan; private $ai_extra_warn; private $ai_hoster; private $noPrefix; private $addPrefix; private $mnemo; private $file; private $raw_report; public function __construct($mnemo, $path, $db_location, $db_meta_info_version, $report_mask, $extended_report, $rapid_account_scan, $ai_version, $ai_hoster, $ai_extra_warn, $ai_expert, $ai_smart, $root_path, $scan_all, $specific_ext, $doublecheck, $use_doublecheck, $start, $snum, $max_size, $add_prefix, $no_prefix, $small = false, $file = false, $echo = false) { $this->mnemo = $mnemo; $this->ai_extra_warn = $ai_extra_warn; $this->extended_report = $extended_report; $this->rapid_account_scan = $rapid_account_scan; $this->ai_hoster = $ai_hoster; $this->addPrefix = $add_prefix; $this->noPrefix = $no_prefix; $this->file = $file; if($this->file) { @unlink($this->file); @unlink($this->file . '.tmp'); } $this->raw_report = ''; if (function_exists("gethostname") && is_callable("gethostname")) { $l_HostName = gethostname(); } else { $l_HostName = '???'; } $this->raw_report = "# Malware list detected by AI-Bolit (https://revisium.com/ai/) on " . date("d/m/Y H:i:s", time()) . " " . $l_HostName . "\n\n"; } public function generateReport($vars, $scan_time = false) { if (!$this->ai_hoster) { foreach ($vars->vulnerable as $l_Item) { $this->raw_report .= '[VULNERABILITY] ' . $this->replacePathArray($vars->structure['n'][$l_Item['ndx']]) . ' - ' . $l_Item['id'] . "\n"; } $this->raw_report .= "\n"; } if (count($vars->criticalPHP) > 0) { $this->raw_report .= '[SERVER MALWARE]' . "\n" . $this->printPlainList(array_slice($vars->criticalPHP, 0, self::MAX_ROWS), $vars, $vars->criticalPHPFragment) . "\n"; } if (count($vars->criticalJS) > 0) { $this->raw_report .= '[CLIENT MALWARE / JS]' . "\n" . $this->printPlainList(array_slice($vars->criticalJS, 0, self::MAX_ROWS), $vars, $vars->criticalJSFragment) . "\n"; } if (count($vars->notRead) > 0) { $this->raw_report .= '[SCAN ERROR / SKIPPED]' . "\n" . $this->printPlainList(array_slice($vars->notRead, 0, self::AIBOLIT_MAX_NUMBER), $vars) . "\n\n"; } if (count($vars->symLinks) > 0) { $this->raw_report .= '[SYMLINKS]' . "\n" . $this->printPlainList(array_slice($vars->symLinks, 0, self::AIBOLIT_MAX_NUMBER), $vars) . "\n\n"; } if (!$this->ai_hoster) { if (count($vars->phishing) > 0) { $this->raw_report .= '[PHISHING]' . "\n" . $this->printPlainList($vars->phishing, $vars, $vars->phishingFragment) . "\n"; } if (count($vars->redirect) > 0) { $this->raw_report .= printList($vars->redirect, $vars, $vars->redirectPHPFragment); } } if ($this->ai_extra_warn) { if (count($vars->warningPHP) > 0) { $this->raw_report .= '[SUSPICIOUS]' . "\n" . $this->printPlainList(array_slice($vars->warningPHP, 0, self::AIBOLIT_MAX_NUMBER), $vars, $vars->warningPHPFragment) . "\n"; } } if (!$this->ai_hoster) { if (count($vars->adwareList) > 0) { $this->raw_report .= '[ADWARE]' . "\n" . $this->printPlainList($vars->adwareList, $vars, $vars->adwareListFragment) . "\n"; } if (count($vars->bigFiles) > 0) { $this->raw_report .= '[BIG FILES / SKIPPED]' . "\n" . $this->printPlainList(array_slice($vars->bigFiles, 0, self::AIBOLIT_MAX_NUMBER), $vars) . "\n\n"; } } $this->raw_report = preg_replace('|__AI_LINE1__|smi', '[', $this->raw_report); $this->raw_report = preg_replace('|__AI_LINE2__|smi', '] ', $this->raw_report); $this->raw_report = preg_replace('|__AI_MARKER__|smi', ' %> ', $this->raw_report); } public function write() { $ret = ''; if ($l_FH = fopen($this->file . '.tmp', "w")) { fputs($l_FH, $this->raw_report); fclose($l_FH); } if (rename($this->file . '.tmp', $this->file)) { $ret = "Report written to '$this->file'."; } else { $ret = "Cannot create '$this->file'."; } return $ret; } //////////////////////////////////////////////////////////////////////////// private function printPlainList($par_List, $vars, $par_Details = null) { $l_Result = ""; $l_Src = array( '"', '<', '>', '&', ''' ); $l_Dst = array( '"', '<', '>', '&', '\'' ); for ($i = 0, $iMax = count($par_List); $i < $iMax; $i++) { $l_Pos = $par_List[$i]; if ($par_Details != null) { $l_Body = preg_replace('|(L\d+).+__AI_MARKER__|smi', '$1: ...', $par_Details[$i]); $l_Body = preg_replace('/[^\x20-\x7F]/', '.', $l_Body); $l_Body = str_replace($l_Src, $l_Dst, $l_Body); } else { $l_Body = ''; } if (is_file($vars->structure['n'][$l_Pos])) { $l_Result .= $this->addPrefix . str_replace($this->noPrefix, '', $vars->structure['n'][$l_Pos]) . "\t\t\t" . $l_Body . "\n"; } else { $l_Result .= $this->addPrefix . str_replace($this->noPrefix, '', $vars->structure['n'][$par_List[$i]]) . "\n"; } } return $l_Result; } private function replacePathArray($par_Arr) { array_walk($par_Arr, function(&$n) { $n = $this->addPrefix . str_replace($this->noPrefix, '', $n); }); return $par_Arr; } } /** * Class CSVReport report table data to CSV */ class CSVReport extends Report { const CRITICAL_PHP = 'p'; const CRITICAL_JS = 'j'; const SUSPICIOUS = 's'; const PHISHING = 'h'; const VULNERABLE = 'v'; const CLOUDHASH = 'c'; const BIG_FILES = 'b'; const NOT_READ = 'n'; const DOORWAY = 'd'; const SYMLINKS = 'm'; const ADWARE = 'a'; const CMS = 'e'; private $extended_report; private $rapid_account_scan; private $ai_extra_warn; private $ai_hoster; private $noPrefix; private $addPrefix; private $mnemo; private $file; public function __construct($mnemo, $path, $db_location, $db_meta_info_version, $report_mask, $extended_report, $rapid_account_scan, $ai_version, $ai_hoster, $ai_extra_warn, $ai_expert, $ai_smart, $root_path, $scan_all, $specific_ext, $doublecheck, $use_doublecheck, $start, $snum, $max_size, $add_prefix, $no_prefix, $small = false, $file = false, $echo = false) { $this->mnemo = $mnemo; $this->ai_extra_warn = $ai_extra_warn; $this->extended_report = $extended_report; $this->rapid_account_scan = $rapid_account_scan; $this->ai_hoster = $ai_hoster; $this->addPrefix = $add_prefix; $this->noPrefix = $no_prefix; $this->file = $file; if($this->file) { @unlink($this->file); @unlink($this->file . '.tmp'); } } public function generateReport($vars, $scan_time = false) { $this->writeRawCSVVuln($vars->vulnerable, $vars); if (count($vars->criticalPHP) > 0) { $this->writeRawCSV($vars->criticalPHP, $vars, self::CRITICAL_PHP, $vars->criticalPHPFragment, $vars->criticalPHPSig); } if (count($vars->blackFiles) > 0) { $this->writeRawBlackData($vars->blackFiles); } if (count($vars->criticalJS) > 0) { $this->writeRawCSV($vars->criticalJS, $vars, self::CRITICAL_JS, $vars->criticalJSFragment, $vars->criticalJSSig); } if (count($vars->notRead) > 0) { $this->writeListCSV(self::NOT_READ, $vars->notRead); } if ($this->ai_hoster) { if (count($vars->phishing) > 0) { $this->writeRawCSV($vars->phishing, $vars, self::PHISHING, $vars->phishingFragment, $vars->phishingSigFragment); } if (count($vars->symLinks) > 0) { $this->writeListCSV(self::SYMLINKS, $vars->symLinks); } } else { if (count($vars->adwareList) > 0) { $this->writeRawCSV($vars->adwareList, $vars, self::ADWARE, $vars->adwareListFragment); } if (count($vars->bigFiles) > 0) { $this->writeRawCSV($vars->bigFiles, $vars, self::BIG_FILES); } if (count($vars->doorway) > 0) { $this->writeRawCSV($vars->doorway, $vars, self::DOORWAY); } if (count($vars->CMS) > 0) { $this->writeListCSV(self::CMS, $vars->CMS); } } if ($this->ai_extra_warn) { if (count($vars->warningPHP) > 0) { $this->writeRawCSV($vars->warningPHP, $vars, self::SUSPICIOUS, $vars->warningPHPFragment, $vars->warningPHPSig); } } } public function write() { $ret = ''; if ($this->file) { if (rename($this->file . '.tmp', $this->file)) { $ret = "Report written to '$this->file'."; } else { $ret = "Cannot create '$this->file'."; } } return $ret; } //////////////////////////////////////////////////////////////////////////// private function writeRawCSVVuln($par_List, $vars) { if (count($par_List) === 0) { return; } $fh = fopen($this->file . '.tmp', "a+"); for ($i = 0, $iMax = count($par_List); $i < $iMax; $i++) { $res = []; $l_Pos = $par_List[$i]['ndx']; $res[] = self::VULNERABLE; $fn = $this->addPrefix . str_replace($this->noPrefix, '', $vars->structure['n'][$l_Pos]); if (ENCODE_FILENAMES_WITH_BASE64) { $res[] = base64_encode($fn); } else { $res[] = self::convertToUTF8($fn); } $res[] = $par_List[$i]['id']; $res[] = $vars->structure['c'][$l_Pos]; $res[] = $vars->structure['m'][$l_Pos]; $res[] = $vars->structure['s'][$l_Pos]; $res[] = $vars->structure['e'][$l_Pos]; $res[] = 'vuln_' . md5($vars->structure['n'][$l_Pos] . $par_List[$i]['id']); $res[] = ''; $res[] = ''; $res[] = ''; fputcsv($fh, $res); } fflush($fh); fclose($fh); } private function writeListCSV($section, $list) { if (count($list) === 0) { return; } $fh = fopen($this->file . '.tmp', "a+"); for ($i = 0, $iMax = count($list); $i < $iMax; $i++) { $res = []; $res[] = $section; $res[] = $list[$i]; $res[] = ''; $res[] = ''; $res[] = ''; $res[] = ''; $res[] = ''; $res[] = ''; $res[] = ''; $res[] = ''; $res[] = ''; fputcsv($fh, $res); } fflush($fh); fclose($fh); } private function writeRawCSV($par_List, $vars, $section = '', $par_Details = null, $par_SigId = null) { if (count($par_List) === 0) { return; } $fh = fopen($this->file . '.tmp', "a+"); $l_Src = array( '"', '<', '>', '&', ''', '<' . '?php.', '\\' ); $l_Dst = array( '"', '<', '>', '&', '\'', '<' . '?php ', '' ); for ($i = 0, $iMax = count($par_List); $i < $iMax; $i++) { $res = []; $res[] = $section; if ($par_SigId != null) { $l_SigId = 'id_' . $par_SigId[$i]; } else { $l_SigId = 'id_n' . rand(1000000, 9000000); } $l_Pos = $par_List[$i]; $fn = $this->addPrefix . str_replace($this->noPrefix, '', $vars->structure['n'][$l_Pos]); if (ENCODE_FILENAMES_WITH_BASE64) { $res[] = base64_encode($fn); } else { $res[] = self::convertToUTF8($fn); } if ($par_Details != null) { $sig = preg_replace('|(L\d+).+__AI_MARKER__|smi', '[$1]: ...', $par_Details[$i]); $sig = preg_replace('/[^\x20-\x7F]/', '.', $sig); $sig = preg_replace('/__AI_LINE1__(\d+)__AI_LINE2__/', '[$1] ', $sig); $sig = preg_replace('/__AI_MARKER__/', ' @!!!>', $sig); $sig = str_replace($l_Src, $l_Dst, $sig); $sig = self::convertToUTF8($sig); } $res[] = $sig; $res[] = $vars->structure['c'][$l_Pos]; $res[] = $vars->structure['m'][$l_Pos]; $res[] = $vars->structure['s'][$l_Pos]; $res[] = $vars->structure['e'][$l_Pos]; $res[] = $l_SigId; $res[] = $vars->structure['crc'][$l_Pos]; if (isset($par_SigId) && isset($this->mnemo[$par_SigId[$i]])) { $res[] = $this->mnemo[$par_SigId[$i]]; } else { $res[] = ''; } if (isset($vars->structure['sha256'][$l_Pos])) { $res[] = $vars->structure['sha256'][$l_Pos]; } else { $res[] = ''; } fputcsv($fh, $res); } fflush($fh); fclose($fh); } private function writeRawBlackData($black_list) { if (count($black_list) === 0) { return; } $fh = fopen($this->file . '.tmp', "a+"); foreach ($black_list as $filename => $hash) { $res = []; try { $stat = stat($filename); $sz = $stat['size']; $ct = $stat['ctime']; $mt = $stat['mtime']; } catch (Exception $e) { continue; } $res[] = self::CLOUDHASH; $res[] = $filename; $res[] = ''; $res[] = $ct; $res[] = $mt; $res[] = $sz; $res[] = $hash['ts']; $res[] = crc32($filename); $res[] = $hash['h']; $res[] = isset($hash['sn']) ? $hash['sn'] : 'cld'; $res[] = ''; fputcsv($fh, $res); } fflush($fh); fclose($fh); } } /** * Class DoublecheckReport generate doublecheck file */ class DoublecheckReport extends Report { private $raw_report; private $skip = false; private $file = false; private $res = ''; public function __construct($mnemo, $path, $db_location, $db_meta_info_version, $report_mask, $extended_report, $rapid_account_scan, $ai_version, $ai_hoster, $ai_extra_warn, $ai_expert, $ai_smart, $root_path, $scan_all, $specific_ext, $doublecheck, $use_doublecheck, $start, $snum, $max_size, $add_prefix, $no_prefix, $small = false, $file = false, $echo = false) { $this->raw_report = []; $this->file = $file; if(file_exists($this->file)) { $this->skip = true; $this->res .= $this->file . ' already exists.' . PHP_EOL; } else if ($l_FH = fopen($this->file . '.tmp', 'w')) { fputs($l_FH, '<?php die("Forbidden"); ?>' . "\n"); fclose($l_FH); } else { $this->skip = true; $this->res .= 'Error! Cannot create ' . $this->file . PHP_EOL; } } public function generateReport($vars, $scan_time) { if ($this->skip) { return; } $l_CurrPath = dirname(__FILE__); if (!isset($vars->criticalPHP)) { $vars->criticalPHP = array(); } if (!isset($vars->criticalJS)) { $vars->criticalJS = array(); } if (!isset($vars->phishing)) { $vars->phishing = array(); } if (!isset($vars->adwareList)) { $vars->adwareList = array(); } if (!isset($vars->redirect)) { $vars->redirect = array(); } $this->raw_report = array_merge($vars->criticalPHP, $vars->criticalJS, $vars->phishing, $vars->adwareList, $vars->redirect); $this->raw_report = array_values(array_unique($this->raw_report)); for ($i = 0, $iMax = count($this->raw_report); $i < $iMax; $i++) { $this->raw_report[$i] = str_replace($l_CurrPath, '.', $vars->structure['n'][$this->raw_report[$i]]); } $this->raw_report = array_values(array_unique($this->raw_report)); if (count($this->raw_report) === 0) { $this->skip = true; unlink($this->file . '.tmp'); } } public function write() { $ret = ''; if ($this->skip) { return $this->res; } $fh = fopen($this->file . '.tmp', "a+"); for ($i = 0, $iMax = count($this->raw_report); $i < $iMax; $i++) { fputs($fh, $this->raw_report[$i] . "\n"); } fclose($fh); if (rename($this->file . '.tmp', $this->file)) { $ret = "Report written to '$this->file'."; } else { $ret = "Cannot create '$this->file'."; } return $ret; } } /** * Class HTMLReport report all data to HTML */ class HTMLReport extends Report { const REPORT_MASK_DOORWAYS = 1<<2; const REPORT_MASK_SUSP = 1<<3; const REPORT_MASK_FULL = self::REPORT_MASK_DOORWAYS | self::REPORT_MASK_SUSP; private $raw_report; private $extended_report; private $rapid_account_scan; private $ai_extra_warn; private $ai_hoster; private $report_mask; private $noPrefix; private $addPrefix; private $mnemo; private $small; private $file; private $echo; private $template; private $max_size; private $start; private $doublecheck; public function __construct($mnemo, $path, $db_location, $db_meta_info_version, $report_mask, $extended_report, $rapid_account_scan, $ai_version, $ai_hoster, $ai_extra_warn, $ai_expert, $ai_smart, $root_path, $scan_all, $specific_ext, $doublecheck, $use_doublecheck, $start, $snum, $max_size, $add_prefix, $no_prefix, $small = false, $file = false, $echo = false) { $this->mnemo = $mnemo; $this->ai_extra_warn = $ai_extra_warn; $this->extended_report = $extended_report; $this->rapid_account_scan = $rapid_account_scan; $this->ai_hoster = $ai_hoster; $this->report_mask = $report_mask; $this->addPrefix = $add_prefix; $this->noPrefix = $no_prefix; $this->small = $small; $this->echo = $echo; $this->max_size = $max_size; $this->start = $start; $this->doublecheck = $doublecheck; $this->raw_report = ''; $this->file = $file; if($this->file) { @unlink($this->file); @unlink($this->file . '.tmp'); } if (file_exists(dirname(__FILE__) . '/ai-design.html')) { $this->template = Template::create(file_get_contents(dirname(__FILE__) . '/ai-design.html')); } else { $this->template = Template::create(TemplateList::MAIN_PAGE); $this->template->set('msg1', Translate::getStr('data_table.length_menu')); $this->template->set('msg2', Translate::getStr('data_table.zero_records')); $this->template->set('msg3', Translate::getStr('data_table.info')); $this->template->set('msg4', Translate::getStr('data_table.info_empty')); $this->template->set('msg5', Translate::getStr('data_table.info_filtered')); $this->template->set('msg6', Translate::getStr('data_table.search')); $this->template->set('msg7', Translate::getStr('data_table.paginate.first')); $this->template->set('msg8', Translate::getStr('data_table.paginate.previous')); $this->template->set('msg9', Translate::getStr('data_table.paginate.next')); $this->template->set('msg10', Translate::getStr('data_table.paginate.last')); $this->template->set('msg11', Translate::getStr('data_table.aria.sort_ascending')); $this->template->set('msg12', Translate::getStr('data_table.aria.sort_descending')); } $this->template->set('MAIN_TITLE', Translate::getStr('header.scan_report_title')); $this->template->set('MODE', $ai_expert . '/' . $ai_smart); if (AI_EXPERT == 0) { $this->raw_report .= '<div class="rep">' . Translate::getStr('scan.offer_modes_after_express') . '</div>'; } $this->template->set('HEAD_TITLE', Translate::getStr('report_for') . $this->addPrefix . str_replace($this->noPrefix, '', $root_path)); $this->template->set('SERVICE_INFO', htmlspecialchars("[" . @ini_get('mbstring.internal_encoding') . "][" . $snum . "]")); $this->template->set('PATH_URL', (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $this->addPrefix . str_replace($this->noPrefix, '', $this->addSlash($root_path)))); $this->template->set('VERSION', $ai_version); $this->template->set('WARN_QUICK', (($scan_all || $specific_ext) ? '' : Translate::getStr('notice.scan_express', [$doublecheck]))); if ($use_doublecheck) { if (Translate::getStr('file.scanned_manual', [$this->doublecheck, $this->doublecheck]) != '') { $this->raw_report .= '<div class="rep">' . Translate::getStr('file.scanned_manual', [$this->doublecheck, $this->doublecheck]) . '</div>'; } } } public function generateReport($vars, $scan_time) { $l_ShowOffer = false; $this->template->set('SCANNED', Translate::getStr('info.files_checked', [$vars->totalFolder, $vars->totalFiles])); $l_Summary = '<div class="title">' . Translate::getStr('report.summary') . '</div>'; $l_Summary .= '<table cellspacing=0 border=0>'; if (count($vars->redirect) > 0) { $l_Summary .= $this->makeSummary(Translate::getStr('mobile_redirects'), count($vars->redirect), 'crit'); } if (count($vars->criticalPHP) > 0) { $l_Summary .= $this->makeSummary(Translate::getStr('malware'), count($vars->criticalPHP), "crit"); } if (count($vars->criticalJS) > 0) { $l_Summary .= $this->makeSummary(Translate::getStr('js_virused'), count($vars->criticalJS), "crit"); } if (count($vars->phishing) > 0) { $l_Summary .= $this->makeSummary(Translate::getStr('phishing_pages'), count($vars->phishing), "crit"); } if (count($vars->notRead) > 0) { $l_Summary .= $this->makeSummary(Translate::getStr('error.read_file'), count($vars->notRead), "crit"); } if (count($vars->warningPHP) > 0) { $l_Summary .= $this->makeSummary(Translate::getStr('suspicious'), count($vars->warningPHP), "warn"); } if (count($vars->bigFiles) > 0) { $l_Summary .= $this->makeSummary(Translate::getStr('skipped_large_file'), count($vars->bigFiles), "warn"); } if (count($vars->symLinks) > 0) { $l_Summary .= $this->makeSummary(Translate::getStr('link.symbolic'), count($vars->symLinks), "warn"); } $l_Summary .= "</table>"; $l_ArraySummary = array(); $l_ArraySummary["redirect"] = count($vars->redirect); $l_ArraySummary["critical_php"] = count($vars->criticalPHP); $l_ArraySummary["critical_js"] = count($vars->criticalJS); $l_ArraySummary["phishing"] = count($vars->phishing); $l_ArraySummary["unix_exec"] = 0; // count($g_UnixExec); $l_ArraySummary["iframes"] = 0; // count($g_Iframer); $l_ArraySummary["not_read"] = count($vars->notRead); $l_ArraySummary["base64"] = 0; // count($g_Base64); $l_ArraySummary["heuristics"] = 0; // count($g_HeuristicDetected); $l_ArraySummary["symlinks"] = count($vars->symLinks); $l_ArraySummary["big_files_skipped"] = count($vars->bigFiles); $l_ArraySummary["suspicious"] = count($vars->warningPHP); if (function_exists('json_encode')) { $l_Summary .= "<!--[json]" . json_encode($l_ArraySummary) . "[/json]-->"; } $l_Summary .= "<div class=details style=\"margin: 20px 20px 20px 0\">" . Translate::getStr('notice.files_may_not_malicious') . "</div>\n"; $this->template->set('SUMMARY', $l_Summary); $this->raw_report .= Translate::getStr('critical.title'); if(!$this->ai_hoster) { if (count($vars->vulnerable) > 0) { $this->raw_report .= '<div class="note_vir">' . Translate::getStr('script.vulnerable') . ' (' . count($vars->vulnerable) . ')</div><div class="crit">'; foreach ($vars->vulnerable as $l_Item) { $this->raw_report .= '<li>' . AibolitHelpers::makeSafeFn($vars->structure['n'][$l_Item['ndx']], $this->addPrefix, $this->noPrefix, true) . ' - ' . $l_Item['id'] . '</li>'; } $this->raw_report .= '</div><p>' . PHP_EOL; } } if (count($vars->criticalPHP) > 0) { $criticalPHP = array_slice($vars->criticalPHP, 0, self::MAX_ROWS); $this->raw_report .= '<div class="note_vir">' . Translate::getStr('detected.shell_scripts') . ' (' . count($criticalPHP) . ')</div><div class="crit">'; $this->raw_report .= $this->printList($criticalPHP, $vars, $vars->criticalPHPFragment, $vars->criticalPHPSig, 'table_crit'); $this->raw_report .= '</div>' . PHP_EOL; $l_ShowOffer = true; } else { $this->raw_report .= '<div class="ok"><b>' . Translate::getStr('not_detected.shell_scripts') . '</b></div>'; } if (count($vars->criticalJS) > 0) { $criticalJS = array_slice($vars->criticalJS, 0, self::MAX_ROWS); $this->raw_report .= '<div class="note_vir">' . Translate::getStr('detected.javascript') . ' (' . count($criticalJS) . ')</div><div class="crit">'; $this->raw_report .= $this->printList($criticalJS, $vars, $vars->criticalJSFragment, $vars->criticalJSSig, 'table_vir'); $this->raw_report .= "</div>" . PHP_EOL; $l_ShowOffer = true; } if (count($vars->notRead) > 0) { $notRead = array_slice($vars->notRead, 0, self::AIBOLIT_MAX_NUMBER); $this->raw_report .= '<div class="note_vir">' . Translate::getStr('warning.reading_error') . ' (' . count($notRead) . ')</div><div class="crit">'; $this->raw_report .= $this->printList($notRead, $vars); $this->raw_report .= "</div><div class=\"spacer\"></div>" . PHP_EOL; } if (!$this->ai_hoster) { if (count($vars->phishing) > 0) { $this->raw_report .= '<div class="note_vir">' . Translate::getStr('detected.phishing_pages') . ' (' . count($vars->phishing) . ')</div><div class="crit">'; $this->raw_report .= $this->printList($vars->phishing, $vars, $vars->phishingFragment, $vars->phishingSigFragment, 'table_vir'); $this->raw_report .= "</div>" . PHP_EOL; $l_ShowOffer = true; } if (count($vars->redirect) > 0) { $l_ShowOffer = true; $this->raw_report .= '<div class="note_vir">' . Translate::getStr('suspicion.htaccess') . ' (' . count($vars->redirect) . ')</div><div class="crit">'; $this->raw_report .= "</div>" . PHP_EOL; } if (count($vars->symLinks) > 0) { $symLinks = array_slice($vars->symLinks, 0, self::AIBOLIT_MAX_NUMBER); $this->raw_report .= '<div class="note_vir">' . Translate::getStr('symlinks') . ' (' . count($symLinks) . ')</div><div class="crit">'; $this->raw_report .= nl2br(AibolitHelpers::makeSafeFn(implode("\n", $symLinks), $this->addPrefix, $this->noPrefix, true)); $this->raw_report .= "</div><div class=\"spacer\"></div>"; } } if ($this->ai_extra_warn) { $l_WarningsNum = count($vars->warningPHP); if ($l_WarningsNum > 0) { $this->raw_report .= "<div style=\"margin-top: 20px\" class=\"title\">" . Translate::getStr('warnings') . "</div>"; } if ($l_WarningsNum > 0) { $warningPHP = array_slice($vars->warningPHP, 0, self::AIBOLIT_MAX_NUMBER); $this->raw_report .= '<div class="note_warn">' . Translate::getStr('suspicion.code') . ' (' . count($warningPHP) . ')</div><div class="warn">'; $this->raw_report .= $this->printList($warningPHP, $vars, $vars->warningPHPFragment, $vars->warningPHPSig, 'table_warn'); $this->raw_report .= '</div>' . PHP_EOL; } } if (!$this->ai_hoster) { $l_WarningsNum = count($vars->bigFiles) + count($vars->adwareList) + count($vars->doorway) + count($vars->warningPHP) + count($vars->skippedFolders); if ($l_WarningsNum > 0) { $this->raw_report .= "<div style=\"margin-top: 20px\" class=\"title\">" . Translate::getStr('warnings') . "</div>"; } if (count($vars->adwareList) > 0) { $this->raw_report .= '<div class="note_warn">' . Translate::getStr('detected.bad_links') . '</div><div class="warn">'; $this->raw_report .= $this->printList($vars->adwareList, $vars, $vars->adwareListFragment); $this->raw_report .= "</div>" . PHP_EOL; } if (count($vars->bigFiles) > 0) { $bigFiles = array_slice($vars->bigFiles, 0, self::AIBOLIT_MAX_NUMBER); $this->raw_report .= "<div class=\"note_warn\">" . Translate::getStr('skipped.large_file', [$this->max_size]) . '</div><div class="warn">'; $this->raw_report .= $this->printList($bigFiles, $vars); $this->raw_report .= "</div>"; } if (count($vars->doorway) > 0) { $doorway = array_slice($vars->doorway, 0, self::AIBOLIT_MAX_NUMBER); $this->raw_report .= '<div class="note_warn">' . Translate::getStr('suspicion.doorway') . '</div><div class="warn">'; $this->raw_report .= nl2br(AibolitHelpers::makeSafeFn(implode("\n", $doorway), $this->addPrefix, $this->noPrefix, true)); $this->raw_report .= "</div>" . PHP_EOL; } if (count($vars->CMS) > 0) { $this->raw_report .= "<div class=\"note_warn\">" . Translate::getStr('founded_CMS') . "<br/>"; $this->raw_report .= nl2br(AibolitHelpers::makeSafeFn(implode("\n", $vars->CMS), $this->addPrefix, $this->noPrefix)); $this->raw_report .= "</div>"; } } if (function_exists('memory_get_peak_usage')) { $this->template->set('MEMORY', Translate::getStr('memory_used') . AibolitHelpers::bytes2Human(memory_get_peak_usage())); } if ($l_ShowOffer) { $this->template->set('OFFER', Translate::getStr('offer.when_has_critical')); } else { $this->template->set('OFFER', Translate::getStr('offer.when_no_critical')); } $this->template->set('OFFER_OUR_PRODUCTS', Translate::getStr('offer_our_products')); $this->template->set('CAUTION', Translate::getStr('сaution.aibolit_file')); $this->template->set('CREDITS', Translate::getStr('info.non_commercial_use')); $this->template->set('FOOTER', Translate::getStr('footer')); $this->template->set('STAT', Translate::getStr('info.time_elapsed', [$scan_time, date('d-m-Y в H:i:s', floor($this->start)), date('d-m-Y в H:i:s')])); //////////////////////////////////////////////////////////////////////////// $this->template->set('MAIN_CONTENT', $this->raw_report); } public function write() { $ret = ''; $res = $this->template->render(); if ($l_FH = fopen($this->file . '.tmp', "w")) { fputs($l_FH, $res); fclose($l_FH); } if (rename($this->file . '.tmp', $this->file)) { $ret = "Report written to '$this->file'."; } else { $ret = "Cannot create '$this->file'."; } return $ret; } //////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////// private function makeSummary($par_Str, $par_Number, $par_Style) { return '<tr><td class="' . $par_Style . '" width=400>' . $par_Str . '</td><td class="' . $par_Style . '">' . $par_Number . '</td></tr>'; } private function printList($par_List, $vars, $par_Details = null, $par_SigId = null, $par_TableName = null) { $i = 0; if ($par_TableName == null) { $par_TableName = 'table_' . rand(1000000, 9000000); } $l_Result = ''; $l_Result .= "<div class=\"flist\"><table cellspacing=1 cellpadding=4 border=0 id=\"" . $par_TableName . "\">"; $l_Result .= "<thead><tr class=\"tbgh" . ($i % 2) . "\">"; $l_Result .= "<th width=70%>" . Translate::getStr('path') . "</th>"; $l_Result .= "<th>" . Translate::getStr('property_change') . "</th>"; $l_Result .= "<th>" . Translate::getStr('content_change') . "</th>"; $l_Result .= "<th width=90>" . Translate::getStr('size') . "</th>"; $l_Result .= "<th width=0 class=\"hidd\">CRC32</th>"; $l_Result .= "<th width=0 class=\"hidd\"></th>"; $l_Result .= "<th width=0 class=\"hidd\"></th>"; $l_Result .= "<th width=0 class=\"hidd\"></th>"; $l_Result .= "</tr></thead><tbody>"; for ($i = 0, $iMax = count($par_List); $i < $iMax; $i++) { if ($par_SigId != null) { $l_SigId = 'id_' . $par_SigId[$i]; } else { $l_SigId = 'id_z' . rand(1000000, 9000000); } $l_Pos = $par_List[$i]; $l_Creat = $vars->structure['c'][$l_Pos] > 0 ? date("d/m/Y H:i:s", $vars->structure['c'][$l_Pos]) : '-'; $l_Modif = $vars->structure['m'][$l_Pos] > 0 ? date("d/m/Y H:i:s", $vars->structure['m'][$l_Pos]) : '-'; $l_Size = $vars->structure['s'][$l_Pos] > 0 ? AibolitHelpers::bytes2Human($vars->structure['s'][$l_Pos]) : '-'; if ($par_Details != null) { $l_WithMarker = preg_replace('|__AI_MARKER__|smi', '<span class="marker"> </span>', $par_Details[$i]); $l_WithMarker = preg_replace('|__AI_LINE1__|smi', '<span class="line_no">', $l_WithMarker); $l_WithMarker = preg_replace('|__AI_LINE2__|smi', '</span>', $l_WithMarker); $l_Body = '<div class="details">'; if ($par_SigId != null) { $l_Body .= '<a href="#" onclick="return hsig(\'' . $l_SigId . '\')">[x]</a> '; } $l_Body .= $l_WithMarker . '</div>'; } else { $l_Body = ''; } $l_Result .= '<tr class="tbg' . ($i % 2) . '" o="' . $l_SigId . '">'; if (is_file($vars->structure['n'][$l_Pos])) { $l_Result .= '<td><div class="it"><a class="it">' . AibolitHelpers::makeSafeFn($this->addPrefix . str_replace($this->noPrefix, '', $vars->structure['n'][$l_Pos]), $this->addPrefix, $this->noPrefix) . '</a></div>' . $l_Body . '</td>'; } else { $l_Result .= '<td><div class="it"><a class="it">' . AibolitHelpers::makeSafeFn($this->addPrefix . str_replace($this->noPrefix, '', $vars->structure['n'][$par_List[$i]]), $this->addPrefix, $this->noPrefix) . '</a></div></td>'; } $l_Result .= '<td align=center><div class="ctd">' . $l_Creat . '</div></td>'; $l_Result .= '<td align=center><div class="ctd">' . $l_Modif . '</div></td>'; $l_Result .= '<td align=center><div class="ctd">' . $l_Size . '</div></td>'; $l_Result .= '<td class="hidd"><div class="hidd">' . $vars->structure['crc'][$l_Pos] . '</div></td>'; $l_Result .= '<td class="hidd"><div class="hidd">' . 'x' . '</div></td>'; $l_Result .= '<td class="hidd"><div class="hidd">' . $vars->structure['m'][$l_Pos] . '</div></td>'; $l_Result .= '<td class="hidd"><div class="hidd">' . $l_SigId . '</div></td>'; $l_Result .= '</tr>'; } $l_Result .= "</tbody></table></div><div class=clear style=\"margin: 20px 0 0 0\"></div>"; return $l_Result; } private function addSlash($dir) { return rtrim($dir, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR; } } class CloudAssistedFiles { private $white = []; private $black = []; public function __construct(CloudAssistedRequest $car, $file_list, $vars) { $list_of_hash = []; $list_of_filepath = []; foreach ($file_list as $index => $filepath) { if (!file_exists($filepath) || !is_readable($filepath) || is_dir($filepath)) { continue; } try { $list_of_hash[] = hash('sha256', file_get_contents($filepath)); $list_of_filepath[] = $filepath; } catch (Exception $e) { } } unset($file_list); if ($vars->hashtable !== null) { $vars->hashtable->add($list_of_filepath, $list_of_hash); } try { list($white_raw, $black_raw, $verdicts_black_raw) = $car->checkFilesByHash($list_of_hash); } catch (Exception $e) { throw $e; } $this->white = $this->getListOfFile($white_raw, $list_of_hash, $list_of_filepath); $this->black = $this->getListOfFile($black_raw, $list_of_hash, $list_of_filepath, $verdicts_black_raw); unset($white_raw, $black_raw, $verdicts_black_raw, $list_of_hash, $list_of_filepath); } public function getWhiteList() { return $this->white; } public function getBlackList() { return $this->black; } // ========================================================================= private function getListOfFile($data_raw, $list_of_hash, $list_of_filepath, $verdicts = []) { $result = []; foreach ($data_raw as $index => $hash_index) { if (!isset($list_of_hash[$hash_index])) { continue; } $hash_result = [ 'h' => $list_of_hash[$hash_index], 'ts' => time(), ]; if ($verdicts) { if (!isset($verdicts[$index])) { throw new Exception('Wrong CloudAssisted format. List of verdicts has structure different from main list.'); } $hash_result['sn'] = $verdicts[$index]; } $result[$list_of_filepath[$hash_index]] = $hash_result; } return $result; } } class DetachedMode { protected $workdir; protected $scan_id; protected $pid_file; protected $report_file; protected $csvreport_file; protected $done_file; protected $vars; protected $start_time; protected $json_report; protected $sock_file; protected $reports; protected $finder; protected $debug; public function __construct($finder, $debug, $scan_id, $vars, $start_time, $json_report, $basedir = '/var/imunify360/aibolit/run', $sock_file = '/var/run/defence360agent/generic_sensor.sock.2') { $this->scan_id = $scan_id; $this->vars = $vars; $this->setWorkDir($basedir, $scan_id); $this->pid_file = $this->workdir . '/pid'; $this->report_file = $this->workdir . '/report.json'; $this->csvreport_file = $this->workdir . '/report.csv'; $this->done_file = $this->workdir . '/done'; $this->start_time = $start_time; $this->json_report = $json_report; $this->setSocketFile($sock_file); $this->savePid(); $this->checkWorkDir($this->workdir); if (isset($vars->options['json_report']) && !empty($vars->options['json_report']) && $vars->options['json_report'] !== '.') { $this->report_file = $vars->options['json_report']; } if (isset($vars->options['csv_report']) && !empty($vars->options['csv_report']) && $vars->options['csv_report'] !== '.') { $this->csvreport_file = $vars->options['csv_report']; $this->reports[CSVReport::class] = $this->csvreport_file; } $this->reports[JSONReport::class] = $this->report_file; $this->finder = $finder; $this->debug = $debug; } public function scanListing($listing, $use_base64) { $this->checkList($listing); $this->scanFilesFromListingFile($listing, $use_base64); $this->writeReport(); $this->complete(); } public function scanDirectories($dir) { file_exists(QUEUE_FILENAME) && unlink(QUEUE_FILENAME); $scan = new Scanner($this->finder, $this->vars); if (method_exists($scan, 'QCR_ScanDirectories')) { $scan->QCR_ScanDirectories($dir); } $this->scanFilesFromListingFile(QUEUE_FILENAME, true); file_exists(QUEUE_FILENAME) && unlink(QUEUE_FILENAME); $this->writeReport(); $this->complete(); unset($scan); } // ///////////////////////////////////////////////////////////////////////// protected function scanFilesFromListingFile($list_filepath, $use_base64 = false) { if (!is_file($list_filepath) || !is_readable($list_filepath)) { $this->vars->foundTotalFiles = 0; return; } $s_file = new SplFileObject($list_filepath); $s_file->setFlags(SplFileObject::READ_AHEAD | SplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE); $s_file->seek($s_file->getSize()); $this->vars->foundTotalFiles = $s_file->key(); $s_file->seek(0); $scan = new Scanner($this->finder, $this->vars); if (method_exists($scan, 'QCR_GoScan')) { $scan->QCR_GoScan($s_file, null, $use_base64, false); $scan->whitelisting(); } unset($scan); unset($s_file); } protected function checkWorkDir($workdir) { if (!file_exists($workdir) && !mkdir($workdir) && !is_dir($workdir)) { die('Error! Cannot create workdir ' . $workdir . ' for detached scan.'); } elseif (file_exists($workdir) && !is_writable($workdir)) { die('Error! Workdir ' . $workdir . ' is not writable.'); } } protected function checkList($listing) { if (!file_exists($listing) || !is_readable($listing)) { die('Error! Listing file ' . $listing . ' not exists or not readable'); } } protected function savePid() { file_put_contents($this->pid_file, strval(getmypid())); } protected function writeReport() { $scan_time = round(microtime(true) - $this->start_time, 1); foreach($this->json_report->call($this, $this->reports) as $json_report) { $json_report->generateReport($this->vars, $scan_time); $json_report->write(); } } protected function complete() { @touch($this->done_file); $complete = array( 'method' => 'MALWARE_SCAN_COMPLETE', 'scan_id' => $this->scan_id, ); $json_complete = json_encode($complete) . "\n"; $socket = fsockopen('unix://' . $this->sock_file); stream_set_blocking($socket, false); fwrite($socket, $json_complete); fclose($socket); } protected function setWorkDir($dir, $scan_id) { $this->workdir = $dir . '/' . $scan_id; } protected function setSocketFile($sock) { $this->sock_file = $sock; } } /** * Class ResidentMode used to stay aibolit alive in memory and wait for a job. */ class ResidentMode { /** * parent dir for all resident aibolit related * @var string */ protected $resident_dir; /** * directory for all jobs to be processed by aibolit * @var string */ protected $resident_in_dir; /** * directory with all the malicious files reports to be processed by imunify * @var string */ protected $resident_out_dir; /** * resident aibolit pid * @var string */ protected $aibolit_pid; /** * file lock used to make sure we start only one aibolit * @var string */ protected $aibolit_start_lock; /** * status file used to make sure aibolit didn't get stuck * @var string */ protected $aibolit_status_file; /** * number of seconds while aibolit will stay alive, while not receiving any work * @var int */ protected $stay_alive; /** * maximum number of seconds without updating ABOLIT_STATUS_FILE, * used to track if AIBOLIT is stuck, should be killed * @var int */ protected $stuck_timeout; /** * number of seconds scripts would wait for aibolit to finish / send signal * @var int */ protected $upload_timeout; /** * max number of files to pick * @var int */ protected $max_files_per_notify_scan; /** * timestamp of last scan * @var int */ protected $last_scan_time; /** * time to sleep between lifecycle iterations in microseconds */ protected $sleep_time; protected $scannedNotify = 0; protected $report; protected $logger; protected $resident_in_dir_notify; protected $resident_in_dir_upload; protected $blacklist; protected $watchdog_socket; protected $activation_socket; protected $systemd = false; protected $interval = 0; protected $lastKeepAlive = 0; protected $maxMinUid = array(); protected $signs; protected $finder; const JOB_UPLOAD = 'upload'; const JOB_NOTIFY = 'notify'; protected $upload_jobs = []; protected $notify_jobs = []; /** * ResidentMode constructor. * * @param $finder * @param $debug * @param Closure $report * @param $signs * @param null $blacklist * @param Logger|null $logger * @param array $maxMinUid * @param string $resident_dir * @param int $stay_alive * @param int $stuck_timeout * @param int $upload_timeout * @param int $max_files_per_notify_scan * @param int $sleep_time */ public function __construct( $finder, $debug, Closure $report, $signs, $blacklist = null, Logger $logger = null, $maxMinUid = array(), $resident_dir = '/var/imunify360/aibolit/resident', $stay_alive = 30, $stuck_timeout = 5, $upload_timeout = 10, $max_files_per_notify_scan = 500, $sleep_time = 100000 ) { $this->signs = $signs; $this->setResidentDir($resident_dir); $this->resident_in_dir = $this->resident_dir . '/in'; $this->resident_in_dir_upload = $this->resident_in_dir . '/upload-jobs'; $this->resident_in_dir_notify = $this->resident_in_dir . '/notify-jobs'; $this->resident_out_dir = $this->resident_dir . '/out'; $this->aibolit_pid = $this->resident_dir . '/aibolit.pid'; $this->aibolit_start_lock = $this->resident_dir . '/start.lock'; $this->aibolit_status_file = $this->resident_dir . '/aibolit.status'; $this->stay_alive = $stay_alive; $this->stuck_timeout = $stuck_timeout; $this->upload_timeout = $upload_timeout; if (!empty($max_files_per_notify_scan)) { $this->max_files_per_notify_scan = $max_files_per_notify_scan; } $this->sleep_time = $sleep_time; $this->report = $report; $this->blacklist = $blacklist; $this->logger = $logger; $this->maxMinUid = $maxMinUid; umask(0); if (!file_exists($this->resident_dir)) { if (!mkdir($this->resident_dir, 0777, true) && !is_dir($this->resident_dir)) { throw new Exception(sprintf('Directory "%s" was not created', $this->resident_dir)); } } if (!file_exists($this->resident_in_dir)) { if (!mkdir($this->resident_in_dir, 0755) && !is_dir($this->resident_in_dir)) { throw new Exception(sprintf('Directory "%s" was not created', $this->resident_in_dir)); } } if (!file_exists($this->resident_out_dir)) { if (!mkdir($this->resident_out_dir, 0755) && !is_dir($this->resident_out_dir)) { throw new Exception(sprintf('Directory "%s" was not created', $this->resident_out_dir)); } } if (!file_exists($this->resident_in_dir_notify)) { if (!mkdir($this->resident_in_dir_notify, 0700) && !is_dir($this->resident_in_dir_notify)) { throw new Exception(sprintf('Directory "%s" was not created', $this->resident_in_dir_notify)); } } if (!file_exists($this->resident_in_dir_upload)) { if (!mkdir($this->resident_in_dir_upload, 01777) && !is_dir($this->resident_in_dir_upload)) { throw new Exception(sprintf('Directory "%s" was not created', $this->resident_in_dir_upload)); } } $this->checkSpecs(); $addr = getenv('NOTIFY_SOCKET'); if ($addr[0] == '@') { $addr = "\0"; } if ($addr) { $this->systemd = true; } if ($this->systemd) { $this->watchdog_socket = fsockopen('udg://' . $addr); stream_set_blocking($this->watchdog_socket, false); $this->activation_socket = fopen('php://fd/3', 'r'); if ($this->activation_socket === false) { die("Something went wrong with activation socket."); } stream_set_blocking($this->activation_socket, false); if (getenv('WATCHDOG_USEC') !== false) { $this->interval = intval(getenv('WATCHDOG_USEC')); } else { $this->interval = 1000000; } } $this->finder = $finder; $this->debug = isset($debug) ? $debug : null; $this->lifeCycle(); } protected function isRootWriteable($folder) { if (!file_exists($folder) || !is_dir($folder)) { return false; } $owner_id = (int)fileowner($folder); if (function_exists('posix_getpwuid')) { $owner = posix_getpwuid($owner_id); if (!isset($owner['name']) || $owner['name'] !== 'root') { return false; } } elseif ($owner_id != 0) { return false; } $perms = fileperms($folder); if (($perms & 0x0100) // owner r && ($perms & 0x0080) // owner w && ($perms & 0x0040) && !($perms & 0x0800) // owner x && !($perms & 0x0010) // group without w && !($perms & 0x0002) // other without w ) { return true; } return false; } protected function isWorldWriteable($folder) { if (!file_exists($folder) || !is_dir($folder)) { return false; } $perms = fileperms($folder); if (($perms & 0x0004) // other r && ($perms & 0x0002) // other w && ($perms & 0x0200) // sticky bit ) { return true; } return false; } protected function checkSpecs() { if (!extension_loaded('posix')) { die('Error! For resident scan need posix extension.'); } elseif (!$this->isRootWriteable($this->resident_in_dir_notify)) { die('Error! Notify in dir ' . $this->resident_in_dir_notify . ' must be root writeable.'); } elseif (!$this->isWorldWriteable($this->resident_in_dir_upload)) { die('Error! Upload in dir ' . $this->resident_in_dir_upload . ' must be world writeable.'); } } protected function setResidentDir($dir) { $this->resident_dir = $dir; } protected function writeReport($vars, $scan_time, $type, $file) { $file = basename($file); $critPHP = count($vars->criticalPHP); $critJS = count($vars->criticalJS); $black = count($vars->blackFiles); $warning = count($vars->warningPHP); $malware = ($critPHP > 0) || ($critJS > 0) || ($black > 0) || ($warning > 0); if ($malware) { $this->debugLog("Job {$file}: Found malware. PHP: {$critPHP}; JS: {$critJS}; Black: {$black}; SUS: {$warning}"); } else { $this->debugLog("Job {$file}: No malware found."); } if ($type == 'upload') { $pid = (int)basename($file, '.upload_job'); if ($malware) { $this->debugLog("Job {$file}: Sending SIGUSR1 to {$pid}"); posix_kill($pid, SIGUSR1); } else { $this->debugLog("Job {$file}: Sending SIGUSR2 to {$pid}"); posix_kill($pid, SIGUSR2); } } elseif ($type == 'notify' && $malware) { $filename = basename($file, '.notify_job'); $reports[JSONReport::class] = $this->resident_out_dir . '/' . $filename . '.report'; foreach($this->report->call($this, $reports) as $report) { $report->generateReport($vars, $scan_time); $this->debugLog("Job {$file}: Creating report for job in {$filename}.report"); $report->write(); } unset($reports); } } /** * @param string $pattern * @param string $type * * @return bool */ protected function isJobFileExists($pattern, $type) { if ($type === self::JOB_UPLOAD) { if (empty($this->upload_jobs)) { $this->upload_jobs = glob($this->resident_in_dir . $pattern); if (!empty($this->upload_jobs)) { return true; } } else { return true; } } if ($type === self::JOB_NOTIFY) { if (empty($this->notify_jobs)) { $this->notify_jobs = glob($this->resident_in_dir . $pattern); if (!empty($this->notify_jobs)) { return true; } } else { return true; } } return false; } protected function isUploadJob() { if ($this->isJobFileExists('/upload-jobs/*.upload_job', self::JOB_UPLOAD)) { return true; } return false; } protected function scanJob($job_file, $type) { $start_time = microtime(true); $vars = new Variables(); $vars->blacklist = $this->blacklist; $vars->maxMinUid = $type == 'notify' ? $this->maxMinUid : []; $vars->signs = $this->signs; $files_to_scan = array(); $count = 0; $job = json_decode(file_get_contents($job_file)); $file = basename($job_file); $this->debugLog("Job {$file} received from queue."); if ($type == 'notify') { $files_to_scan = $job->files; $count = count($files_to_scan); $this->debugLog("Job {$file}: notify. {$count} files to be scanned"); if ($count > $this->max_files_per_notify_scan) { $this->debugLog("Job {$file}: Too many files to scan. Job skipped."); // TODO: show a warning: too many files to scan, the job was skipped return true; } if ($this->scannedNotify + $count > $this->max_files_per_notify_scan) { $this->scannedNotify = 0; unset($vars, $files_to_scan); return false; } else { $this->scannedNotify += $count; } } elseif ($type == 'upload') { $files_to_scan = $job->files; $count = count($files_to_scan); $this->debugLog("Job {$file}: upload. {$count} files to be scanned"); if ($count > 1) { $this->debugLog("Job {$file}: Too many files to scan. Job skipped."); // TODO: show a warning: too many files to scan, the job was skipped return true; } } $vars->foundTotalFiles = $count; $scan = new Scanner($this->finder, $vars, $this->debug); if (method_exists($scan, 'QCR_GoScan')) { if ($this->systemd) { $scan->QCR_GoScan($files_to_scan, array($this, 'keepAlive'), true, false); } else { $scan->QCR_GoScan($files_to_scan, null, true, false); } $scan->whitelisting(); } $scan_time = round(microtime(true) - $start_time, 1); $this->last_scan_time = time(); $this->writeReport($vars, $scan_time, $type, $job_file); unset($vars, $files_to_scan, $scan); if (defined('PROGRESS_LOG_FILE') && file_exists(PROGRESS_LOG_FILE)) { @unlink(PROGRESS_LOG_FILE); } if (defined('CREATE_SHARED_MEMORY') && CREATE_SHARED_MEMORY) { shmop_delete(SHARED_MEMORY); } if (defined('SHARED_MEMORY')) { shmop_close(SHARED_MEMORY); } return true; } protected function isNotifyJob() { if ($this->isJobFileExists('/notify-jobs/*.notify_job', self::JOB_NOTIFY)) { return true; } return false; } protected function scanUploadJob() { if (!empty($this->upload_jobs)) { foreach ($this->upload_jobs as $index => $upload_job) { $this->scanJob($upload_job, 'upload'); $file = basename($upload_job); $this->debugLog("Job {$file}: Removing job."); unlink($upload_job); unset($this->upload_jobs[$index]); } } } protected function scanNotifyJob() { if (!empty($this->notify_jobs)) { foreach ($this->notify_jobs as $index => $job) { $res = $this->scanJob($job, 'notify'); if ($res) { $file = basename($job); $this->debugLog("Job {$file}: Removing job."); unlink($job); unset($this->notify_jobs[$index]); } else { break; } } } } public function keepAlive() { if ((int)((microtime(true) - $this->lastKeepAlive) * 1000000) > $this->interval / 2) { stream_get_contents($this->activation_socket); fwrite($this->watchdog_socket, 'WATCHDOG=1'); $this->lastKeepAlive = microtime(true); } } protected function lifeCycle() { $this->debugLog("Starting resident-mode loop."); $this->last_scan_time = time(); while (true) { if ($this->systemd) { $this->keepAlive(); } while ($this->isUploadJob()) { $this->scanUploadJob(); } while ($this->isNotifyJob() && !$this->isUploadJob()) { $this->scanNotifyJob(); } if ($this->last_scan_time + $this->stay_alive < time()) { $this->debugLog("No more jobs. Shutting down."); break; } touch($this->aibolit_status_file); usleep($this->sleep_time); // 1/10 of second by default } if ($this->systemd) { fclose($this->watchdog_socket); fclose($this->activation_socket); } unlink($this->aibolit_status_file); } protected function debugLog($message) { if ($this->logger === null) { return; } $this->logger->debug($message); } } class DebugMode { private $debugMode = false; private $debugPerfomance = false; private $perfomance_stats = []; public function __construct($debugMode, $debugPerfomance) { $this->debugMode = $debugMode; $this->debugPerfomance = $debugPerfomance; } public function QCR_Debug($par_Str = "") { if ($this->debugMode) { return; } $l_MemInfo = ' '; if (function_exists('memory_get_usage')) { $l_MemInfo .= ' curmem=' . AibolitHelpers::bytes2Human(memory_get_usage()); } if (function_exists('memory_get_peak_usage')) { $l_MemInfo .= ' maxmem=' . AibolitHelpers::bytes2Human(memory_get_peak_usage()); } stdOut("\n" . date('H:i:s') . ': ' . $par_Str . $l_MemInfo . "\n"); } public function getDebugMode() { return $this->debugMode; } public function getDebugPerfomance() { return $this->debugPerfomance; } public function addPerfomanceItem($item, $time) { $this->perfomance_stats[$item] = isset($this->perfomance_stats[$item]) ? $this->perfomance_stats[$item] + $time : 0; } public function printPerfomanceStats() { $keys = array_keys($this->perfomance_stats); for ($i = 0, $iMax = count($keys); $i < $iMax; $i++) { $this->perfomance_stats[$keys[$i]] = round($this->perfomance_stats[$keys[$i]] * 1000000); } arsort($this->perfomance_stats); foreach ($this->perfomance_stats as $r => $v) { echo $v . "\t\t" . $r . "\n"; } } } class FileInfo { private $index = 0; private $inode = 0; private $filename = ''; private $size = 0; private $created = 0; private $modified = 0; private $hash = 0; private $sha256 = 0; private $sha1file = 0; private $content = ''; private $norm_content = ''; private $is_binary = 0; private $hashtable = null; /** * @return int|string */ public function getSha1file() { if ($this->sha1file == 0) { $this->sha1file = sha1_file($this->filename); } return $this->sha1file; } public function __construct($filename, $index, $hashtable = null) { $this->index = $index; $this->filename = $filename; $this->hashtable = $hashtable; } /** * @return bool */ public function isBinary() { $header = ''; if ($this->is_binary === 0) { if ($this->content == '') { $header = @file_get_contents($this->filename, false, null, 0, 4); } else { $header = substr($this->content, 0, 4); } if ($header === chr(127) . 'ELF') { $this->is_binary = true; } else { $this->is_binary = false; } unset($header); } return $this->is_binary; } /** * @return false|mixed|string */ public function getContent() { if ($this->content == '') { $this->content = @file_get_contents($this->filename); } return $this->content; } /** * @return string */ public function getContentWithoutSpaces($max_size = false) { if($this->norm_content !== '') { return $this->norm_content; } if (!$max_size) { $this->norm_content = Normalization::strip_whitespace($this->getContent()); } else if(is_numeric($max_size)) { $this->norm_content = Normalization::strip_whitespace($this->getContentBytes($max_size)); } return $this->norm_content; } public function getContentBytes($max_bytes) { if ($this->content == '') { $this->content = @file_get_contents($this->filename, false, null, 0, $max_bytes); } return $this->content; } /** * @param $text * @return string */ private function _hash_($text) { static $r; if (empty($r)) { for ($i = 0; $i < 256; $i++) { if ($i < 33 or $i > 127) { $r[chr($i)] = ''; } } } return sha1(strtr($text, $r)); } /** * @return integer */ public function getIndex() { return $this->index; } /** * @return string */ public function getFilename() { return $this->filename; } private function _setStat() { $info = stat($this->filename); $this->size = $info['size']; $this->created = $info['ctime']; $this->modified = $info['mtime']; $this->inode = $info['ino']; } /** * @return int|mixed */ public function getSize() { if ($this->size == 0) { $this->_setStat(); } return $this->size; } /** * @return int|mixed */ public function getInode() { if ($this->inode == 0) { $this->_setStat(); } return $this->inode; } /** * @return int|mixed */ public function getCreated() { if ($this->created == 0) { $this->_setStat(); } return $this->created; } /** * @return int|mixed */ public function getModified() { if ($this->modified == 0) { $this->_setStat(); } return $this->modified; } /** * @return int|string */ public function getHash() { if ($this->hash == 0) { $this->hash = $this->_hash_($this->getContentWithoutSpaces()); } return $this->hash; } /** * @return int|string */ public function getSha256() { if ($this->hashtable !== null && $this->hashtable->get($this->filename) !== false) { $this->sha256 = $this->hashtable->get($this->filename); } if ($this->sha256 == 0) { $this->sha256 = hash('sha256', $this->getContent()); } return $this->sha256; } } class HashTable { private $hashes = []; public function add($paths, $hashes) { $this->hashes[0] = $paths; $this->hashes[1] = $hashes; } public function get($filename) { $index = array_search($filename, $this->hashes[0]); if ($index === false) { return false; } return $this->hashes[1][$index]; } } class Finder { const MAX_ALLOWED_PHP_HTML_IN_DIR = 600; private $sym_links = []; private $skipped_folders = []; private $doorways = []; private $total_dir_counter = 0; private $total_files_counter = 0; private $checked_hashes = []; private $initial_dir = ''; private $initial_level = null; private $level_limit = null; private $filter; public function __construct($filter = null, $level_limit = null) { $this->filter = $filter; $this->level_limit = $level_limit; } private function linkResolve($path) { return realpath($path); } private function resolve($path, $follow_symlinks) { if (!$follow_symlinks || !is_link($path)) { return $path; } return $this->linkResolve($path); } private function isPathCheckedAlready($path) { $root_hash = crc32($path); if (isset($this->checked_hashes[$root_hash])) { return true; } $this->checked_hashes[$root_hash] = ''; return false; } private function walk($path, $follow_symlinks) { $level = substr_count($path, '/'); if (isset($this->level_limit) && (($level - $this->initial_level + 1) > $this->level_limit)) { return; } $l_DirCounter = 0; $l_DoorwayFilesCounter = 0; if ($follow_symlinks && $this->isPathCheckedAlready($path)) { return; } # will not iterate dir, if it should be ignored if (!$this->filter->needToScan($path, false, true)) { $this->skipped_folders[] = $path; return; } $dirh = @opendir($path); if ($dirh === false) { return; } while (($entry = readdir($dirh)) !== false) { if ($entry == '.' || $entry == '..') { continue; } $entry = $path . DIRECTORY_SEPARATOR . $entry; if (is_link($entry)) { $this->sym_links[] = $entry; if (!$follow_symlinks) { continue; } $real_path = $this->resolve($entry, true); } else { $real_path = $entry; } if (is_dir($entry)) { $l_DirCounter++; if ($l_DirCounter > self::MAX_ALLOWED_PHP_HTML_IN_DIR) { $this->doorways[] = $path; $l_DirCounter = -655360; } $this->total_dir_counter++; yield from $this->walk($real_path, $follow_symlinks); } else if (is_file($entry)) { $stat = stat($entry); if (!$stat) { continue; } if (is_callable([$this->filter, 'checkShortExt']) && $this->filter->checkShortExt($entry)) { $l_DoorwayFilesCounter++; if ($l_DoorwayFilesCounter > self::MAX_ALLOWED_PHP_HTML_IN_DIR) { $this->doorways[] = $path; $l_DoorwayFilesCounter = -655360; } } if ($follow_symlinks && $this->isPathCheckedAlready($real_path)) { continue; } $need_to_scan = $this->filter->needToScan($real_path, $stat); if ($need_to_scan) { $this->total_files_counter++; yield $real_path; } } } closedir($dirh); } private function expandPath($path, $follow_symlinks) { if ($path) { if (is_dir($path)) { yield from $this->walk($path, $follow_symlinks); } else { $need_to_scan = $this->filter->needToScan($path); if ($need_to_scan) { yield $path; } } } } public function find($target) { if ($target === '/') { $target = '/*'; } if (is_string($target) && substr($target, -1) == DIRECTORY_SEPARATOR) { $target = substr($target, 0, -1); } # We shouldn't use iglob for list of paths, # cause they cannot contain * or regexp # but can contain invalid sequence e.g. [9-0] if (is_callable([$this->filter, 'generateCheckers'])) { $this->filter->generateCheckers(); } $paths = is_array($target) ? $target : new GlobIterator($target, FilesystemIterator::CURRENT_AS_PATHNAME); foreach ($paths as $path) { $this->initial_dir = realpath($path); $this->initial_level = substr_count($this->initial_dir, '/'); $path = $this->linkResolve($path); yield from $this->expandPath($path, $this->filter->isFollowSymlink()); } } private function convertTemplatesToRegexp($templates) { return '~(' . str_replace([',', '.', '*'], ['|', '\\.', '.*'], $templates) . ')~i'; } public function setLevelLimit($level) { $this->level_limit = $level; } public function getSymlinks() { return $this->sym_links; } public function getDoorways() { return $this->doorways; } public function skippedDirs() { return $this->skipped_folders; } public function getTotalDirs() { return $this->total_dir_counter; } public function getTotalFiles() { return $this->total_files_counter; } } class FileFilter { const LOG_AND_MAIL_PATTERN = [ '/sess\_\w*$', '/stat/usage\_\w+\.html', '/stat/site\_\w+\.html', '/webstat/awstats.*\.txt', '/awstats/awstats.*\.txt', '/awstats/.{1,80}\.pl', '/awstats/.{1,80}\.html', '/logs/error\_log\..*', '/logs/xferlog\..*', '/logs/access\_log\..*', '/domlogs/.+', '/logs/cron\..*', '/logs/exceptions/.+\.log(?:\.\d)?(?:\.gz)?$', '/mail(?:/[^/]+)*/[^,]+,S=[^,]+,W=.+', '/mail(?:/[^/]+)*/[^,]+,S=.+', '/mail(?:/[^/]+)*/storage/u\.[0-9]+', '/mail(?:/[^/]+)*/storage/m\.[0-9]+', '/Maildir(?:/[^/]+)*/[^,]+,S=[^,]+,W=.+', '/Maildir(?:/[^/]+)*/[^,]+,S=.+', '^/var/ossec/.*', ]; const IMUNIFY_LOG_PATTERN = [ '/var/log/imunify360/acronis-installer\.log$', '/var/log/imunify360/console\.log(?:\.\d)?(?:\.gz)?$', '/var/log/imunify360/debug\.log$', '/var/log/imunify360/error\.log$', '/var/log/install-mod\_remoteip\.log(?:\.\d{1.4})?(?:\.pid)?r$', '/var/log/imunify360/malware\_scan\_\d{10}\.log$', '/var/log/imunify360/network\.log$', '/var/log/imunify360/process\_message\.log$', '/var/log/imunify360-webshield/access.log(?:-\d{8})?(?:.gz)?$', '/var/log/imunify360-webshield/error.log(?:-\d{8})?(?:.gz)?$', '/.revisium_antivirus_cache/.revisium\d+/', '/admin/plib/modules/revisium-antivirus/library/externals/', ]; const IMUNIFY_DIRS = [ '/etc/cagefs/conf.d/ai-bolit.cfg', '/etc/cagefs/conf.d/clamav.cfg', '/etc/cagefs/exclude/imunify360', '/etc/chkserv.d/imunify-antivirus', '/etc/chkserv.d/imunify360-agent', '/etc/cron.daily/imunify-antivirus.cron', '/etc/cron.daily/imunify360.cron', '/etc/imunify360-webshield', '/etc/imunify360', '/etc/logrotate.d/imunify360', '/etc/nginx/conf.d/i360.remoteip.conf', '/etc/sysconfig/imunify360', '/opt/ai-bolit', '/opt/alt/python35/bin/imunify360-agent', '/opt/alt/python35/bin/imunify360-command-wrapper', '/opt/alt/python35/lib/python3.5/site-packages/defence360agent', '/opt/alt/python35/share/imunify360', '/run/chkservd/imunify360-webshield', '/run/chkservd/restart_track/imunify360-webshield', '/run/imunify360-webshield.pid', '/usr/bin/imunify-antivirus', '/usr/bin/imunify360-agent', '/usr/bin/imunify360-command-wrapper', '/usr/lib/systemd/system/imunify-antivirus.service', '/usr/lib/systemd/system/imunify360-pure.service', '/usr/lib/systemd/system/imunify360-webshield', '/usr/lib/systemd/system/imunify360.service', '/usr/local/cpanel/base/frontend/paper_lantern/imunify', '/usr/local/directadmin/plugins/Imunify', '/usr/sbin/imunify360-webshield', '/var/cache/imunify360-webshield', '/var/cpanel/apps', '/var/imunify360', '/var/log/cloudlinux-backup-util' ]; const SHORT_LIST_EXT = [ 'php', 'php3', 'php4', 'php5', 'php7', 'pht', 'html', 'htm', 'phtml', 'shtml', 'khtml', '', 'ico', 'txt' ]; const SUSPICIOUS_EXT = [ 'cgi', 'pl', 'o', 'so', 'py', 'sh', 'phtml', 'php3', 'php4', 'php5', 'php6', 'php7', 'pht', 'shtml' ]; private $sensitiveExt = [ 'php', 'js', 'json', 'htaccess', 'html', 'htm', 'tpl', 'inc', 'css', 'txt', 'sql', 'ico', '', 'susp', 'suspected', 'zip', 'tar' ]; const SKIP_SMART_MASK = [ '/template_\w{32}.css', '/cache/templates/.{1,150}\.tpl\.php', '/system/cache/templates_c/\w{1,40}\.php', '/assets/cache/rss/\w{1,60}', '/cache/minify/minify_\w{32}', '/cache/page/\w{32}\.php', '/cache/object/\w{1,10}/\w{1,10}/\w{1,10}/\w{32}\.php', '/cache/wp-cache-\d{32}\.php', '/cache/page/\w{32}\.php_expire', '/cache/page/\w{32}-cache-page-\w{32}\.php', '\w{32}-cache-com_content-\w{32}\.php', '\w{32}-cache-mod_custom-\w{32}\.php', '\w{32}-cache-mod_templates-\w{32}\.php', '\w{32}-cache-_system-\w{32}\.php', '/cache/twig/\w{1,32}/\d+/\w{1,100}\.php', '/autoptimize/js/autoptimize_\w{32}\.js', '/bitrix/cache/\w{32}\.php', '/bitrix/cache/.{1,200}/\w{32}\.php', '/bitrix/cache/iblock_find/', '/bitrix/managed_cache/MYSQL/user_option/[^/]+/', '/bitrix/cache/s1/bitrix/catalog\.section/', '/bitrix/cache/s1/bitrix/catalog\.element/', '/bitrix/cache/s1/bitrix/menu/', '/catalog.element/[^/]+/[^/]+/\w{32}\.php', '/bitrix/managed\_cache/.{1,150}/\.\w{32}\.php', '/core/cache/mgr/smarty/default/.{1,100}\.tpl\.php', '/core/cache/resource/web/resources/[0-9]{1,50}\.cache\.php', '/smarty/compiled/SC/.{1,100}/%%.{1,200}\.php', '/smarty/.{1,150}\.tpl\.php', '/smarty/compile/.{1,150}\.tpl\.cache\.php', '/files/templates_c/.{1,150}\.html\.php', '/uploads/javascript_global/.{1,150}\.js', '/assets/cache/rss/\w{32}', 'сore/cache/resource/web/resources/\d+\.cache\.php', '/assets/cache/docid_\d+_\w{32}\.pageCache\.php', '/t3-assets/dev/t3/.{1,150}-cache-\w{1,20}-.{1,150}\.php', '/t3-assets/js/js-\w{1,30}\.js', '/temp/cache/SC/.{1,100}/\.cache\..{1,100}\.php', '/tmp/sess\_\w{32}$', '/assets/cache/docid\_.{1,100}\.pageCache\.php', '/stat/usage\_\w{1,100}\.html', '/stat/site\_\w{1,100}\.html', '/gallery/item/list/\w{1,100}\.cache\.php', '/core/cache/registry/.{1,100}/ext-.{1,100}\.php', '/core/cache/resource/shk\_/\w{1,50}\.cache\.php', '/cache/\w{1,40}/\w+-cache-\w+-\w{32,40}\.php', '/webstat/awstats.{1,150}\.txt', '/awstats/awstats.{1,150}\.txt', '/awstats/.{1,80}\.pl', '/awstats/.{1,80}\.html', '/inc/min/styles_\w+\.min\.css', '/inc/min/styles_\w+\.min\.js', '/logs/error\_log\.', '/logs/xferlog\.', '/logs/access_log\.', '/logs/cron\.', '/logs/exceptions/.{1,200}\.log$', '/hyper-cache/[^/]{1,50}/[^/]{1,50}/[^/]{1,50}/index\.html', '/mail/new/[^,]+,S=[^,]+,W=', '/mail/new/[^,]=,S=', '/application/logs/\d+/\d+/\d+\.php', '/sites/default/files/js/js_\w{32}\.js', '/yt-assets/\w{32}\.css', '/wp-content/cache/object/\w{1,5}/\w{1,5}/\w{32}\.php', '/catalog\.section/\w{1,5}/\w{1,5}/\w{32}\.php', '/simpla/design/compiled/[\w\.]{40,60}\.php', '/compile/\w{2}/\w{2}/\w{2}/[\w.]{40,80}\.php', '/sys-temp/static-cache/[^/]{1,60}/userCache/[\w\./]{40,100}\.php', '/session/sess_\w{32}', '/webstat/awstats\.[\w\./]{3,100}\.html', '/stat/webalizer\.current', '/stat/usage_\d+\.html' ]; private $ignoreExt = []; private $ignoreListPatterns = []; private $ignoreList = null; private $ignoreFilenameByRegexp = null; private $onlyFilepathRegexp = null; private $skipFilesOlder = null; private $initialDir = null; private $file_checkers = []; private $dir_checkers = []; private $excludes = []; private $check_is_not_root; private $check_is_not_system; private $check_is_file; private $ignore_quar; private $check_file_older; private $check_ignore_file; private $check_ignore_filename_template; private $check_only_filepath_template; private $check_scope; private $check_ext; private $ignore_ext; private $check_short_ext; private $ignore_path_pattern; private $skipRootOwner = false; private $skipSystemOwner = false; private $followSymlink = false; private $ignoreQuarantine = false; private $scanAllExt = false; private $smartScan = false; private $imunify_filters = false; private $ignored_av_admin = false; private $ignored_av_internal = false; private $admin_watched = false; private $ignore_symlink = true; private $match_patterns = []; private $no_match_patterns = []; private $ignored_av_admin_file = '/etc/sysconfig/imunify360/malware-filters-admin-conf/processed/ignored/av-admin.txt'; private $ignored_av_internal_file = '/etc/sysconfig/imunify360/malware-filters-admin-conf/processed/ignored/av-internal.txt'; private $admin_watched_file = '/etc/sysconfig/imunify360/malware-filters-admin-conf/admin/watched.txt'; private $basedirs_file = '/etc/sysconfig/imunify360/malware-filters-admin-conf/processed/basedirs-list.txt'; private function getIgnoredAVAdmin() { if (!$this->ignored_av_admin) { $this->ignored_av_admin = trim(file_get_contents($this->ignored_av_admin_file)); } return $this->ignored_av_admin; } private function getIgnoredAVInternal() { if (!$this->ignored_av_internal) { $this->ignored_av_internal = trim(file_get_contents($this->ignored_av_internal_file)); } return $this->ignored_av_internal; } private function getBaseDirs() { return file($this->basedirs_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); } private function fixTrailingSlash($path) { if ($path[0] !== '/') { $path = '/' . $path; } return $path; } private function resolveBaseDirs($basedirs, $path) { $result = []; $tmp = substr($path, 1); $tmp = $this->fixTrailingSlash($tmp); foreach ($basedirs as $dir) { $result [] = $dir . $tmp; } return $result; } private function processWatchedItems($basedirs, $paths) { $result = []; foreach ($paths as $item) { $item = trim($item); if ($item[0] === '#') { continue; } else if ($item[0] === '+') { $result = array_merge($result, $this->resolveBaseDirs($basedirs, $item)); } else { $result[] = $item; } } return $result; } private function getAdminWatched() { if (!$this->admin_watched) { $this->admin_watched = []; $basedirs = $this->getBaseDirs(); $paths = file($this->admin_watched_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); $this->admin_watched = $this->processWatchedItems($basedirs, $paths); } return $this->admin_watched; } public function setSmartScan() { $this->smartScan = true; } public function isSmartScan() { return $this->smartScan; } public function setImunifyFilters() { $this->imunify_filters = true; } public function setScanAll() { $this->scanAllExt = true; } public function setIgnoreExt($ext_list) { if (!$ext_list) { return; } $this->ignoreExt = explode(',', $ext_list); for ($i = 0, $iMax = count($this->ignoreExt); $i < $iMax; $i++) { $this->ignoreExt[$i] = trim($this->ignoreExt[$i]); } $this->ignoreExt = array_flip($this->ignoreExt); } public function setSensitiveExt($ext_list) { if (!$ext_list) { return; } $this->sensitiveExt = explode(",", $ext_list); for ($i = 0, $iMax = count($this->sensitiveExt); $i < $iMax; $i++) { if ($this->sensitiveExt[$i] == '.') { $this->sensitiveExt[$i] = ''; } } $this->sensitiveExt = array_flip($this->sensitiveExt); } public function getSensitiveExt() { return array_flip($this->sensitiveExt); } public function setIgnoreListPatterns($filepath) { if (!file_exists($filepath) || !is_file($filepath) || !is_readable($filepath)) { return; } $this->ignoreListPatterns = []; $content = file_get_contents($filepath); $list = explode("\n", $content); foreach ($list as $pattern) { if (trim($pattern) == '') { continue; } $this->ignoreListPatterns[] = $pattern; } } public function __construct() { $this->sensitiveExt = array_merge($this->sensitiveExt, self::SUSPICIOUS_EXT); $this->sensitiveExt = array_flip($this->sensitiveExt); $this->ignore_quar = function ($file) { if (strpos($file, '/.imunify.quarantined') !== false) { $st = stat($file); if (!$st) { return false; } return $st['uid'] !== 0; } return true; }; $this->ignore_excludes = function ($file) { $tree = $this->getTree($file); if ($this->pathRelatesTo($tree, $this->excludes)) { return false; } return true; }; $this->check_file_older = function ($file) { return (@filemtime($file) > $this->skipFilesOlder) || (@filectime($file) > $this->skipFilesOlder); }; $this->check_ignore_file = function ($file) { $tree = $this->getTree($file); if ($this->pathRelatesTo($tree, $this->ignoreList, true)) { return false; } return true; }; $this->check_ignore_filename_template = function ($file) { return !preg_match($this->ignoreFilenameByRegexp, basename($file)); }; $this->check_only_filepath_template = function ($file) { return preg_match($this->onlyFilepathRegexp, $file); }; $this->check_is_not_root = function ($file) { $stat = stat($file); return $stat['gid'] !== 0 && $stat['uid'] !== 0; }; $this->check_is_not_system = function ($file) { $stat = stat($file); return ($stat['uid'] >= $this->skipSystemOwner[0] && $stat['uid'] <= $this->skipSystemOwner[1]); }; $this->check_is_file = function ($file) { return is_file($file); }; $this->check_file_patterns = function ($file) { foreach($this->match_patterns as $pattern) { $match = fnmatch($pattern, $file); if ($match) { return $match; } } return false; }; $this->check_file_not_patterns = function ($file) { foreach($this->no_match_patterns as $pattern) { $match = fnmatch($pattern, $file); if ($match) { return !$match; } } return true; }; $this->ignore_symlink = function ($file) { return !is_link($file); }; $this->check_scope = function ($file) { return strpos($file, $this->initialDir) === 0; }; $this->ignore_dots = function ($file) { return !($file == '.' || $file == '..'); }; $this->check_ext = function ($file) { if ($this->scanAllExt) { return true; } $ext = strtolower(pathinfo($file, PATHINFO_EXTENSION)); return isset($this->sensitiveExt[$ext]); }; $this->ignore_ext = function ($file) { $ext = strtolower(pathinfo($file, PATHINFO_EXTENSION)); return !isset($this->ignoreExt[$ext]); }; $this->check_short_ext = function ($file) { $ext = strtolower(pathinfo($file, PATHINFO_EXTENSION)); return in_array($ext, self::SHORT_LIST_EXT); }; $this->ignore_path_pattern = function ($file) { foreach ($this->ignoreListPatterns as $pattern) { if (($pattern != '') && preg_match('#' . $pattern . '#', $file)) { return false; } } return true; }; $this->imunify_filter = function ($file) { if (preg_match('~' . $this->getIgnoredAVAdmin() . '~msi', $file)) { return false; } if (preg_match('~' . $this->getIgnoredAVInternal() . '~msi', $file)) { foreach ($this->getAdminWatched() as $rec_watched) { if (fnmatch($rec_watched, $file)) { return true; } } return false; } return true; }; $this->excludes = array_flip(self::IMUNIFY_DIRS); $this->file_checkers[] = $this->ignore_path_pattern; $this->file_checkers[] = $this->check_is_file; $this->file_checkers[] = $this->check_ext; $this->file_checkers[] = $this->ignore_excludes; $this->dir_checkers[] = $this->ignore_path_pattern; $this->dir_checkers[] = $this->ignore_excludes; $this->dir_checkers[] = $this->ignore_dots; } public function setIgnoreListFile($filepath) { if (!file_exists($filepath) || !is_file($filepath) || !is_readable($filepath)) { return; } $this->ignoreList = []; $content = file_get_contents($filepath); $list = explode("\n", $content); foreach ($list as $base64_filepath) { if ($base64_filepath !== '') { $this->ignoreList[$base64_filepath] = ''; } } } public function setIgnoreFilenames($templates) { if (!$templates) { return; } $this->no_match_patterns = explode(',', $templates); for ($i = 0, $iMax = count($this->no_match_patterns); $i < $iMax; $i++) { $this->no_match_patterns[$i] = trim($this->no_match_patterns[$i]); } } public function setOnlyFilepaths($templates) { if (empty($templates)) { return; } $this->match_patterns = explode(',', $templates); for ($i = 0, $iMax = count($this->match_patterns); $i < $iMax; $i++) { $this->match_patterns[$i] = trim($this->match_patterns[$i]); } } public function setSkipFilesOlder($unix_timestamp) { $this->skipFilesOlder = $unix_timestamp; } public function setSkipRootOwner() { $this->skipRootOwner = true; } public function setSkipSystemOwner($min_max_uid) { if (is_array($min_max_uid)) { $this->skipSystemOwner = $min_max_uid; } } public function setFollowSymlink() { $this->followSymlink = true; } public function isFollowSymlink() { return $this->followSymlink; } public function setIgnoreQuarantine() { $this->ignoreQuarantine = true; } public function generateCheckers() { $file_checkers = $this->file_checkers; if ($this->match_patterns) { $file_checkers[] = $this->check_file_patterns; } if ($this->no_match_patterns) { $file_checkers[] = $this->check_file_not_patterns; } if ($this->skipRootOwner) { $file_checkers[] = $this->check_is_not_root; } if ($this->skipSystemOwner && is_array($this->skipSystemOwner)) { $file_checkers[] = $this->check_is_not_system; } $dir_checkers = $this->dir_checkers; if(!$this->followSymlink) { $dir_checkers[] = $this->ignore_symlink; } if ($this->ignoreQuarantine) { $dir_checkers[] = $this->ignore_quar; } if ($this->skipFilesOlder) { $file_checkers[] = $this->check_file_older; } if ($this->ignoreFilenameByRegexp) { $file_checkers[] = $this->check_ignore_filename_template; } if (!empty($this->ignoreList)) { $file_checkers[] = $this->check_ignore_file; $dir_checkers[] = $this->check_ignore_file; } if ($this->onlyFilepathRegexp) { $file_checkers[] = $this->check_only_filepath_template; } if (!empty($this->ignoreExt)) { $file_checkers[] = $this->ignore_ext; } if ($this->imunify_filters) { $file_checkers[] = $this->imunify_filter; } $this->ignoreListPatterns = array_merge($this->ignoreListPatterns, self::IMUNIFY_LOG_PATTERN, self::LOG_AND_MAIL_PATTERN); if($this->smartScan) { $this->ignoreListPatterns = array_merge($this->ignoreListPatterns, self::SKIP_SMART_MASK); } $this->file_checkers = $file_checkers; $this->dir_checkers = $dir_checkers; } public function getFileCheckers() { return $this->file_checkers; } public function getDirCheckers() { return $this->dir_checkers; } private function check($file, $where, $stat = false) { if (!$file) { return false; } if (!$stat) { $stat = stat($file); } foreach ($where as $func) { if(empty($func)) { continue; } if (!$func($file, $stat)) { return false; } } return true; } public function needToScan($file, $stat = false, $only_dir = false) { if (!$file) { return false; } if (!$stat) { $stat = @stat($file); if (!$stat) { return false; } } if (!$only_dir && !$this->check($file, $this->getFileCheckers(), $stat)) { return false; } if (!$this->check($file, $this->getDirCheckers(), $stat)) { return false; } return true; } private function getTree($file) { $tree = []; $path = $file; $i = 1; while ($path !== '.' && $path !== '/') { $path = dirname($path, $i); $tree[] = $path; $i++; } $tree[] = $file; return $tree; } private function pathRelatesTo($tree, $pathes, $base64 = false) { foreach ($tree as $path) { if ($base64) { $path = base64_encode($path); } if (isset($pathes[$path])) { return true; } } return false; } public function checkShortExt($path) { return $this->check_short_ext->call($this, $path); } } class Scanner { private $addPrefix; private $noPrefix; private $finder; private $vars; private $debug; public function __construct($finder, $vars, $debug = null) { $this->addPrefix = isset($vars->options['addprefix']) ? $vars->options['addprefix'] : ''; $this->noPrefix = isset($vars->options['noprefix']) ? $vars->options['noprefix'] : '';; $this->finder = $finder; $this->vars = $vars; $this->suspicious = isset($vars->options['with-suspicious']); $this->debug = $debug; } private function CloudAssitedFilter($files_list) { $black_files = []; $white_files = []; try { $car = Factory::instance()->create(CloudAssistedRequest::class, [CLOUD_ASSIST_TOKEN]); $cloud_assist_files = new CloudAssistedFiles($car, $files_list, $this->vars); $white_files = $cloud_assist_files->getWhiteList(); $black_files = $cloud_assist_files->getBlackList(); unset($cloud_assist_files); } catch (\Exception $e) { fwrite(STDERR, 'Warning: [CAS] ' . $e->getMessage() . PHP_EOL); if (isset($this->debug)) { $this->debug->QCR_Debug($e->getMessage()); } } $this->vars->blackFiles = array_diff_assoc(array_merge($this->vars->blackFiles, $black_files), $white_files); return array_diff($files_list, array_keys($black_files), array_keys($white_files)); } public function QCR_ScanDirectories($l_RootDir) { static $l_Buffer = ''; if (isset($this->debug)) { $this->debug->QCR_Debug('Scan ' . $l_RootDir); } $listFiles = $this->finder->find($l_RootDir); foreach ($listFiles as $l_FileName) { if (ONE_PASS) { $this->QCR_ScanFile($l_FileName, $this->vars, null, $this->vars->counter++); } else { $l_Buffer .= FilepathEscaper::encodeFilepathByBase64($l_FileName) . "\n"; } $this->vars->counter++; if (strlen($l_Buffer) > 32000) { file_put_contents(QUEUE_FILENAME, $l_Buffer, FILE_APPEND) || die2("Cannot write to file " . QUEUE_FILENAME); $l_Buffer = ''; } } $this->vars->symLinks = $this->finder->getSymlinks(); $this->vars->doorway = $this->finder->getDoorways(); $this->vars->foundTotalDirs = $this->finder->getTotalDirs(); $this->vars->foundTotalFiles = $this->finder->getTotalFiles(); if (!empty($l_Buffer) && (isset($this->vars->options['use-template-in-path']) || $l_RootDir == ROOT_PATH ) ) { file_put_contents(QUEUE_FILENAME, $l_Buffer, FILE_APPEND) || die2("Cannot write to file " . QUEUE_FILENAME); $l_Buffer = ''; } unset($listFiles); } public function QCR_GoScan($s_file, $callback = null, $base64_encoded = true, $skip_first_line = false) { if (isset($this->debug)) { $this->debug->QCR_Debug('QCR_GoScan '); } try { $i = 0; $filesForCloudAssistedScan = []; foreach ($s_file as $index => $filepath_encoded) { if ($callback !== null) { $this->callCallback($callback); } if ($skip_first_line && $index == 0) { $i = 1; continue; } $filepath = $base64_encoded ? FilepathEscaper::decodeFilepathByBase64($filepath_encoded) : $filepath_encoded; if (!file_exists($filepath) || !is_file($filepath) || !is_readable($filepath)) { continue; } if (!empty($this->vars->maxMinUid)) { $stat = stat($filepath); if (!($stat['uid'] >= $this->vars->maxMinUid[0] && $this->stat['uid'] <= $this->vars->maxMinUid[1])) { continue; } } $filesize = filesize($filepath); if ($filesize > MAX_FILE_SIZE_FOR_CHECK || $filesize < MIN_FILE_SIZE_FOR_CHECK) { continue; } if (substr($filepath, -1) == DIR_SEPARATOR || !defined('CLOUD_ASSIST_TOKEN')) { $this->QCR_ScanFile($filepath, $this->vars, $callback, $i++); continue; } if ($this->isFileTooBigForCloudscan($filesize)) { $this->QCR_ScanFile($filepath, $this->vars, $callback, $i++); continue; } // collecting files to scan with Cloud Assistant $filesForCloudAssistedScan[] = $filepath; } if (count($filesForCloudAssistedScan) == 0) { return; } if (defined('RAPID_ACCOUNT_SCAN')) { $cloud_assited_storage = Factory::instance()->create(CloudAssistedStorage::class, [RAPID_ACCOUNT_SCAN]); $storage = Factory::instance()->create(RapidScanStorage::class, [RAPID_ACCOUNT_SCAN]); /** @var RapidAccountScan $scanner */ $scanner = Factory::instance()->create(RapidAccountScan::class, [$this, $storage, $cloud_assited_storage, &$this->vars, $i]); $scanner->scan($filesForCloudAssistedScan, $this->vars, constant('RapidAccountScan::RESCAN_' . RAPID_ACCOUNT_SCAN_TYPE)); if ($scanner->getStrError()) { if (isset($this->debug)) { $this->debug->QCR_Debug('Rapid scan log: ' . $scanner->getStrError()); } } $this->vars->rescanCount += $scanner->getRescanCount(); } else { $scan_bufer_files = function ($files_list, &$i) use ($callback) { $this->vars->hashtable = new HashTable(); $files_to_scan = $this->CloudAssitedFilter($files_list); foreach ($files_to_scan as $filepath) { $this->QCR_ScanFile($filepath, $this->vars, $callback, $i++); } $this->vars->hashtable = null; }; $files_bufer = []; foreach ($filesForCloudAssistedScan as $l_Filename) { $files_bufer[] = $l_Filename; if (count($files_bufer) >= CLOUD_ASSIST_LIMIT) { $scan_bufer_files($files_bufer, $i); $files_bufer = []; } } if (count($files_bufer)) { $scan_bufer_files($files_bufer, $i); } unset($files_bufer); } } catch (Exception $e) { if (isset($this->debug)) { $this->debug->QCR_Debug($e->getMessage()); } } } public function QCR_ScanFile($l_Filename, $vars, $callback = null, $i = 0, $show_progress = true) { $return = array(RapidScanStorageRecord::RX_GOOD, '', ''); $g_SkipNextCheck = false; /** @var CriticalFileSpecification $criticalFileSpecification */ $criticalFileSpecification = Factory::instance()->create(CriticalFileSpecification::class); if ($vars->fileinfo !== null) { if ($l_Filename !== $vars->fileinfo->getFilename()) { unset($file); $vars->fileinfo = null; } } if ($vars->fileinfo == null) { $file = new FileInfo($l_Filename, $i, $vars->hashtable); $vars->fileinfo = $file; } $file = $vars->fileinfo; $vars->crc = 0; $l_CriticalDetected = false; if (substr($l_Filename, -1) == DIR_SEPARATOR) { // FOLDER $vars->structure['n'][$i] = $l_Filename; $vars->totalFolder++; printProgress($vars->files_and_ignored, $l_Filename, $vars); unset($file); $vars->fileinfo = null; return null; } if (isset($this->debug)) { $this->debug->QCR_Debug('Scan file ' . $l_Filename); } if ($show_progress) { printProgress(++$vars->files_and_ignored, $l_Filename, $vars); } $l_Ext = strtolower(pathinfo($l_Filename, PATHINFO_EXTENSION)); $l_Content = ''; if ($file->isBinary()) { if(defined('USE_HEURISTICS') || defined('USE_HEURISTICS_SUSPICIOUS')) { $vars->crc = $file->getSha1file(); $this->AddResult($file, $i, $vars); if (defined('USE_HEURISTICS')) { $vars->criticalPHP[] = $i; $vars->criticalPHPFragment[] = 'SMW-HEUR-ELF'; $vars->criticalPHPSig[] = 'SMW-HEUR-ELF'; } if (defined('USE_HEURISTICS_SUSPICIOUS')) { $vars->warningPHP[] = $i; $vars->warningPHPFragment[] = 'SMW-HEUR-ELF'; $vars->warningPHPSig[] = 'SMW-HEUR-ELF'; } $return = array(RapidScanStorageRecord::HEURISTIC, 'SMW-HEUR-ELF', 'SMW-HEUR-ELF'); unset($file); $vars->fileinfo = null; return $return; } unset($file); $vars->fileinfo = null; return null; } // FILE $is_too_big = $this->isFileTooBigForScanWithSignatures($file->getSize()); $hash = $file->getSha1file(); $l_TSStartScan = microtime(true); if ($this->check_binmalware($hash)) { $vars->totalFiles++; $vars->crc = $hash; $this->AddResult($file, $i, $vars); $vars->criticalPHP[] = $i; $vars->criticalPHPFragment[] = "BIN-" . $vars->crc; $vars->criticalPHPSig[] = "bin_" . $vars->crc; $return = array(RapidScanStorageRecord::RX_MALWARE, "bin_" . $vars->crc, "BIN-" . $vars->crc); } elseif (!MAX_SIZE_SCAN_BYTES && $is_too_big) { $vars->bigFiles[] = $i; if (function_exists('aibolit_onBigFile')) { aibolit_onBigFile($l_Filename); } $this->AddResult($file, $i, $vars); if ((!AI_HOSTER) && $criticalFileSpecification->satisfiedBy($l_Ext, 'extensions')) { $vars->criticalPHP[] = $i; $vars->criticalPHPFragment[] = "BIG FILE. SKIPPED."; $vars->criticalPHPSig[] = "big_1"; } } else { $vars->totalFiles++; $file_type = filetype($l_Filename); if ($file_type == 'file' || (isset($vars->options['follow-symlink']) && $file_type == 'link')) { if ($is_too_big && MAX_SIZE_SCAN_BYTES) { $l_Content = $file->getContentBytes(MAX_SIZE_SCAN_BYTES); } else { $l_Content = $file->getContent(); } $l_Unwrapped = $file->getContentWithoutSpaces(MAX_SIZE_SCAN_BYTES); } if (($l_Content == '' || $l_Unwrapped == '') && $file->getSize() > 0) { $vars->notRead[] = $i; if (function_exists('aibolit_onReadError')) { aibolit_onReadError($l_Filename, 'io'); } $return = array(RapidScanStorageRecord::CONFLICT, 'notread',''); $this->AddResult('[io] ' . $l_Filename, $i, $vars); unset($file); $vars->fileinfo = null; return $return; } // ignore itself if (strpos($l_Content, 'b48ff5faef01347e58a53cfcc7d357b7') !== false) { unset($file); $vars->fileinfo = null; return false; } $vars->crc = $file->getHash(); $l_UnicodeContent = Encoding::detectUTFEncoding($l_Content); //$l_Unwrapped = $l_Content; // check vulnerability in files $l_CriticalDetected = $this->CheckVulnerability($l_Filename, $i, $l_Content, $vars); if ($l_UnicodeContent !== false) { if (Encoding::iconvSupported()) { $l_Unwrapped = Encoding::convertToCp1251($l_UnicodeContent, $l_Unwrapped); } else { $vars->notRead[] = $i; if (function_exists('aibolit_onReadError')) { aibolit_onReadError($l_Filename, 'ec'); } $return = array(RapidScanStorageRecord::CONFLICT, 'no_iconv', ''); $this->AddResult('[ec] ' . $l_Filename, $i, $vars); } } // critical $g_SkipNextCheck = false; if ((!AI_HOSTER) || AI_DEOBFUSCATE) { $l_DeobfObj = new Deobfuscator($l_Unwrapped, $l_Content); $l_DeobfType = $l_DeobfObj->getObfuscateType($l_Unwrapped); } if (isset($l_DeobfType) && $l_DeobfType != '') { $l_Unwrapped = $l_DeobfObj->deobfuscate(); $g_SkipNextCheck = $this->checkFalsePositives($l_Filename, $l_Unwrapped, $l_DeobfType, $vars); } else { if (DEBUG_MODE) { stdOut("\n...... NOT OBFUSCATED\n"); } } $l_Unwrapped = Normalization::normalize($l_Unwrapped); $precheck = function ($type, $content) use ($l_Ext, $criticalFileSpecification) { $critical_params = [ 'CriticalPHP' => ['extensions', 'critical_content'], 'CriticalPHP_2' => ['extensions', 'critical_content'], 'CriticalPHP_3' => ['extensions', 'critical_content'], 'CriticalPHP_4' => ['extensions', 'critical_content'], 'CriticalPHP_5' => ['extensions', 'critical_content'], 'CriticalPHPGIF' => ['extensions', 'critical_content'], 'CriticalPHPUploader' => ['extensions', 'critical_content'], 'CriticalJS' => ['js_extensions', 'critical_js_content'], 'CriticalJS_PARA' => ['js_extensions', 'critical_js_content'], 'Phishing' => ['phish_extensions', 'critical_phish_content'], ]; if (!SMART_SCAN || !isset($critical_params[$type])) { return true; } if (isset($check_params[$type])) { $this->satisfiedBySmartScan($criticalFileSpecification, $l_Ext, $content, $check_params[$type][0], $check_params[$type][1]); } }; $processResult = function ($checker, $content, $l_Pos, $l_SigId, &$return) use (&$vars, $l_Ext, $i) { $checkers = [ 'CriticalPHP' => ['criticalPHP', 'criticalPHPFragment', 'criticalPHPSig'], 'CriticalPHP_2' => ['criticalPHP', 'criticalPHPFragment', 'criticalPHPSig'], 'CriticalPHP_3' => ['criticalPHP', 'criticalPHPFragment', 'criticalPHPSig'], 'CriticalPHP_4' => ['criticalPHP', 'criticalPHPFragment', 'criticalPHPSig'], 'CriticalPHP_5' => ['criticalPHP', 'criticalPHPFragment', 'criticalPHPSig'], 'CriticalPHPGIF' => ['criticalPHP', 'criticalPHPFragment', 'criticalPHPSig'], 'CriticalPHPUploader' => ['criticalPHP', 'criticalPHPFragment', 'criticalPHPSig'], 'CriticalJS' => ['criticalJS', 'criticalJSFragment', 'criticalJSSig'], 'CriticalJS_PARA' => ['criticalJS', 'criticalJSFragment', 'criticalJSSig'], 'WarningPHP' => ['warningPHP', 'warningPHPFragment', 'warningPHPSig'], 'Phishing' => ['phishing', 'phishingFragment', 'phishingSigFragment'], 'Adware' => ['adwareList', 'adwareListFragment'], ]; if (strpos($checker, 'Critical') !== false) { if ($l_Ext == 'js') { $checker = 'CriticalJS'; } $return = array(RapidScanStorageRecord::RX_MALWARE, $l_SigId, $this->getFragment($content, $l_Pos)); } if ($checker == 'WarningPHP' || $checker == 'Phishing') { $return = array(RapidScanStorageRecord::RX_SUSPICIOUS, $l_SigId, $this->getFragment($content, $l_Pos)); } $vars->{$checkers[$checker][0]}[] = $i; $vars->{$checkers[$checker][1]}[] = $this->getFragment($content, $l_Pos); if (isset($checkers[$checker][2])) { $vars->{$checkers[$checker][2]}[] = $l_SigId; } }; $l_Pos = 0; $l_SigId = ''; if (!$g_SkipNextCheck) { $checkers['CriticalPHP'] = true; if (AI_EXPERT_MODE > 0) { $checkers['CriticalPHP_3'] = true; } if (AI_EXPERT_MODE > 1) { $checkers['CriticalPHP_2'] = true; } $checkers['CriticalPHP_4'] = true; if (AI_EXPERT_MODE > 0) { $checkers['CriticalPHP_5'] = true; } if (!AI_HOSTER && AI_EXPERT > 0 && $l_Ext == 'php') { $checkers['CriticalPHPGIF'] = true; } if (!AI_HOSTER && AI_EXPERT > 1 && strpos($l_Ext, 'ph') !== false) { $checkers['CriticalPHPUploader'] = true; } $checkers['CriticalJS'] = false; if (AI_EXPERT_MODE > 1) { $checkers['CriticalJS_PARA'] = false; } if ($this->suspicious) { $checkers['WarningPHP'] = false; $checkers['Phishing'] = true; $checkers['Adware'] = false; } $g_SkipNextCheck = ScanUnit::QCR_ScanContent($checkers, $l_Unwrapped, $l_Content, $vars->signs, $this->debug, $precheck, $processResult, $return); } if (!$g_SkipNextCheck && isset($checkers['Adware'])) { // articles if (stripos($l_Filename, 'article_index')) { $vars->adwareList[] = $i; $l_CriticalDetected = true; } } } // end of if (!$g_SkipNextCheck) { //printProgress(++$_files_and_ignored, $l_Filename); $this->delayWithCallback(SCAN_DELAY, $callback); $l_TSEndScan = microtime(true); if ($l_TSEndScan - $l_TSStartScan >= 0.5) { $this->delayWithCallback(SCAN_DELAY, $callback); } if ($g_SkipNextCheck || $l_CriticalDetected) { $this->AddResult($file, $i, $vars); } unset($file); $vars->fileinfo = null; unset($l_Unwrapped); unset($l_Content); return $return; } private function callCallback($callback) { if ($callback !== null) { call_user_func($callback); } } private function delayWithCallback($delay, $callback) { $delay *= 1000; $this->callCallback($callback); while ($delay > 500000) { $delay -= 500000; usleep(500000); $this->callCallback($callback); } usleep($delay); $this->callCallback($callback); } public function AddResult($file, $i, $vars) { if (is_string($file)) { $vars->structure['n'][$i] = $file; return; } $vars->structure['n'][$i] = $file->getFilename(); $vars->structure['s'][$i] = $file->getSize(); $vars->structure['c'][$i] = $file->getCreated(); $vars->structure['m'][$i] = $file->getModified(); $vars->structure['e'][$i] = time(); $vars->structure['crc'][$i] = $vars->crc; if (!$this->isFileTooBigForScanWithSignatures($file->getSize())) { $vars->structure['sha256'][$i] = $file->getSha256(); } } private function satisfiedBySmartScan($fs, $ext, $content, $ext_table, $content_table) { $skip = $fs->satisfiedBy($ext, $ext_table) && $fs->satisfiedByContent($content, $content_table); if ($skip && DEBUG_MODE) { echo "Skipped file, not critical.\n"; } return $skip; } /////////////////////////////////////////////////////////////////////////// private function CheckVulnerability($par_Filename, $par_Index, $par_Content, $vars) { global $g_CmsListDetector, $defaults; $use_cms_detector = ($g_CmsListDetector instanceof CmsVersionDetector); if (!$use_cms_detector && !$defaults['use_template_in_path']) { return false; } $l_Vuln = array(); $par_Filename = strtolower($par_Filename); if ((strpos($par_Filename, 'libraries/joomla/session/session.php') !== false) && (strpos($par_Content, '&& filter_var($_SERVER[\'HTTP_X_FORWARDED_FOR') === false)) { $l_Vuln['id'] = 'RCE : https://docs.joomla.org/Security_hotfixes_for_Joomla_EOL_versions'; $l_Vuln['ndx'] = $par_Index; $vars->vulnerable[] = $l_Vuln; return true; } if ($use_cms_detector && (strpos($par_Filename, 'administrator/components/com_media/helpers/media.php') !== false) && (strpos($par_Content, '$format == \'\' || $format == false ||') === false) ) { if ($g_CmsListDetector->isCms(CmsVersionDetector::CMS_JOOMLA, '1.5')) { $l_Vuln['id'] = 'AFU : https://docs.joomla.org/Security_hotfixes_for_Joomla_EOL_versions'; $l_Vuln['ndx'] = $par_Index; $vars->vulnerable[] = $l_Vuln; return true; } return false; } if ($use_cms_detector && (strpos($par_Filename, 'joomla/filesystem/file.php') !== false) && (strpos($par_Content, '$file = rtrim($file, \'.\');') === false) ) { if ($g_CmsListDetector->isCms(CmsVersionDetector::CMS_JOOMLA, '1.5')) { $l_Vuln['id'] = 'AFU : https://docs.joomla.org/Security_hotfixes_for_Joomla_EOL_versions'; $l_Vuln['ndx'] = $par_Index; $vars->vulnerable[] = $l_Vuln; return true; } return false; } if ((strpos($par_Filename, 'editor/filemanager/upload/test.html') !== false) || (stripos($par_Filename, 'editor/filemanager/browser/default/connectors/php/') !== false) || (stripos($par_Filename, 'editor/filemanager/connectors/uploadtest.html') !== false) || (strpos($par_Filename, 'editor/filemanager/browser/default/connectors/test.html') !== false)) { $l_Vuln['id'] = 'AFU : FCKEDITOR : http://www.exploit-db.com/exploits/17644/ & /exploit/249'; $l_Vuln['ndx'] = $par_Index; $vars->vulnerable[] = $l_Vuln; return true; } if ((strpos($par_Filename, 'inc_php/image_view.class.php') !== false) || (strpos($par_Filename, '/inc_php/framework/image_view.class.php') !== false)) { if (strpos($par_Content, 'showImageByID') === false) { $l_Vuln['id'] = 'AFU : REVSLIDER : http://www.exploit-db.com/exploits/35385/'; $l_Vuln['ndx'] = $par_Index; $vars->vulnerable[] = $l_Vuln; return true; } return false; } if (strpos($par_Filename, 'includes/database/database.inc') !== false) { if (strpos($par_Content, 'foreach ($data as $i => $value)') !== false) { $l_Vuln['id'] = 'SQLI : DRUPAL : CVE-2014-3704'; $l_Vuln['ndx'] = $par_Index; $vars->vulnerable[] = $l_Vuln; return true; } return false; } if (strpos($par_Filename, 'engine/classes/min/index.php') !== false) { if (strpos($par_Content, 'tr_replace(chr(0)') === false) { $l_Vuln['id'] = 'AFD : MINIFY : CVE-2013-6619'; $l_Vuln['ndx'] = $par_Index; $vars->vulnerable[] = $l_Vuln; return true; } return false; } if ((strpos($par_Filename, 'timthumb.php') !== false) || (strpos($par_Filename, 'thumb.php') !== false) || (strpos($par_Filename, 'cache.php') !== false) || (strpos($par_Filename, '_img.php') !== false)) { if (strpos($par_Content, 'code.google.com/p/timthumb') !== false && strpos($par_Content, '2.8.14') === false) { $l_Vuln['id'] = 'RCE : TIMTHUMB : CVE-2011-4106,CVE-2014-4663'; $l_Vuln['ndx'] = $par_Index; $vars->vulnerable[] = $l_Vuln; return true; } return false; } if (strpos($par_Filename, 'components/com_rsform/helpers/rsform.php') !== false) { if (preg_match('~define\s*\(\s*\'_rsform_version\'\s*,\s*\'([^\']+)\'\s*\)\s*;~msi', $par_Content, $version)) { $version = $version[1]; if (version_compare($version, '1.5.2') !== 1) { $l_Vuln['id'] = 'RCE : RSFORM : rsform.php, LINE 1605'; $l_Vuln['ndx'] = $par_Index; $vars->vulnerable[] = $l_Vuln; return true; } } return false; } if (strpos($par_Filename, 'fancybox-for-wordpress/fancybox.php') !== false) { if (strpos($par_Content, '\'reset\' == $_REQUEST[\'action\']') !== false) { $l_Vuln['id'] = 'CODE INJECTION : FANCYBOX'; $l_Vuln['ndx'] = $par_Index; $vars->vulnerable[] = $l_Vuln; return true; } return false; } if (strpos($par_Filename, 'cherry-plugin/admin/import-export/upload.php') !== false) { if (strpos($par_Content, 'verify nonce') === false) { $l_Vuln['id'] = 'AFU : Cherry Plugin'; $l_Vuln['ndx'] = $par_Index; $vars->vulnerable[] = $l_Vuln; return true; } return false; } if (strpos($par_Filename, 'tiny_mce/plugins/tinybrowser/tinybrowser.php') !== false) { $l_Vuln['id'] = 'AFU : TINYMCE : http://www.exploit-db.com/exploits/9296/'; $l_Vuln['ndx'] = $par_Index; $vars->vulnerable[] = $l_Vuln; return true; } if (strpos($par_Filename, '/bx_1c_import.php') !== false) { if (strpos($par_Content, '$_GET[\'action\']=="getfiles"') !== false) { $l_Vuln['id'] = 'AFD : https://habrahabr.ru/company/dsec/blog/326166/'; $l_Vuln['ndx'] = $par_Index; $vars->vulnerable[] = $l_Vuln; return true; } } if (strpos($par_Filename, 'scripts/setup.php') !== false) { if (strpos($par_Content, 'PMA_Config') !== false) { $l_Vuln['id'] = 'CODE INJECTION : PHPMYADMIN : http://1337day.com/exploit/5334'; $l_Vuln['ndx'] = $par_Index; $vars->vulnerable[] = $l_Vuln; return true; } return false; } if (strpos($par_Filename, '/uploadify.php') !== false) { if (strpos($par_Content, 'move_uploaded_file($tempFile,$targetFile') !== false) { $l_Vuln['id'] = 'AFU : UPLOADIFY : CVE: 2012-1153'; $l_Vuln['ndx'] = $par_Index; $vars->vulnerable[] = $l_Vuln; return true; } return false; } if (strpos($par_Filename, 'com_adsmanager/controller.php') !== false) { if (strpos($par_Content, 'move_uploaded_file($file[\'tmp_name\'], $tempPath.\'/\'.basename($file[') !== false) { $l_Vuln['id'] = 'AFU : https://revisium.com/ru/blog/adsmanager_afu.html'; $l_Vuln['ndx'] = $par_Index; $vars->vulnerable[] = $l_Vuln; return true; } return false; } if (strpos($par_Filename, 'wp-content/plugins/wp-mobile-detector/resize.php') !== false) { if (strpos($par_Content, 'file_put_contents($path, file_get_contents($_REQUEST[\'src\']));') !== false) { $l_Vuln['id'] = 'AFU : https://www.pluginvulnerabilities.com/2016/05/31/aribitrary-file-upload-vulnerability-in-wp-mobile-detector/'; $l_Vuln['ndx'] = $par_Index; $vars->vulnerable[] = $l_Vuln; return true; } return false; } if (strpos($par_Filename, 'core/lib/drupal.php') !== false) { $version = ''; if (preg_match('|VERSION\s*=\s*\'(8\.\d+\.\d+)\'|smi', $par_Content, $tmp_ver)) { $version = $tmp_ver[1]; } if (($version !== '') && (version_compare($version, '8.5.1', '<'))) { $l_Vuln['id'] = 'Drupageddon 2 : SA-CORE-2018–002'; $l_Vuln['ndx'] = $par_Index; $vars->vulnerable[] = $l_Vuln; return true; } return false; } if (strpos($par_Filename, 'changelog.txt') !== false) { $version = ''; if (preg_match('|Drupal\s+(7\.\d+),|smi', $par_Content, $tmp_ver)) { $version = $tmp_ver[1]; } if (($version !== '') && (version_compare($version, '7.58', '<'))) { $l_Vuln['id'] = 'Drupageddon 2 : SA-CORE-2018–002'; $l_Vuln['ndx'] = $par_Index; $vars->vulnerable[] = $l_Vuln; return true; } return false; } if (strpos($par_Filename, 'phpmailer.php') !== false) { $l_Detect = false; if (strpos($par_Content, 'PHPMailer') !== false) { $l_Found = preg_match('~Version:\s*(\d+)\.(\d+)\.(\d+)~', $par_Content, $l_Match); if ($l_Found) { $l_Version = $l_Match[1] * 1000 + $l_Match[2] * 100 + $l_Match[3]; if ($l_Version < 2520) { $l_Detect = true; } } if (!$l_Found) { $l_Found = preg_match('~Version\s*=\s*\'(\d+)\.*(\d+)\.(\d+)~i', $par_Content, $l_Match); if ($l_Found) { $l_Version = $l_Match[1] * 1000 + $l_Match[2] * 100 + $l_Match[3]; if ($l_Version < 5220) { $l_Detect = true; } } } if ($l_Detect) { $l_Vuln['id'] = 'RCE : CVE-2016-10045, CVE-2016-10031'; $l_Vuln['ndx'] = $par_Index; $vars->vulnerable[] = $l_Vuln; return true; } } return false; } } private function checkFalsePositives($l_Filename, $l_Unwrapped, $l_DeobfType, $vars) { if ($l_DeobfType != '') { if (DEBUG_MODE) { stdOut("\n-----------------------------------------------------------------------------\n"); stdOut("[DEBUG]" . $l_Filename . "\n"); stdOut("\n...... $l_DeobfType ...........\n"); var_dump($l_Unwrapped); stdOut("\n"); } switch ($l_DeobfType) { case 'Bitrix': foreach ($vars->signs->_DeMapper as $fkey => $fvalue) { if (DEBUG_MODE) { stdOut("[$fkey] => [$fvalue]\n"); } if ((strpos($l_Filename, $fkey) !== false) && (strpos($l_Unwrapped, $fvalue) !== false)) { if (DEBUG_MODE) { stdOut("\n[DEBUG] *** SKIP: False Positive\n"); } return true; } } break; } return false; } } private function getFragment($par_Content, $par_Pos) { $l_MaxChars = MAX_PREVIEW_LEN; $par_Content = preg_replace('/[\x00-\x1F\x80-\xFF]/', '~', $par_Content); $l_MaxLen = strlen($par_Content); $l_RightPos = min($par_Pos + $l_MaxChars, $l_MaxLen); $l_MinPos = max(0, $par_Pos - $l_MaxChars); $l_FoundStart = substr($par_Content, 0, $par_Pos); $l_FoundStart = str_replace("\r", '', $l_FoundStart); $l_LineNo = strlen($l_FoundStart) - strlen(str_replace("\n", '', $l_FoundStart)) + 1; $l_Res = '__AI_LINE1__' . $l_LineNo . "__AI_LINE2__ " . ($l_MinPos > 0 ? '…' : '') . substr($par_Content, $l_MinPos, $par_Pos - $l_MinPos) . '__AI_MARKER__' . substr($par_Content, $par_Pos, $l_RightPos - $par_Pos - 1); $l_Res = AibolitHelpers::makeSafeFn(Normalization::normalize($l_Res), $this->addPrefix, $this->noPrefix); $l_Res = str_replace('~', ' ', $l_Res); $l_Res = preg_replace('~[\s\t]+~', ' ', $l_Res); $l_Res = str_replace('' . '?php', '' . '?php ', $l_Res); return $l_Res; } /** * @return array */ public function whitelisting() { // whitelist $snum = 0; $list = $this->check_whitelist($this->vars->structure['crc'], $snum); $keys = array( 'criticalPHP', 'criticalJS', 'g_Iframer', 'g_Base64', 'phishing', 'adwareList', 'g_Redirect', 'warningPHP' ); foreach ($keys as $p) { if (empty($this->vars->{$p})) { continue; } $p_Fragment = $p . 'Fragment'; $p_Sig = $p . 'Sig'; if ($p == 'g_Redirect') { $p_Fragment = $p . 'PHPFragment'; } elseif ($p == 'g_Phishing') { $p_Sig = $p . 'SigFragment'; } $count = count($this->vars->{$p}); for ($i = 0; $i < $count; $i++) { $id = $this->vars->{$p}[$i]; if ($this->vars->structure['crc'][$id] !== 0 && in_array($this->vars->structure['crc'][$id], $list)) { unset($this->vars->{$p}[$i], $this->vars->{$p_Sig}[$i], $this->vars->{$p_Fragment}[$i]); } } $this->vars->{$p} = array_values($this->vars->{$p}); $this->vars->{$p_Fragment} = array_values($this->vars->{$p_Fragment}); if (!empty($this->vars->{$p_Sig})) { $this->vars->{$p_Sig} = array_values($this->vars->{$p_Sig}); } } return array($snum, $i); } public function check_whitelist($list, &$snum) { if (empty($list)) { return array(); } $avdb = ''; $file = dirname(__FILE__) . '/AIBOLIT-WHITELIST.db'; if ((isset($this->vars->options['avdb']) && !empty($this->vars->options['avdb']) && ($avdb = $this->vars->options['avdb'])) || (isset($this->vars->options['c']) && !empty($this->vars->options['c']) && ($avdb = $this->vars->options['c']))) { if (file_exists($avdb)) { $file = dirname($avdb) . '/AIBOLIT-WHITELIST.db'; } } try { $db = FileHashMemoryDb::open($file); } catch (Exception $e) { stdOut("\nAn error occurred while loading the white list database from " . $file . "\n"); return array(); } $snum = $db->count(); stdOut("\nLoaded " . ceil($snum) . " known files from " . $file . "\n"); return $db->find($list); } private function check_binmalware($hash) { if (isset($this->vars->blacklist)) { return count($this->vars->blacklist->find(array($hash))) > 0; } return false; } /////////////////////////////////////////////////////////////////////////// private function isFileTooBigForScanWithSignatures($filesize) { return (MAX_SIZE_TO_SCAN > 0 && $filesize > MAX_SIZE_TO_SCAN) || ($filesize < 0); } private function isFileTooBigForCloudscan($filesize) { return (MAX_SIZE_TO_CLOUDSCAN > 0 && $filesize > MAX_SIZE_TO_CLOUDSCAN) || ($filesize < 0); } } class ScanUnit { public static function QCR_ScanContent($checkers, $l_Unwrapped, $l_Content, $signs, $debug = null, $precheck = null, $processResult = null, &$return = null) { foreach ($checkers as $checker => $full) { $l_pos = 0; $l_SignId = ''; if (isset($precheck) && is_callable($precheck)) { if (!$precheck($checker, $l_Unwrapped) || ($full && !$precheck($checker, $l_Content))) { continue; } } $flag = ScanCheckers::{$checker}($l_Unwrapped, $l_pos, $l_SignId, $signs, $debug); if ($flag && isset($processResult) && is_callable($processResult)) { $processResult($checker, $l_Unwrapped, $l_pos, $l_SignId, $return); } if (!$flag && $full) { $flag = ScanCheckers::{$checker}($l_Content, $l_pos, $l_SignId, $signs, $debug); if ($flag && isset($processResult) && is_callable($processResult)) { $processResult($checker, $l_Content, $l_pos, $l_SignId, $return); } } if ($flag) { return true; } } return false; } } class ScanCheckers { const URL_GRAB = '~(?:https?:)?\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+\~#=]{2,256}\.[a-z]{2,4}\b(?:[-a-zA-Z0-9@:%_\+.\~#?&/=]*)~msi'; public static function WarningPHP($l_Content, &$l_Pos, &$l_SigId, $signs, $debug = null) { foreach ($signs->_SusDB as $l_Item) { if (preg_match('~' . $l_Item . '~smiS', $l_Content, $l_Found, PREG_OFFSET_CAPTURE)) { if (!self::CheckException($l_Content, $l_Found, $signs)) { $l_Pos = $l_Found[0][1]; $l_SigId = LoadSignaturesForScan::getSigId($l_Found); return true; } } } return false; } /////////////////////////////////////////////////////////////////////////// public static function Adware($l_Content, &$l_Pos, &$l_SigId, $signs, $debug = null) { $l_Res = false; foreach ($signs->_AdwareSig as $l_Item) { $offset = 0; while (preg_match('~' . $l_Item . '~smi', $l_Content, $l_Found, PREG_OFFSET_CAPTURE, $offset)) { if (!self::CheckException($l_Content, $l_Found, $signs)) { $l_Pos = $l_Found[0][1]; $l_SigId = 'adware'; return true; } $offset = $l_Found[0][1] + 1; } } return $l_Res; } /////////////////////////////////////////////////////////////////////////// public static function CheckException(&$l_Content, &$l_Found, $signs, $debug = null) { $l_FoundStrPlus = substr($l_Content, max($l_Found[0][1] - 10, 0), 70); foreach ($signs->_ExceptFlex as $l_ExceptItem) { if (@preg_match('~' . $l_ExceptItem . '~smi', $l_FoundStrPlus, $l_Detected)) { return true; } } return false; } /////////////////////////////////////////////////////////////////////////// public static function Phishing($l_Content, &$l_Pos, &$l_SigId, $signs, $debug = null) { $l_Res = false; foreach ($signs->_PhishingSig as $l_Item) { $offset = 0; while (preg_match('~' . $l_Item . '~smi', $l_Content, $l_Found, PREG_OFFSET_CAPTURE, $offset)) { if (!self::CheckException($l_Content, $l_Found, $signs)) { $l_Pos = $l_Found[0][1]; $l_SigId = LoadSignaturesForScan::getSigId($l_Found); if (is_object($debug) && $debug->getDebugMode() == true) { echo "Phis: $l_Content matched [$l_Item] in $l_Pos\n"; } return $l_Pos; } $offset = $l_Found[0][1] + 1; } } return $l_Res; } /////////////////////////////////////////////////////////////////////////// public static function CriticalJS($l_Content, &$l_Pos, &$l_SigId, $signs, $debug = null) { $l_Res = false; foreach ($signs->_JSVirSig as $l_Item) { $offset = 0; if (is_object($debug) && $debug->getDebugPerfomance() == true) { $stat_start = microtime(true); } while (preg_match('~' . $l_Item . '~smi', $l_Content, $l_Found, PREG_OFFSET_CAPTURE, $offset)) { if (!self::CheckException($l_Content, $l_Found, $signs)) { $l_Pos = $l_Found[0][1]; $l_SigId = LoadSignaturesForScan::getSigId($l_Found); if (is_object($debug) && $debug->getDebugMode() == true) { echo "JS: $l_Content matched [$l_Item] in $l_Pos\n"; } $l_Res = true; break; } $offset = $l_Found[0][1] + 1; } if (is_object($debug) && $debug->getDebugPerfomance() == true) { $stat_stop = microtime(true); $debug->addPerfomanceItem($l_Item, $stat_stop - $stat_start); } } return $l_Res; } public static function CriticalJS_PARA($l_Content, &$l_Pos, &$l_SigId, $signs, $debug = null) { foreach ($signs->X_JSVirSig as $l_Item) { if (is_object($debug) && $debug->getDebugPerfomance() == true) { $stat_start = microtime(true); } if (preg_match('~' . $l_Item . '~smi', $l_Content, $l_Found, PREG_OFFSET_CAPTURE)) { if (!self::CheckException($l_Content, $l_Found, $signs)) { $l_Pos = $l_Found[0][1]; //$l_SigId = myCheckSum($l_Item); $l_SigId = LoadSignaturesForScan::getSigId($l_Found); if (is_object($debug) && $debug->getDebugMode() == true) { echo "JS PARA: $l_Content matched [$l_Item] in $l_Pos\n"; } return true; } } if (is_object($debug) && $debug->getDebugPerfomance() == true) { $stat_stop = microtime(true); $debug->addPerfomanceItem($l_Item, $stat_stop - $stat_start); } } return false; } /////////////////////////////////////////////////////////////////////////// public static function CriticalPHPGIF($l_Content, &$l_Pos, &$l_SigId, $signs, $debug = null) { if (strpos($l_Content, 'GIF89') === 0) { $l_Pos = 0; $l_SigId = 'GIF'; if (is_object($debug) && $debug->getDebugMode() == true) { echo "CRIT 6: $l_Content matched [GIF] in $l_Pos\n"; } return true; } return false; } public static function CriticalPHPUploader($l_Content, &$l_Pos, &$l_SigId, $signs, $debug = null) { // detect uploaders / droppers $l_Found = null; if ((strlen($l_Content) < 2048) && ((($l_Pos = strpos($l_Content, 'multipart/form-data')) > 0) || (($l_Pos = strpos($l_Content, '$_FILE[') > 0)) || (($l_Pos = strpos($l_Content, 'move_uploaded_file')) > 0) || (preg_match('|\bcopy\s*\(|smi', $l_Content, $l_Found, PREG_OFFSET_CAPTURE)))) { if ($l_Found != null) { $l_Pos = $l_Found[0][1]; $l_SigId = 'uploader'; } if (is_object($debug) && $debug->getDebugMode() == true) { echo "CRIT 7: $l_Content matched [uploader] in $l_Pos\n"; } return true; } } public static function CriticalPHP_3($l_Content, &$l_Pos, &$l_SigId, $signs, $debug = null) { foreach ($signs->X_FlexDBShe as $l_Item) { if (is_object($debug) && $debug->getDebugPerfomance() == true) { $stat_start = microtime(true); } if (preg_match('~' . $l_Item . '~smiS', $l_Content, $l_Found, PREG_OFFSET_CAPTURE)) { if (!self::CheckException($l_Content, $l_Found, $signs)) { $l_Pos = $l_Found[0][1]; $l_SigId = LoadSignaturesForScan::getSigId($l_Found); if (is_object($debug) && $debug->getDebugMode() == true) { echo "CRIT 3: $l_Content matched [$l_Item] in $l_Pos\n"; } return true; } } if (is_object($debug) && $debug->getDebugPerfomance() == true) { $stat_stop = microtime(true); $debug->addPerfomanceItem($l_Item, $stat_stop - $stat_start); } } return false; } public static function CriticalPHP_2($l_Content, &$l_Pos, &$l_SigId, $signs, $debug = null) { foreach ($signs->XX_FlexDBShe as $l_Item) { if (is_object($debug) && $debug->getDebugPerfomance() == true) { $stat_start = microtime(true); } if (preg_match('~' . $l_Item . '~smiS', $l_Content, $l_Found, PREG_OFFSET_CAPTURE)) { if (!self::CheckException($l_Content, $l_Found, $signs)) { $l_Pos = $l_Found[0][1]; $l_SigId = LoadSignaturesForScan::getSigId($l_Found); if (is_object($debug) && $debug->getDebugMode() == true) { echo "CRIT 2: $l_Content matched [$l_Item] in $l_Pos\n"; } return true; } } if (is_object($debug) && $debug->getDebugPerfomance() == true) { $stat_stop = microtime(true); $debug->addPerfomanceItem($l_Item, $stat_stop - $stat_start); } } return false; } public static function CriticalPHP_4($l_Content, &$l_Pos, &$l_SigId, $signs, $debug = null) { $l_Content_lo = strtolower($l_Content); foreach ($signs->_DBShe as $l_Item) { $l_Pos = strpos($l_Content_lo, $l_Item); if ($l_Pos !== false) { $l_SigId = AibolitHelpers::myCheckSum($l_Item); if (is_object($debug) && $debug->getDebugMode() == true) { echo "CRIT 4: $l_Content matched [$l_Item] in $l_Pos\n"; } return true; } } return false; } public static function CriticalPHP_5($l_Content, &$l_Pos, &$l_SigId, $signs, $debug = null) { $l_Content_lo = strtolower($l_Content); foreach ($signs->X_DBShe as $l_Item) { $l_Pos = strpos($l_Content_lo, $l_Item); if ($l_Pos !== false) { $l_SigId = AibolitHelpers::myCheckSum($l_Item); if (is_object($debug) && $debug->getDebugMode() == true) { echo "CRIT 5: $l_Content matched [$l_Item] in $l_Pos\n"; } return true; } } return false; } public static function CriticalPHP($l_Content, &$l_Pos, &$l_SigId, $signs, $debug = null) { foreach ($signs->_FlexDBShe as $l_Item) { $offset = 0; if (is_object($debug) && $debug->getDebugPerfomance() == true) { $stat_start = microtime(true); } while (preg_match('~' . $l_Item . '~smiS', $l_Content, $l_Found, PREG_OFFSET_CAPTURE, $offset)) { if (!self::CheckException($l_Content, $l_Found, $signs)) { $l_Pos = $l_Found[0][1]; //$l_SigId = myCheckSum($l_Item); $l_SigId = LoadSignaturesForScan::getSigId($l_Found); if (is_object($debug) && $debug->getDebugMode() == true) { echo "CRIT 1: $l_Content matched [$l_Item] in $l_Pos\n"; } return true; } $offset = $l_Found[0][1] + 1; } if (is_object($debug) && $debug->getDebugPerfomance() == true) { $stat_stop = microtime(true); $debug->addPerfomanceItem($l_Item, $stat_stop - $stat_start); } } return false; } public static function isOwnUrl($url, $own) { if (isset($own) && preg_match('~' . $own . '~msi', $url)) { return true; } return false; } public static function isUrlInList($url, $list) { if (isset($list)) { foreach ($list as $item) { if (preg_match('~' . $item . '~msiS', $url, $id, PREG_OFFSET_CAPTURE)) { return $id; } } } return false; } public static function UrlChecker($l_Content, &$l_Pos, &$l_SigId, $signs, $debug = null) { $l_Pos = []; $l_SigId = []; $offset = 0; while (preg_match(self::URL_GRAB, $l_Content, $l_Found, PREG_OFFSET_CAPTURE, $offset)) { if (!self::isOwnUrl($l_Found[0][0], $signs->getOwnUrl()) && (isset($signs->whiteUrls) && !self::isUrlInList($l_Found[0][0], $signs->whiteUrls->getDb()))) { if ($id = self::isUrlInList($l_Found[0][0], $signs->blackUrls->getDb())) { $l_Pos['black'][] = $l_Found[0][1]; $l_SigId['black'][] = $signs->blackUrls->getSig($id); } else { $l_Pos['unk'][] = $l_Found[0][1]; $l_SigId['unk'][] = $l_Found[0][0]; } } $offset = $l_Found[0][1] + strlen($l_Found[0][0]); } return !empty($l_Pos); } } class TemplateList { /** * ############# * # MAIN_PAGE # * ############# */ const MAIN_PAGE = <<<MAIN_PAGE <html> <head> <!-- revisium.com/ai/ --> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" > <META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW"> <title>@@HEAD_TITLE@@</title> <style type="text/css" title="currentStyle"> @import "https://cdn.revisium.com/ai/media/css/demo_page2.css"; @import "https://cdn.revisium.com/ai/media/css/jquery.dataTables2.css"; </style> <script type="text/javascript" language="javascript" src="https://cdn.revisium.com/ai/jquery.js"></script> <script type="text/javascript" language="javascript" src="https://cdn.revisium.com/ai/datatables.min.js"></script> <style> body { font-family: Tahoma, sans-serif; color: #5a5a5a; background: #FFFFFF; font-size: 14px; margin: 20px; padding: 0; } .header { font-size: 34px; margin: 0 0 10px 0; } .hidd { display: none; } .ok { color: green; } .line_no { -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; background: #DAF2C1; padding: 2px 5px 2px 5px; margin: 0 5px 0 5px; } .credits_header { -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; background: #F2F2F2; padding: 10px; font-size: 11px; margin: 0 0 10px 0; } .marker { color: #FF0090; font-weight: 100; background: #FF0090; padding: 2px 0 2px 0; width: 2px; } .title { font-size: 24px; margin: 20px 0 10px 0; color: #9CA9D1; } .summary { float: left; width: 500px; } .summary TD { font-size: 12px; border-bottom: 1px solid #F0F0F0; font-weight: 700; padding: 10px 0 10px 0; } .crit, .vir { color: #D84B55; } .intitem { color: #4a6975; } .spacer { margin: 0 0 50px 0; clear: both; } .warn { color: #F6B700; } .clear { clear: both; } .offer { -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; width: 500px; background: #F2F2F2; color: #747474; font-family: Helvetica, Arial, sans-serif; padding: 30px; margin: 20px 0 0 550px; font-size: 14px; } .offer-our-products { -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; width: 500px; background: #f6f5e0; color: #747474; font-family: Helvetica, Arial, sans-serif; padding: 30px; margin: 20px 0 0 550px; font-size: 14px; } HR { margin-top: 15px; margin-bottom: 15px; opacity: .2; } .flist { font-family: Henvetica, Arial, sans-serif; } .flist TD { font-size: 11px; padding: 5px; } .flist TH { font-size: 12px; height: 30px; padding: 5px; background: #CEE9EF; } .it { font-size: 14px; font-weight: 100; margin-top: 10px; } .crit .it A { color: #E50931; line-height: 25px; text-decoration: none; } .warn .it A { color: #F2C900; line-height: 25px; text-decoration: none; } .details { font-family: Calibri, sans-serif; font-size: 12px; margin: 10px 10px 10px 0; } .crit .details { color: #A08080; } .warn .details { color: #808080; } .details A { color: #FFF; font-weight: 700; text-decoration: none; padding: 2px; background: #E5CEDE; -webkit-border-radius: 7px; -moz-border-radius: 7px; border-radius: 7px; } .details A:hover { background: #A0909B; } .ctd { margin: 10px 0 10px 0; align: center; } .ctd A { color: #0D9922; } .disclaimer { color: darkgreen; margin: 10px 10px 10px 0; } .note_vir { margin: 10px 0 10px 0; / / padding: 10 px; color: #FF4F4F; font-size: 15px; font-weight: 700; clear: both; } .note_warn { margin: 10px 0 10px 0; color: #F6B700; font-size: 15px; font-weight: 700; clear: both; } .note_int { margin: 10px 0 10px 0; color: #60b5d6; font-size: 15px; font-weight: 700; clear: both; } .updateinfo { color: #FFF; text-decoration: none; background: #E5CEDE; -webkit-border-radius: 7px; -moz-border-radius: 7px; border-radius: 7px; margin: 10px 0 10px 0; padding: 10px; } .caution { color: #EF7B75; text-decoration: none; margin: 20px 0 0 0; font-size: 12px; } .footer { color: #303030; text-decoration: none; background: #F4F4F4; -webkit-border-radius: 7px; -moz-border-radius: 7px; border-radius: 7px; margin: 80px 0 10px 0px; padding: 10px; } .rep { color: #303030; text-decoration: none; background: #94DDDB; -webkit-border-radius: 7px; -moz-border-radius: 7px; border-radius: 7px; margin: 10px 0 10px 0; padding: 10px; font-size: 12px; } </style> </head> <body> <div class="header">@@MAIN_TITLE@@ @@PATH_URL@@ (@@MODE@@)</div> <div class="credits_header">@@CREDITS@@</div> <div class="details_header"> @@STAT@@<br/> @@SCANNED@@ @@MEMORY@@. </div> @@WARN_QUICK@@ <div class="summary"> @@SUMMARY@@ </div> <div class="offer"> @@OFFER@@ </div> <div class="offer-our-products"> @@OFFER_OUR_PRODUCTS@@ </div> <div class="clear"></div> @@MAIN_CONTENT@@ <div class="footer"> @@FOOTER@@ </div> <script language="javascript"> function hsig(id) { var divs = document.getElementsByTagName("tr"); for(var i = 0; i < divs.length; i++){ if (divs[i].getAttribute('o') == id) { divs[i].innerHTML = ''; } } return false; } $(document).ready(function(){ $('#table_crit').dataTable({ "aLengthMenu": [[100 , 500, -1], [100, 500, "All"]], "aoColumns": [ {"iDataSort": 7, "width":"70%"}, {"iDataSort": 5}, {"iDataSort": 6}, {"bSortable": true}, {"bVisible": false}, {"bVisible": false}, {"bVisible": false}, {"bVisible": false} ], "paging": true, "iDisplayLength": 500, "oLanguage": { "sLengthMenu": "@@msg1@@", "sZeroRecords": "@@msg2@@", "sInfo": "@@msg3@@", "sInfoEmpty": "@@msg4@@", "sInfoFiltered": "@@msg5@@", "sSearch": "@@msg6@@", "sUrl": "", "oPaginate": { "sFirst": "@@msg7@@", "sPrevious": "@@msg8@@", "sNext": "@@msg9@@", "sLast": "@@msg10@@" }, "oAria": { "sSortAscending": "@@msg11@@", "sSortDescending": "@@msg12@@" } } } ); }); $(document).ready(function(){ $('#table_vir').dataTable({ "aLengthMenu": [[100 , 500, -1], [100, 500, "All"]], "paging": true, "aoColumns": [ {"iDataSort": 7, "width":"70%"}, {"iDataSort": 5}, {"iDataSort": 6}, {"bSortable": true}, {"bVisible": false}, {"bVisible": false}, {"bVisible": false}, {"bVisible": false} ], "iDisplayLength": 500, "oLanguage": { "sLengthMenu": "@@msg1@@", "sZeroRecords": "@@msg2@@", "sInfo": "@@msg3@@", "sInfoEmpty": "@@msg4@@", "sInfoFiltered": "@@msg5@@", "sSearch": "@@msg6@@", "sUrl": "", "oPaginate": { "sFirst": "@@msg7@@", "sPrevious": "@@msg8@@", "sNext": "@@msg9@@", "sLast": "@@msg10@@" }, "oAria": { "sSortAscending": "@@msg11@@", "sSortDescending": "@@msg12@@" } }, } ); }); if ($('#table_warn0')) { $('#table_warn0').dataTable({ "aLengthMenu": [[100 , 500, -1], [100, 500, "All"]], "paging": true, "aoColumns": [ {"iDataSort": 7, "width":"70%"}, {"iDataSort": 5}, {"iDataSort": 6}, {"bSortable": true}, {"bVisible": false}, {"bVisible": false}, {"bVisible": false}, {"bVisible": false} ], "iDisplayLength": 500, "oLanguage": { "sLengthMenu": "@@msg1@@", "sZeroRecords": "@@msg2@@", "sInfo": "@@msg3@@", "sInfoEmpty": "@@msg4@@", "sInfoFiltered": "@@msg5@@", "sSearch": "@@msg6@@", "sUrl": "", "oPaginate": { "sFirst": "@@msg7@@", "sPrevious": "@@msg8@@", "sNext": "@@msg9@@", "sLast": "@@msg10@@" }, "oAria": { "sSortAscending": "@@msg11@@", "sSortDescending": "@@msg12@@" } } } ); } if ($('#table_warn1')) { $('#table_warn1').dataTable({ "aLengthMenu": [[100 , 500, -1], [100, 500, "All"]], "paging": true, "aoColumns": [ {"iDataSort": 7, "width":"70%"}, {"iDataSort": 5}, {"iDataSort": 6}, {"bSortable": true}, {"bVisible": false}, {"bVisible": false}, {"bVisible": false}, {"bVisible": false} ], "iDisplayLength": 500, "oLanguage": { "sLengthMenu": "@@msg1@@", "sZeroRecords": "@@msg2@@", "sInfo": "@@msg3@@", "sInfoEmpty": "@@msg4@@", "sInfoFiltered": "@@msg5@@", "sSearch": "@@msg6@@", "sUrl": "", "oPaginate": { "sFirst": "@@msg7@@", "sPrevious": "@@msg8@@", "sNext": "@@msg9@@", "sLast": "@@msg10@@" }, "oAria": { "sSortAscending": "@@msg11@@", "sSortDescending": "@@msg12@@" } } } ); } </script> <!-- @@SERVICE_INFO@@ --> </body> </html> MAIN_PAGE; #region templates ru /** * ############# * # FOOTER_RU # * ############# */ const FOOTER_RU = <<<FOOTER <div class="disclaimer"><span class="vir">[!]</span> Отказ от гарантий: невозможно гарантировать обнаружение всех вредоносных скриптов. Поэтому разработчик сканера не несет ответственности за возможные последствия работы сканера AI-Bolit или неоправданные ожидания пользователей относительно функциональности и возможностей. </div> <div class="thanx"> Мы будем чрезвычайно благодарны за любые упоминания сканера AI-Bolit на вашем сайте, в блоге, среди друзей, знакомых и клиентов. <br/>Ссылку можно поставить на страницу <a href="https://revisium.com/ai/">https://revisium.com/ai/</a>.<br/> </div> FOOTER; /** * ########################### * # OFFER_RU # * ########################### */ const OFFER_RU = <<<OFFER_ON_VIRUS_FOUND <div> <div class="crit" style="font-size: 17px; margin-bottom: 20px"><b>Внимание! Наш сканер обнаружил подозрительный или вредоносный код</b>.</div> <p>Возможно, ваш сайт был взломан. Рекомендуем срочно <a href="https://revisium.com/ru/order/#fform" target=_blank>проконсультироваться со специалистами</a> по данному отчету.</p> <p><hr size=1></p> <p>Рекомендуем также проверить сайт бесплатным <b><a href="https://rescan.pro/?utm=aibolit" target=_blank>онлайн-сканером ReScan.Pro</a></b>.</p> <p><hr size=1></p> <div class="caution">@@CAUTION@@</div> </div> OFFER_ON_VIRUS_FOUND; /** * ######################### * # OFFER_OUR_PRODUCTS_RU # * ######################### */ const OFFER_OUR_PRODUCTS_RU = <<<OFFER_OUR_PRODUCTS <b>Наши продукты:</b><br/> <ul> <li style="margin-top: 10px"><font color=red><sup>[new]</sup></font><b><a href="https://revisium.com/ru/products/antivirus_for_ispmanager/" target=_blank>Антивирус для ISPmanager Lite</a></b> — сканирование и лечение сайтов прямо в панели хостинга</li> <li style="margin-top: 10px"><b><a href="https://revisium.com/ru/blog/revisium-antivirus-for-plesk.html" target=_blank>Антивирус для Plesk</a> Onyx 17.x</b> — сканирование и лечение сайтов прямо в панели хостинга</li> <li style="margin-top: 10px"><b><a href="https://cloudscan.pro/ru/" target=_blank>Облачный антивирус CloudScan.Pro</a> для веб-специалистов</b> — лечение сайтов в один клик</li> <li style="margin-top: 10px"><b><a href="https://revisium.com/ru/antivirus-server/" target=_blank>Антивирус для сервера</a></b> — для хостинг-компаний, веб-студий и агентств.</li> </ul> </div> OFFER_OUR_PRODUCTS; #endregion #region templates eng /** * ############# * # FOOTER_EN # * ############# */ const FOOTER_EN = <<<FOOTER <div class="disclaimer"><span class="vir">[!]</span> Disclaimer: We're not liable to you for any damages, including general, special, incidental or consequential damages arising out of the use or inability to use the script (including but not limited to loss of data or report being rendered inaccurate or failure of the script). There's no warranty for the program. Use at your own risk. </div> <div class="thanx"> We're greatly appreciate for any references in the social medias, forums or blogs to our scanner AI-BOLIT <a href="https://revisium.com/aibo/">https://revisium.com/aibo/</a>.<br/> </div> FOOTER; /** * ########################### * # OFFER_ON_VIRUS_FOUND_EN # * ########################### */ const OFFER_EN = <<<OFFER_ON_VIRUS_FOUND <div> <div class="crit" style="font-size: 17px;"><b>Attention! The scanner has detected suspicious or malicious files.</b></div> <br/>Most likely the website has been compromised. Please, <a href="https://revisium.com/en/contacts/" target=_blank>contact web security experts</a> from Revisium to check the report or clean the malware. <p><hr size=1></p> Also check your website for viruses with our free <b><a href="http://rescan.pro/?en&utm=aibo" target=_blank>online scanner ReScan.Pro</a></b>. </div> <br/> <div> Revisium contacts: <a href="https://revisium.com/en/contacts/">https://revisium.com/en/home/</a> </div> <div class="caution">@@CAUTION@@</div> OFFER_ON_VIRUS_FOUND; /** * ######################### * # OFFER_OUR_PRODUCTS_EN # * ######################### */ const OFFER_OUR_PRODUCTS_EN = <<<OFFER_OUR_PRODUCTS <b>Special Offers:</b><br/> <ul> <li style="margin-top: 10px"><font color=red><sup>[new]</sup></font><b><a href="http://ext.plesk.com/packages/b71916cf-614e-4b11-9644-a5fe82060aaf-revisium-antivirus">Antivirus for Plesk Onyx</a></b> hosting panel with one-click malware cleanup and scheduled website scanning.</li> <li style="margin-top: 10px"><font color=red></font><b><a href="https://www.ispsystem.com/addons-modules/revisium">Antivirus for ISPmanager Lite</a></b> hosting panel with one-click malware cleanup and scheduled website scanning.</li> <li style="margin-top: 10px">Professional malware cleanup and web-protection service with 6 month guarantee for only $99 (one-time payment): <a href="https://revisium.com/en/home/#order_form">https://revisium.com/en/home/</a>.</li> </ul> </div> OFFER_OUR_PRODUCTS; #endregion } class TranslateList { const RU = [ //Переменные для javascript 'data_table.length_menu' => 'Отображать по _MENU_ записей', 'data_table.zero_records' => 'Ничего не найдено', 'data_table.info' => 'Отображается c _START_ по _END_ из _TOTAL_ файлов', 'data_table.info_empty' => 'Нет файлов', 'data_table.info_filtered' => '(всего записей _MAX_)', 'data_table.search' => 'Поиск:', 'data_table.paginate.first' => 'Первая', 'data_table.paginate.previous' => 'Предыдущая', 'data_table.paginate.next' => 'Следующая', 'data_table.paginate.last' => 'Последняя', 'data_table.aria.sort_ascending' => ': активировать для сортировки столбца по возрастанию', 'data_table.aria.sort_descending' => ': активировать для сортировки столбцов по убыванию', 'header.scan_report_title' => 'Отчет сканера <a href="https://revisium.com/ai/">AI-Bolit</a> v@@VERSION@@:', 'offer.when_no_critical' => 'Обращаем внимание на то, что большинство CMS <b>без дополнительной защиты</b> рано или поздно <b>взламывают</b>.<p> Компания <a href="https://revisium.com/">"Ревизиум"</a> предлагает услугу превентивной защиты сайта от взлома с использованием уникальной <b>процедуры "цементирования сайта"</b>. Подробно на <a href="https://revisium.com/ru/client_protect/">странице услуги</a>. <p>Лучшее лечение — это профилактика.', 'offer_our_products' => TemplateList::OFFER_OUR_PRODUCTS_RU, 'offer.when_has_critical' => TemplateList::OFFER_RU, 'сaution.aibolit_file' => 'Не оставляйте файл отчета на сервере, и не давайте на него прямых ссылок с других сайтов. Информация из отчета может быть использована злоумышленниками для взлома сайта, так как содержит информацию о настройках сервера, файлах и каталогах.', 'сaution.scanner_set_password' => "Сканер AI-Bolit запускается с паролем. Если это первый запуск сканера, вам нужно придумать сложный пароль и вписать его в файле ai-bolit.php в строке №34. <p>Например, <b>'PASS', =>'%s',</b><p> После этого откройте сканер в браузере, указав пароль в параметре \"p\". <p>Например, так <b>http://mysite.ru/ai-bolit.php?p=%s</b>. ", 'сaution.quick_scanned' => '<div class="rep" style="color: #0000A0">Внимание, скрипт выполнил быструю проверку сайта. Проверяются только наиболее критические файлы, но часть вредоносных скриптов может быть не обнаружена. Пожалуйста, запустите скрипт из командной строки для выполнения полного тестирования. Подробнее смотрите в <a href="https://revisium.com/ai/faq.php">FAQ вопрос №10</a>.</div>', 'warning.weak_password' => "Вы установили слабый пароль на скрипт AI-BOLIT. Укажите пароль не менее 8 символов, содержащий латинские буквы в верхнем и нижнем регистре, а также цифры. Например, такой <b>%s</b>", 'warning.folder_read_permission' => 'Текущая директория не доступна для чтения скрипту. Пожалуйста, укажите права на доступ <b>rwxr-xr-x</b> или с помощью командной строки <b>chmod +r имя_директории</b>', 'warnings' => 'Предупреждения', 'warning.reading_error' => 'Непроверенные файлы - ошибка чтения', 'info.time_elapsed' => "Затрачено времени: <b>%s</b>. Сканирование начато %s, сканирование завершено %s", 'info.files_checked' => 'Всего проверено %s директорий и %s файлов.', 'info.non_commercial_use' => 'Сканер бесплатный только для личного некоммерческого использования. Информация по <a href="https://revisium.com/ai/faq.php#faq11" target=_blank>коммерческой лицензии</a> (пункт №11). <a href="https://revisium.com/images/mini_aibolit.jpg">Авторское свидетельство</a> о гос. регистрации в РосПатенте №2012619254 от 12 октября 2012 г.', 'critical.title' => '<div class="title">Критические замечания</div>', 'not_detected.shell_scripts' => 'Вирусы и вредоносные скрипты не обнаружены.', 'detected.shell_scripts' => 'Эти файлы могут быть вредоносными или хакерскими скриптами', 'detected.javascript' => 'Эти файлы могут быть javascript вирусами', 'detected.executables' => 'Обнаружены сигнатуры исполняемых файлов unix и нехарактерных скриптов. Они могут быть вредоносными файлами', 'detected.bad_links' => 'Дорвеи, реклама, спам-ссылки, редиректы', 'detected.phishing_pages' => 'Обнаружены фишинговые страницы', 'file.not_found.more_than' => 'Не найдено файлов больше чем %s', 'file.recommend_to_remove' => 'Временные файлы или файлы(каталоги) - кандидаты на удаление по ряду причин', 'file.scanned_manual' => 'Просканированы только файлы, перечисленные в %s. Для полного сканирования удалите файл %s и запустите сканер повторно.', 'file.suspicion.heuristic_analyze' => 'Эвристический анализ обнаружил подозрительные файлы. Проверьте их на наличие вредоносного кода.', 'file.encrypted' => 'Зашифрованных файлов', 'file.hidden' => 'Скрытых файлов', 'file.added' => "Добавленные файлы", 'file.updated' => "Измененные файлы", 'file.deleted' => "Удаленные файлы", 'file_structure.updates' => "Изменения в файловой структуре", 'hidden_files' => 'Скрытые файлы', 'doorway.might' => 'Возможно, каталог с дорвеем', 'doorway.not_found' => 'Не найдено директорий c дорвеями', 'suspicion.multiple' => 'Двойное расширение, зашифрованный контент или подозрение на вредоносный скрипт. Требуется дополнительный анализ', 'suspicion.malicious' => 'Подозрение на вредоносный скрипт', 'suspicion.htaccess' => 'Подозрение на мобильный редирект, подмену расширений или автовнедрение кода', 'suspicion.non_php' => 'В не .php файле содержится стартовая сигнатура PHP кода. Возможно, там вредоносный код', 'suspicion.hidden_link' => 'Невидимые ссылки. Подозрение на ссылочный спам', 'suspicion.doorway' => 'Подозрение на дорвей', 'suspicion.code' => 'Скрипт использует код, который часто встречается во вредоносных скриптах', 'suspicion.obfuscated_variables' => 'Подозрение на обфусцированные переменные', 'suspicion.global_array' => 'Подозрительное использование массива глобальных переменных', 'suspicion.file_time' => "Подозрительные параметры времени изменения файла", 'suspicion.file_attributes' => "Подозрительные атрибуты файла", 'suspicion.file_location' => "Подозрительное местоположение файла", 'symlinks' => 'Символические ссылки (symlinks)', 'hidden_links' => 'Невидимые ссылки', 'link.symbolic' => 'Символических ссылок', 'links.adware_spam' => 'Рекламных ссылок и кодов', 'links.empty' => 'Пустых ссылок', 'display_only_first' => 'Отображены только первые ', 'skipped.adirignore' => 'Директории из файла .adirignore были пропущены при сканировании', 'founded_CMS' => 'Версии найденных CMS', 'folder.unsafe_writable' => 'Потенциально небезопасно! Директории, доступные скрипту на запись', 'folder.unsafe_writable_not_found' => 'Не найдено директорий, доступных на запись скриптом', 'folder.added' => "Добавленные каталоги", 'folder.deleted' => "Удаленные каталоги", 'memory_used' => 'Использовано памяти при сканировании: ', 'notice.scan_express' => '<div class="rep">Внимание! Выполнена экспресс-проверка сайта. Просканированы только файлы с расширением .php, .js, .html, .htaccess. В этом режиме могут быть пропущены вирусы и хакерские скрипты в файлах с другими расширениями. Чтобы выполнить более тщательное сканирование, поменяйте значение настройки на <b>\'scan_all_files\' => 1</b> в строке 50 или откройте сканер в браузере с параметром full: <b><a href="ai-bolit.php?p=&full">ai-bolit.php?p=&full</a></b>. <p>Не забудьте перед повторным запуском удалить файл %s</div>', 'feedback_for_script' => 'Мы будем чрезвычайно благодарны за любые упоминания скрипта AI-Bolit на вашем сайте, в блоге, среди друзей, знакомых и клиентов. Ссылочку можно поставить на <a href="https://revisium.com/ai/">https://revisium.com/ai/</a>.', 'report_for' => 'Отчет по ', 'function.many_reference' => 'Много косвенных вызовов функции', 'str.abnormal_split' => 'Дробление строки на символы', 'scan.offer_modes_after_express' => 'Сканирование выполнено в экспресс-режиме. Многие вредоносные скрипты могут быть не обнаружены.<br> Рекомендуем проверить сайт в режиме "Эксперт" или "Параноидальный". Подробно описано в <a href="https://revisium.com/ai/faq.php">FAQ</a> и инструкции к скрипту.', 'mobile_redirects' => 'Мобильных редиректов', 'skipped.large_file' => 'Большие файлы (больше чем %s). Пропущено', 'malware' => 'Вредоносных скриптов', 'js_virused' => 'JS Вирусов', 'phishing_pages' => 'Фишинговых страниц', 'executable_files' => 'Исполняемых файлов', 'iframe_injections' => 'IFRAME вставок', 'skipped_large_file' => 'Пропущенных больших файлов', 'error.read_file' => 'Ошибок чтения файлов', 'suspicious' => 'Подозрительных', 'report.summary' => 'Сводный отчет', 'footer' => TemplateList::FOOTER_RU, 'notice.files_may_not_malicious' => "Обращаем внимание, что обнаруженные файлы не всегда являются вирусами и хакерскими скриптами. Сканер минимизирует число ложных обнаружений, но это не всегда возможно, так как найденный фрагмент может встречаться как во вредоносных скриптах, так и в обычных.<p>Для диагностического сканирования без ложных срабатываний мы разработали специальную версию <u><a href=\"https://revisium.com/ru/blog/ai-bolit-4-ISP.html\" target=_blank style=\"background: none; color: #303030\">сканера для хостинг-компаний</a></u>.", 'script.vulnerable' => "Уязвимости в скриптах", 'path' => 'Путь', 'property_change' => 'Изменение свойств', 'content_change' => 'Изменение содержимого', 'size' => 'Размер', 'php_config' => 'Конфигурация PHP', ]; const EN = [ //variables for javascript 'data_table.length_menu' => 'Display _MENU_ records', 'data_table.zero_records' => 'Not found', 'data_table.info' => 'Display from _START_ to _END_ of _TOTAL_ files', 'data_table.info_empty' => 'No files', 'data_table.info_filtered' => '(total _MAX_)', 'data_table.search' => 'Filter/Search:', 'data_table.paginate.first' => 'First', 'data_table.paginate.previous' => 'Previous', 'data_table.paginate.next' => 'Next', 'data_table.paginate.last' => 'Last', 'data_table.aria.sort_ascending' => ': activate to sort row ascending order', 'data_table.aria.sort_descending' => ': activate to sort row descending order', 'header.scan_report_title' => 'AI-Bolit v@@VERSION@@ Scan Report:', 'offer.when_no_critical' => '', 'offer_our_products' => TemplateList::OFFER_OUR_PRODUCTS_EN, 'offer.when_has_critical' => TemplateList::OFFER_EN, 'сaution.aibolit_file' => 'Caution! Do not leave either ai-bolit.php or report file on server and do not provide direct links to the report file. Report file contains sensitive information about your website which could be used by hackers. So keep it in safe place and don\'t leave on website!', 'сaution.scanner_set_password' => "Open AI-BOLIT with password specified in the beggining of file in PASS variable. <br/>E.g. http://you_website.com/ai-bolit.php?p=<b>%s</b>", 'сaution.quick_scanned' => '<div class="rep" style="color: #0000A0">Attention! Script has performed quick scan. It scans only .html/.js/.php files in quick scan mode so some of malicious scripts might not be detected. <br>Please launch script from a command line thru SSH to perform full scan.', 'warning.weak_password' => "Your password for AI-BOLIT is too weak. Password must be more than 8 character length, contain both latin letters in upper and lower case, and digits. E.g. <b>%s</b>", 'warning.folder_read_permission' => 'Current folder is not readable. Please change permission for <b>rwxr-xr-x</b> or using command line <b>chmod +r folder_name</b>', 'warnings' => 'Warnings', 'warning.reading_error' => 'Reading error. Skipped.', 'info.time_elapsed' => "<div class=\"rep\">%s malicious signatures known, %s virus signatures and other malicious code. Elapsed: <b>%s</b >.<br/>Started: %s. Stopped: %s</div> ", 'info.files_checked' => 'Scanned %s folders and %s files.', 'info.non_commercial_use' => 'For non-commercial use only.', 'critical.title' => '<div class="title">Critical</div>', 'detected.shell_scripts' => 'Shell script signatures detected. Might be a malicious or hacker\'s scripts', 'not_detected.shell_scripts' => 'Shell scripts signatures not detected.', 'detected.javascript' => 'Javascript virus signatures detected:', 'detected.executables' => 'Unix executables signatures and odd scripts detected. They might be a malicious binaries or rootkits:', 'detected.bad_links' => 'This script has black-SEO links or linkfarm. Check if it was installed by yourself:', 'detected.phishing_pages' => 'Phishing pages detected:', 'file.not_found.more_than' => 'Files greater than %s not found', 'file.recommend_to_remove' => 'Files recommended to be remove due to security reason:', 'file.scanned_manual' => 'Quick scan through the files from %s. For full scan remove %s and launch scanner once again.', 'file.suspicion.heuristic_analyze' => 'Heuristic Analyzer has detected suspicious files. Check if they are malware.', 'file.encrypted' => 'Encrypted files', 'file.hidden' => 'Hidden files', 'files_may_not_malicious' => "Notice! Some of detected files may not contain malicious code. Scanner tries to minimize a number of false positives, but sometimes it's impossible, because same piece of code may be used either in malware or in normal scripts.", 'file.added' => "Added files", 'file.updated' => "Modified files", 'file.deleted' => "Deleted files", 'file_structure.updates' => "Integrity Check Report", 'hidden_files' => 'Hidden files:', 'doorway.might' => 'Files might be a part of doorway:', 'doorway.not_found' => 'Doorway folders not detected', 'suspicion.multiple' => 'Suspicious encoded strings, extra .php extention or external includes detected in PHP files. Might be a malicious or hacker\'s script:', 'suspicion.malicious' => 'Might be a malicious or hacker\'s script:', 'suspicion.htaccess' => 'Malicious code in .htaccess (redirect to external server, extention handler replacement or malicious code auto-append):', 'suspicion.non_php' => 'Non-PHP file has PHP signature. Check for malicious code:', 'suspicion.hidden_link' => 'These files have invisible links, might be black-seo stuff:', 'suspicion.doorway' => 'Folders contained too many .php or .html files. Might be a doorway:', 'suspicion.code' => 'Suspicious code detected. It\'s usually used in malicious scrips:', 'suspicion.obfuscated_variables' => 'Suspected for obfuscated variables', 'suspicion.global_array' => 'Suspected for $GLOBAL array usage', 'suspicion.file_time' => "Suspicious file mtime and ctime", 'suspicion.file_attributes' => "Suspicious file permissions", 'suspicion.file_location' => "Suspicious file location", 'symlinks' => 'Symlinks:', 'hidden_links' => 'List of invisible links:', 'link.symbolic' => 'Symbolic links', 'links.adware_spam' => 'Adware and spam links', 'links.empty' => 'Empty links', 'display_only_first' => 'Displayed first ', 'skipped.adirignore' => 'The following list of files specified in .adirignore has been skipped:', 'founded_CMS' => 'CMS found:', 'folder.unsafe_writable' => 'Potentially unsafe! Folders which are writable for scripts:', 'folder.unsafe_writable_not_found' => 'Writable folders not found', 'folder.added' => "Added directories", 'folder.deleted' => "Deleted directories", 'memory_used' => 'Memory used: ', 'notice.scan_express' => '<div class="notice"><span class="vir">[!]</span> Ai-BOLIT is working in quick scan mode, only .php, .html, .htaccess files will be checked. Change the following setting \'scan_all_files\' => 1 to perform full scanning.</b>. </div>', 'feedback_for_script' => "I'm sincerely appreciate reports for any bugs you may found in the script. Please email me: <a href=\"mailto:audit@revisium.com\">audit@revisium.com</a>.<p> Also I appriciate any reference to the script in your blog or forum posts. Thank you for the link to download page: <a href=\"https://revisium.com/aibo/\">https://revisium.com/aibo/</a>", 'report_for' => 'Report for ', 'function.many_reference' => 'Function called by reference', 'str.abnormal_split' => 'Abnormal split of string', 'scan.offer_modes_after_express' => 'Scanning has been done in simple mode. It is strongly recommended to perform scanning in "Expert" mode. See readme.txt for details.', 'mobile_redirects' => 'Mobile redirects', 'skipped.large_file' => 'Large files (greater than %s! Skipped:', 'malware' => 'Malware', 'js_virused' => 'JS viruses', 'phishing_pages' => 'Phishing pages', 'executable_files' => 'Unix executables', 'iframe_injections' => 'IFRAME injections', 'skipped_large_file' => 'Skipped big files', 'critical.error_read_file' => 'Reading errors', 'suspicious' => 'Suspicious', 'report.summary' => 'Summary', 'footer' => TemplateList::FOOTER_EN, 'script.vulnerable' => "Vulnerable Scripts", 'path' => 'Path', 'property_change' => 'iNode Changed', 'content_change' => 'Modified', 'size' => 'Size', 'php_config' => 'PHP Info', ]; } class OsReleaseInfo { private $prefix = ''; private $release_file = ''; const DEBIAN = ['debian']; const RHEL_FEDORA_CENTOS = ['rhel', 'fedora', 'centos']; const UNKNOWN = ['unknown']; private $_supported_dists = [ 'SuSE', 'debian', 'fedora', 'redhat', 'centos', 'mandrake', 'mandriva', 'rocks', 'slackware', 'yellowdog', 'gentoo', 'UnitedLinux', 'turbolinux']; private $_release_filename = '(\w+)[-_](release|version)'; private $_lsb_release_version = '(.+)' . ' release ' . '([\d.]+)' . '[^(]*(?:\((.+)\))?'; private $_release_version = '([^0-9]+)' . '(?: release )?' . '([\d.]+)' . '[^(]*(?:\((.+)\))?'; private $release = []; public function __construct($prefix = '', $release_file = '/etc/os-release') { $this->prefix = $prefix; $this->release_file = $this->prefix . $release_file; $this->getRelease($this->release_file); } private function getOsReleaseAndVersion() { $ver = rtrim(@file_get_contents($this->prefix . '/etc/system-release')); return $ver ?: $this->release['VERSION']; } public function getOsVersion($release_and_version = false) { $rv = $release_and_version ? $release_and_version : $this->getOsReleaseAndVersion(); if ($rv) { if (preg_match('~\s*(\d+\.\d+\S*)(\s|$)~', $rv, $m)) { return $m[1]; } } return $this->release['VERSION_ID'] ? $this->release['VERSION_ID'] : false; } private function linuxDistribution($distname = '', $version = '', $id = '') { $dists = array_flip($this->_supported_dists); if (!file_exists($this->prefix . '/etc')) { return [$distname, $version, $id]; } $file = ''; $etc = scandir($this->prefix . '/etc'); foreach ($etc as $file) { if (preg_match('~' . $this->_release_filename . '~', $file, $m)) { if (isset($dists[$m[1]])) { $_distname = $m[1]; $distname = $m[1]; break; } } } $f = fopen($this->prefix . '/etc/' . $file, 'r'); $firstline = fgets($f); fclose($f); list($_distname, $_version, $_id) = $this->_parseReleaseFile($firstline); if ($_distname) { $distname = $_distname; } if ($_version) { $version = $_version; } if ($_id) { $id = $_id; } return [$distname, $version, $id]; } private function _parseReleaseFile($firstline) { $version = ''; $id = ''; if (preg_match('~' . $this->_lsb_release_version . '~', $firstline, $m)) { return [$m[1], $m[2], $m[3]]; } if (preg_match('~' . $this->_release_version . '~', $firstline, $m)) { return [$m[1], $m[2], $m[3]]; } $l = preg_split("~\s+~", trim($firstline), -1, PREG_SPLIT_NO_EMPTY); if (!empty($l)) { $version = $l[0]; if (count($l) > 1) { $id = $l[1]; } } return ['', $version, $id]; } private function getReleaseFromFile($release_file) { $lines = file($release_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); foreach ($lines as $line) { list($k, $v) = explode('=', rtrim($line), 2); $this->release[$k] = trim($v, '"'); } if (isset($this->release['ID_LIKE'])) { $this->release['ID_LIKE'] = preg_split('~\s+~', $this->release['ID_LIKE'], -1, PREG_SPLIT_NO_EMPTY); } else { $this->release['ID_LIKE'] = [$this->release['ID']]; } } private function getRelease($release_file = '') { if (count($this->release) != 0) { return $this->release; } if ($this->release_file) { $release_file = $this->release_file; } $osid = ''; if (file_exists($release_file)) { $this->getReleaseFromFile($release_file); } else { $d = $this->linuxDistribution(); if ($d && isset($d[0])) { $osid = current(preg_split('~\s+~', strtolower($d[0]), -1, PREG_SPLIT_NO_EMPTY)); if ($osid == 'red' && strpos($d[0], 'Red Hat Enterprise Linux')) { $osid = 'rhel'; } $this->release['ID'] = $osid; $this->release['PRETTY_NAME'] = "{$d[0]} {$d[1]} ({$d[2]})"; if (in_array($osid, ['cloudlinux', 'centos', 'rhel'])) { $this->release['ID_LIKE'] = self::RHEL_FEDORA_CENTOS; } else if (in_array($osid, ['ubuntu', 'debian'])) { $this->release['ID_LIKE'] = self::DEBIAN; } else { $this->release['ID_LIKE'] = self::UNKNOWN; } } else { $this->release['ID'] = 'unknown'; $this->release['ID_LIKE'] = self::UNKNOWN; $this->release['PRETTY_NAME'] = 'unknown'; } } return $this->release; } public function getIdLike() { $rel = $this->getRelease(); return $rel['ID_LIKE']; } public function isIdLikeCentos() { $rel = $this->getRelease(); foreach (self::RHEL_FEDORA_CENTOS as $os) { if (in_array($os, $rel['ID_LIKE'])) { return true; } } return false; } public function getPrettyName() { $rel = $this->getRelease(); return $rel['PRETTY_NAME']; } public function getOs() { $rel = $this->getRelease(); return $rel['ID']; } public function isRhel() { return $this->getOs() == 'rhel'; } public function isCentos() { return $this->getOs() == 'centos'; } public function isUbuntu() { return $this->getOs() == 'ubuntu'; } public function isCloudlinux() { return $this->getOs() == 'cloudlinux'; } public function isDebian() { return $this->getOs() == 'debian'; } } /** * Class FileHashMemoryDb. * * Implements operations to load the file hash database into memory and work with it. */ class FileHashMemoryDb { const HEADER_SIZE = 1024; const ROW_SIZE = 20; /** * @var int */ private $count; /** * @var array */ private $header; /** * @var resource */ private $fp; /** * @var array */ private $data; /** * Creates a new DB file and open it. * * @param $filepath * @return FileHashMemoryDb * @throws Exception */ public static function create($filepath) { if (file_exists($filepath)) { throw new Exception('File \'' . $filepath . '\' already exists.'); } $value = pack('V', 0); $header = array_fill(0, 256, $value); file_put_contents($filepath, implode($header)); return new self($filepath); } /** * Opens a particular DB file. * * @param $filepath * @return FileHashMemoryDb * @throws Exception */ public static function open($filepath) { if (!file_exists($filepath)) { throw new Exception('File \'' . $filepath . '\' does not exist.'); } return new self($filepath); } /** * FileHashMemoryDb constructor. * * @param mixed $filepath * @throws Exception */ private function __construct($filepath) { $this->fp = fopen($filepath, 'rb'); if (false === $this->fp) { throw new Exception('File \'' . $filepath . '\' can not be opened.'); } try { $this->header = unpack('V256', fread($this->fp, self::HEADER_SIZE)); $this->count = (int) (max(0, filesize($filepath) - self::HEADER_SIZE) / self::ROW_SIZE); foreach ($this->header as $chunk_id => $chunk_size) { if ($chunk_size > 0) { $str = fread($this->fp, $chunk_size); } else { $str = ''; } $this->data[$chunk_id] = $str; } } catch (Exception $e) { throw new Exception('File \'' . $filepath . '\' is not a valid DB file. An original error: \'' . $e->getMessage() . '\''); } } /** * Calculates and returns number of hashes stored in a loaded database. * * @return int number of hashes stored in a DB */ public function count() { return $this->count; } /** * Find hashes in a DB. * * @param array $list of hashes to find in a DB * @return array list of hashes from the $list parameter that are found in a DB */ public function find($list) { sort($list); $hash = reset($list); $found = array(); foreach ($this->header as $chunk_id => $chunk_size) { if ($chunk_size > 0) { $str = $this->data[$chunk_id]; do { $raw = pack("H*", $hash); $id = ord($raw[0]) + 1; if ($chunk_id == $id AND $this->binarySearch($str, $raw)) { $found[] = (string)$hash; } } while ($chunk_id >= $id AND $hash = next($list)); if ($hash === false) { break; } } } return $found; } /** * Searches $item in the $str using an implementation of the binary search algorithm. * * @param $str * @param $item * @return bool */ private function binarySearch($str, $item) { $item_size = strlen($item); if ($item_size == 0) { return false; } $first = 0; $last = floor(strlen($str) / $item_size); while ($first < $last) { $mid = $first + (($last - $first) >> 1); $b = substr($str, $mid * $item_size, $item_size); if (strcmp($item, $b) <= 0) { $last = $mid; } else { $first = $mid + 1; } } $b = substr($str, $last * $item_size, $item_size); if ($b == $item) { return true; } else { return false; } } /** * FileHashDB destructor. */ public function __destruct() { fclose($this->fp); } } class FilepathEscaper { public static function encodeFilepath($filepath) { return str_replace(array('\\', "\n", "\r"), array('\\\\', '\\n', '\\r'), $filepath); } public static function decodeFilepath($filepath) { return preg_replace_callback('~(\\\\+)(.)~', function ($matches) { $count = strlen($matches[1]); if ($count % 2 === 0) { return str_repeat('\\', $count/2) . $matches[2]; } return str_repeat('\\', floor($count/2)) . stripcslashes('\\' . $matches[2]); }, $filepath); } public static function encodeFilepathByBase64($filepath) { return base64_encode($filepath); } public static function decodeFilepathByBase64($filepath_base64) { return base64_decode($filepath_base64); } } class StringToStreamWrapper { const WRAPPER_NAME = 'var'; private static $_content; private $_position; /** * Prepare a new memory stream with the specified content * @return string */ public static function prepare($content) { if (!in_array(self::WRAPPER_NAME, stream_get_wrappers())) { stream_wrapper_register(self::WRAPPER_NAME, get_class()); } self::$_content = $content; } public function stream_open($path, $mode, $options, &$opened_path) { $this->_position = 0; return true; } public function stream_read($count) { $ret = substr(self::$_content, $this->_position, $count); $this->_position += strlen($ret); return $ret; } public function stream_stat() { return array(); } public function stream_eof() { return $this->_position >= strlen(self::$_content); } public function stream_set_option($option , $arg1, $arg2 ) { return true; } } class Normalization { private static $confusables = "YToxNTYxOntzOjM6IuKAqCI7czoxOiIgIjtzOjM6IuKAqSI7czoxOiIgIjtzOjM6IuGagCI7czoxOiIgIjtzOjM6IuKAgCI7czoxOiIgIjtzOjM6IuKAgSI7czoxOiIgIjtzOjM6IuKAgiI7czoxOiIgIjtzOjM6IuKAgyI7czoxOiIgIjtzOjM6IuKAhCI7czoxOiIgIjtzOjM6IuKAhSI7czoxOiIgIjtzOjM6IuKAhiI7czoxOiIgIjtzOjM6IuKAiCI7czoxOiIgIjtzOjM6IuKAiSI7czoxOiIgIjtzOjM6IuKAiiI7czoxOiIgIjtzOjM6IuKBnyI7czoxOiIgIjtzOjI6IsKgIjtzOjE6IiAiO3M6Mzoi4oCHIjtzOjE6IiAiO3M6Mzoi4oCvIjtzOjE6IiAiO3M6Mjoi37oiO3M6MToiXyI7czozOiLvuY0iO3M6MToiXyI7czozOiLvuY4iO3M6MToiXyI7czozOiLvuY8iO3M6MToiXyI7czozOiLigJAiO3M6MToiLSI7czozOiLigJEiO3M6MToiLSI7czozOiLigJIiO3M6MToiLSI7czozOiLigJMiO3M6MToiLSI7czozOiLvuZgiO3M6MToiLSI7czoyOiLblCI7czoxOiItIjtzOjM6IuKBgyI7czoxOiItIjtzOjI6IsuXIjtzOjE6Ii0iO3M6Mzoi4oiSIjtzOjE6Ii0iO3M6Mzoi4p6WIjtzOjE6Ii0iO3M6Mzoi4rK6IjtzOjE6Ii0iO3M6Mjoi2I0iO3M6MToiLCI7czoyOiLZqyI7czoxOiIsIjtzOjM6IuKAmiI7czoxOiIsIjtzOjI6IsK4IjtzOjE6IiwiO3M6Mzoi6pO5IjtzOjE6IiwiO3M6Mjoizb4iO3M6MToiOyI7czozOiLgpIMiO3M6MToiOiI7czozOiLgqoMiO3M6MToiOiI7czozOiLvvJoiO3M6MToiOiI7czoyOiLWiSI7czoxOiI6IjtzOjI6ItyDIjtzOjE6IjoiO3M6Mjoi3IQiO3M6MToiOiI7czozOiLhm6wiO3M6MToiOiI7czozOiLvuLAiO3M6MToiOiI7czozOiLhoIMiO3M6MToiOiI7czozOiLhoIkiO3M6MToiOiI7czozOiLigZoiO3M6MToiOiI7czoyOiLXgyI7czoxOiI6IjtzOjI6Isu4IjtzOjE6IjoiO3M6Mzoi6p6JIjtzOjE6IjoiO3M6Mzoi4oi2IjtzOjE6IjoiO3M6Mjoiy5AiO3M6MToiOiI7czozOiLqk70iO3M6MToiOiI7czozOiLvvIEiO3M6MToiISI7czoyOiLHgyI7czoxOiIhIjtzOjM6IuK1kSI7czoxOiIhIjtzOjI6IsqUIjtzOjE6Ij8iO3M6MjoiyYEiO3M6MToiPyI7czozOiLgpb0iO3M6MToiPyI7czozOiLhjq4iO3M6MToiPyI7czozOiLqm6siO3M6MToiPyI7czo0OiLwnYWtIjtzOjE6Ii4iO3M6Mzoi4oCkIjtzOjE6Ii4iO3M6Mjoi3IEiO3M6MToiLiI7czoyOiLcgiI7czoxOiIuIjtzOjM6IuqYjiI7czoxOiIuIjtzOjQ6IvCQqZAiO3M6MToiLiI7czoyOiLZoCI7czoxOiIuIjtzOjI6ItuwIjtzOjE6Ii4iO3M6Mzoi6pO4IjtzOjE6Ii4iO3M6Mzoi44O7IjtzOjE6IrciO3M6Mzoi772lIjtzOjE6IrciO3M6Mzoi4ZurIjtzOjE6IrciO3M6MjoizociO3M6MToityI7czozOiLiuLEiO3M6MToityI7czo0OiLwkISBIjtzOjE6IrciO3M6Mzoi4oCiIjtzOjE6IrciO3M6Mzoi4oCnIjtzOjE6IrciO3M6Mzoi4oiZIjtzOjE6IrciO3M6Mzoi4ouFIjtzOjE6IrciO3M6Mzoi6p6PIjtzOjE6IrciO3M6Mzoi4ZCnIjtzOjE6IrciO3M6Mjoi1Z0iO3M6MToiJyI7czozOiLvvIciO3M6MToiJyI7czozOiLigJgiO3M6MToiJyI7czozOiLigJkiO3M6MToiJyI7czozOiLigJsiO3M6MToiJyI7czozOiLigLIiO3M6MToiJyI7czozOiLigLUiO3M6MToiJyI7czoyOiLVmiI7czoxOiInIjtzOjI6ItezIjtzOjE6IiciO3M6MToiYCI7czoxOiInIjtzOjM6IuG/ryI7czoxOiInIjtzOjM6Iu+9gCI7czoxOiInIjtzOjI6IsK0IjtzOjE6IiciO3M6MjoizoQiO3M6MToiJyI7czozOiLhv70iO3M6MToiJyI7czozOiLhvr0iO3M6MToiJyI7czozOiLhvr8iO3M6MToiJyI7czozOiLhv74iO3M6MToiJyI7czoyOiLKuSI7czoxOiInIjtzOjI6Is20IjtzOjE6IiciO3M6Mjoiy4giO3M6MToiJyI7czoyOiLLiiI7czoxOiInIjtzOjI6IsuLIjtzOjE6IiciO3M6Mjoiy7QiO3M6MToiJyI7czoyOiLKuyI7czoxOiInIjtzOjI6Isq9IjtzOjE6IiciO3M6MjoiyrwiO3M6MToiJyI7czoyOiLKviI7czoxOiInIjtzOjM6IuqejCI7czoxOiInIjtzOjI6IteZIjtzOjE6IiciO3M6Mjoi37QiO3M6MToiJyI7czoyOiLftSI7czoxOiInIjtzOjM6IuGRiiI7czoxOiInIjtzOjM6IuGbjCI7czoxOiInIjtzOjQ6IvCWvZEiO3M6MToiJyI7czo0OiLwlr2SIjtzOjE6IiciO3M6Mzoi77y7IjtzOjE6IigiO3M6Mzoi4p2oIjtzOjE6IigiO3M6Mzoi4p2yIjtzOjE6IigiO3M6Mzoi44CUIjtzOjE6IigiO3M6Mzoi77S+IjtzOjE6IigiO3M6Mzoi77y9IjtzOjE6IikiO3M6Mzoi4p2pIjtzOjE6IikiO3M6Mzoi4p2zIjtzOjE6IikiO3M6Mzoi44CVIjtzOjE6IikiO3M6Mzoi77S/IjtzOjE6IikiO3M6Mzoi4p20IjtzOjE6InsiO3M6NDoi8J2ElCI7czoxOiJ7IjtzOjM6IuKdtSI7czoxOiJ9IjtzOjM6IuK4vyI7czoxOiK2IjtzOjM6IuKBjiI7czoxOiIqIjtzOjI6ItmtIjtzOjE6IioiO3M6Mzoi4oiXIjtzOjE6IioiO3M6NDoi8JCMnyI7czoxOiIqIjtzOjM6IuGctSI7czoxOiIvIjtzOjM6IuKBgSI7czoxOiIvIjtzOjM6IuKIlSI7czoxOiIvIjtzOjM6IuKBhCI7czoxOiIvIjtzOjM6IuKVsSI7czoxOiIvIjtzOjM6IuKfiyI7czoxOiIvIjtzOjM6IuKnuCI7czoxOiIvIjtzOjQ6IvCdiLoiO3M6MToiLyI7czozOiLjh5MiO3M6MToiLyI7czozOiLjgLMiO3M6MToiLyI7czozOiLis4YiO3M6MToiLyI7czozOiLjg44iO3M6MToiLyI7czozOiLkuL8iO3M6MToiLyI7czozOiLivIMiO3M6MToiLyI7czozOiLvvLwiO3M6MToiXCI7czozOiLvuagiO3M6MToiXCI7czozOiLiiJYiO3M6MToiXCI7czozOiLin40iO3M6MToiXCI7czozOiLip7UiO3M6MToiXCI7czozOiLip7kiO3M6MToiXCI7czo0OiLwnYiPIjtzOjE6IlwiO3M6NDoi8J2IuyI7czoxOiJcIjtzOjM6IuOHlCI7czoxOiJcIjtzOjM6IuS4tiI7czoxOiJcIjtzOjM6IuK8giI7czoxOiJcIjtzOjM6IuqduCI7czoxOiImIjtzOjI6IsuEIjtzOjE6Il4iO3M6Mjoiy4YiO3M6MToiXiI7czozOiLiuLAiO3M6MToisCI7czoyOiLLmiI7czoxOiKwIjtzOjM6IuKImCI7czoxOiKwIjtzOjM6IuKXiyI7czoxOiKwIjtzOjM6IuKXpiI7czoxOiKwIjtzOjM6IuKSuCI7czoxOiKpIjtzOjM6IuKThyI7czoxOiKuIjtzOjM6IuGbrSI7czoxOiIrIjtzOjM6IuKelSI7czoxOiIrIjtzOjQ6IvCQipsiO3M6MToiKyI7czozOiLinpciO3M6MToi9yI7czozOiLigLkiO3M6MToiPCI7czozOiLina4iO3M6MToiPCI7czoyOiLLgiI7czoxOiI8IjtzOjQ6IvCdiLYiO3M6MToiPCI7czozOiLhkLgiO3M6MToiPCI7czozOiLhmrIiO3M6MToiPCI7czozOiLhkIAiO3M6MToiPSI7czozOiLiuYAiO3M6MToiPSI7czozOiLjgqAiO3M6MToiPSI7czozOiLqk78iO3M6MToiPSI7czozOiLigLoiO3M6MToiPiI7czozOiLina8iO3M6MToiPiI7czoyOiLLgyI7czoxOiI+IjtzOjQ6IvCdiLciO3M6MToiPiI7czozOiLhkLMiO3M6MToiPiI7czo0OiLwlry/IjtzOjE6Ij4iO3M6Mzoi4oGTIjtzOjE6In4iO3M6Mjoiy5wiO3M6MToifiI7czozOiLhv4AiO3M6MToifiI7czozOiLiiLwiO3M6MToifiI7czozOiLigqQiO3M6MToioyI7czo0OiLwnZ+QIjtzOjE6IjIiO3M6NDoi8J2fmiI7czoxOiIyIjtzOjQ6IvCdn6QiO3M6MToiMiI7czo0OiLwnZ+uIjtzOjE6IjIiO3M6NDoi8J2fuCI7czoxOiIyIjtzOjM6IuqdmiI7czoxOiIyIjtzOjI6IsanIjtzOjE6IjIiO3M6Mjoiz6giO3M6MToiMiI7czozOiLqmYQiO3M6MToiMiI7czozOiLhkr8iO3M6MToiMiI7czozOiLqm68iO3M6MToiMiI7czo0OiLwnYiGIjtzOjE6IjMiO3M6NDoi8J2fkSI7czoxOiIzIjtzOjQ6IvCdn5siO3M6MToiMyI7czo0OiLwnZ+lIjtzOjE6IjMiO3M6NDoi8J2fryI7czoxOiIzIjtzOjQ6IvCdn7kiO3M6MToiMyI7czozOiLqnqsiO3M6MToiMyI7czoyOiLInCI7czoxOiIzIjtzOjI6Isa3IjtzOjE6IjMiO3M6Mzoi6p2qIjtzOjE6IjMiO3M6Mzoi4rOMIjtzOjE6IjMiO3M6Mjoi0JciO3M6MToiMyI7czoyOiLToCI7czoxOiIzIjtzOjQ6IvCWvLsiO3M6MToiMyI7czo0OiLwkaOKIjtzOjE6IjMiO3M6NDoi8J2fkiI7czoxOiI0IjtzOjQ6IvCdn5wiO3M6MToiNCI7czo0OiLwnZ+mIjtzOjE6IjQiO3M6NDoi8J2fsCI7czoxOiI0IjtzOjQ6IvCdn7oiO3M6MToiNCI7czozOiLhj44iO3M6MToiNCI7czo0OiLwkaKvIjtzOjE6IjQiO3M6NDoi8J2fkyI7czoxOiI1IjtzOjQ6IvCdn50iO3M6MToiNSI7czo0OiLwnZ+nIjtzOjE6IjUiO3M6NDoi8J2fsSI7czoxOiI1IjtzOjQ6IvCdn7siO3M6MToiNSI7czoyOiLGvCI7czoxOiI1IjtzOjQ6IvCRorsiO3M6MToiNSI7czo0OiLwnZ+UIjtzOjE6IjYiO3M6NDoi8J2fniI7czoxOiI2IjtzOjQ6IvCdn6giO3M6MToiNiI7czo0OiLwnZ+yIjtzOjE6IjYiO3M6NDoi8J2fvCI7czoxOiI2IjtzOjM6IuKzkiI7czoxOiI2IjtzOjI6ItCxIjtzOjE6IjYiO3M6Mzoi4Y+uIjtzOjE6IjYiO3M6NDoi8JGjlSI7czoxOiI2IjtzOjQ6IvCdiJIiO3M6MToiNyI7czo0OiLwnZ+VIjtzOjE6IjciO3M6NDoi8J2fnyI7czoxOiI3IjtzOjQ6IvCdn6kiO3M6MToiNyI7czo0OiLwnZ+zIjtzOjE6IjciO3M6NDoi8J2fvSI7czoxOiI3IjtzOjQ6IvCQk5IiO3M6MToiNyI7czo0OiLwkaOGIjtzOjE6IjciO3M6Mzoi4KyDIjtzOjE6IjgiO3M6Mzoi4KeqIjtzOjE6IjgiO3M6Mzoi4KmqIjtzOjE6IjgiO3M6NDoi8J6jiyI7czoxOiI4IjtzOjQ6IvCdn5YiO3M6MToiOCI7czo0OiLwnZ+gIjtzOjE6IjgiO3M6NDoi8J2fqiI7czoxOiI4IjtzOjQ6IvCdn7QiO3M6MToiOCI7czo0OiLwnZ++IjtzOjE6IjgiO3M6MjoiyKMiO3M6MToiOCI7czoyOiLIoiI7czoxOiI4IjtzOjQ6IvCQjJoiO3M6MToiOCI7czozOiLgqaciO3M6MToiOSI7czozOiLgragiO3M6MToiOSI7czozOiLgp60iO3M6MToiOSI7czozOiLgta0iO3M6MToiOSI7czo0OiLwnZ+XIjtzOjE6IjkiO3M6NDoi8J2foSI7czoxOiI5IjtzOjQ6IvCdn6siO3M6MToiOSI7czo0OiLwnZ+1IjtzOjE6IjkiO3M6NDoi8J2fvyI7czoxOiI5IjtzOjM6IuqdriI7czoxOiI5IjtzOjM6IuKziiI7czoxOiI5IjtzOjQ6IvCRo4wiO3M6MToiOSI7czo0OiLwkaKsIjtzOjE6IjkiO3M6NDoi8JGjliI7czoxOiI5IjtzOjM6IuKNuiI7czoxOiJhIjtzOjM6Iu+9gSI7czoxOiJhIjtzOjQ6IvCdkJoiO3M6MToiYSI7czo0OiLwnZGOIjtzOjE6ImEiO3M6NDoi8J2SgiI7czoxOiJhIjtzOjQ6IvCdkrYiO3M6MToiYSI7czo0OiLwnZOqIjtzOjE6ImEiO3M6NDoi8J2UniI7czoxOiJhIjtzOjQ6IvCdlZIiO3M6MToiYSI7czo0OiLwnZaGIjtzOjE6ImEiO3M6NDoi8J2WuiI7czoxOiJhIjtzOjQ6IvCdl64iO3M6MToiYSI7czo0OiLwnZiiIjtzOjE6ImEiO3M6NDoi8J2ZliI7czoxOiJhIjtzOjQ6IvCdmooiO3M6MToiYSI7czoyOiLJkSI7czoxOiJhIjtzOjI6Is6xIjtzOjE6ImEiO3M6NDoi8J2bgiI7czoxOiJhIjtzOjQ6IvCdm7wiO3M6MToiYSI7czo0OiLwnZy2IjtzOjE6ImEiO3M6NDoi8J2dsCI7czoxOiJhIjtzOjQ6IvCdnqoiO3M6MToiYSI7czoyOiLQsCI7czoxOiJhIjtzOjM6Iu+8oSI7czoxOiJBIjtzOjQ6IvCdkIAiO3M6MToiQSI7czo0OiLwnZC0IjtzOjE6IkEiO3M6NDoi8J2RqCI7czoxOiJBIjtzOjQ6IvCdkpwiO3M6MToiQSI7czo0OiLwnZOQIjtzOjE6IkEiO3M6NDoi8J2UhCI7czoxOiJBIjtzOjQ6IvCdlLgiO3M6MToiQSI7czo0OiLwnZWsIjtzOjE6IkEiO3M6NDoi8J2WoCI7czoxOiJBIjtzOjQ6IvCdl5QiO3M6MToiQSI7czo0OiLwnZiIIjtzOjE6IkEiO3M6NDoi8J2YvCI7czoxOiJBIjtzOjQ6IvCdmbAiO3M6MToiQSI7czoyOiLOkSI7czoxOiJBIjtzOjQ6IvCdmqgiO3M6MToiQSI7czo0OiLwnZuiIjtzOjE6IkEiO3M6NDoi8J2cnCI7czoxOiJBIjtzOjQ6IvCdnZYiO3M6MToiQSI7czo0OiLwnZ6QIjtzOjE6IkEiO3M6Mjoi0JAiO3M6MToiQSI7czozOiLhjqoiO3M6MToiQSI7czozOiLhl4UiO3M6MToiQSI7czozOiLqk64iO3M6MToiQSI7czo0OiLwlr2AIjtzOjE6IkEiO3M6NDoi8JCKoCI7czoxOiJBIjtzOjI6IsinIjtzOjE6IuUiO3M6MjoiyKYiO3M6MToixSI7czo0OiLwnZCbIjtzOjE6ImIiO3M6NDoi8J2RjyI7czoxOiJiIjtzOjQ6IvCdkoMiO3M6MToiYiI7czo0OiLwnZK3IjtzOjE6ImIiO3M6NDoi8J2TqyI7czoxOiJiIjtzOjQ6IvCdlJ8iO3M6MToiYiI7czo0OiLwnZWTIjtzOjE6ImIiO3M6NDoi8J2WhyI7czoxOiJiIjtzOjQ6IvCdlrsiO3M6MToiYiI7czo0OiLwnZevIjtzOjE6ImIiO3M6NDoi8J2YoyI7czoxOiJiIjtzOjQ6IvCdmZciO3M6MToiYiI7czo0OiLwnZqLIjtzOjE6ImIiO3M6MjoixoQiO3M6MToiYiI7czoyOiLQrCI7czoxOiJiIjtzOjM6IuGPjyI7czoxOiJiIjtzOjM6IuGRsiI7czoxOiJiIjtzOjM6IuGWryI7czoxOiJiIjtzOjM6Iu+8oiI7czoxOiJCIjtzOjM6IuKErCI7czoxOiJCIjtzOjQ6IvCdkIEiO3M6MToiQiI7czo0OiLwnZC1IjtzOjE6IkIiO3M6NDoi8J2RqSI7czoxOiJCIjtzOjQ6IvCdk5EiO3M6MToiQiI7czo0OiLwnZSFIjtzOjE6IkIiO3M6NDoi8J2UuSI7czoxOiJCIjtzOjQ6IvCdla0iO3M6MToiQiI7czo0OiLwnZahIjtzOjE6IkIiO3M6NDoi8J2XlSI7czoxOiJCIjtzOjQ6IvCdmIkiO3M6MToiQiI7czo0OiLwnZi9IjtzOjE6IkIiO3M6NDoi8J2ZsSI7czoxOiJCIjtzOjM6IuqetCI7czoxOiJCIjtzOjI6Is6SIjtzOjE6IkIiO3M6NDoi8J2aqSI7czoxOiJCIjtzOjQ6IvCdm6MiO3M6MToiQiI7czo0OiLwnZydIjtzOjE6IkIiO3M6NDoi8J2dlyI7czoxOiJCIjtzOjQ6IvCdnpEiO3M6MToiQiI7czoyOiLQkiI7czoxOiJCIjtzOjM6IuGPtCI7czoxOiJCIjtzOjM6IuGXtyI7czoxOiJCIjtzOjM6IuqTkCI7czoxOiJCIjtzOjQ6IvCQioIiO3M6MToiQiI7czo0OiLwkIqhIjtzOjE6IkIiO3M6NDoi8JCMgSI7czoxOiJCIjtzOjM6Iu+9gyI7czoxOiJjIjtzOjM6IuKFvSI7czoxOiJjIjtzOjQ6IvCdkJwiO3M6MToiYyI7czo0OiLwnZGQIjtzOjE6ImMiO3M6NDoi8J2ShCI7czoxOiJjIjtzOjQ6IvCdkrgiO3M6MToiYyI7czo0OiLwnZOsIjtzOjE6ImMiO3M6NDoi8J2UoCI7czoxOiJjIjtzOjQ6IvCdlZQiO3M6MToiYyI7czo0OiLwnZaIIjtzOjE6ImMiO3M6NDoi8J2WvCI7czoxOiJjIjtzOjQ6IvCdl7AiO3M6MToiYyI7czo0OiLwnZikIjtzOjE6ImMiO3M6NDoi8J2ZmCI7czoxOiJjIjtzOjQ6IvCdmowiO3M6MToiYyI7czozOiLhtIQiO3M6MToiYyI7czoyOiLPsiI7czoxOiJjIjtzOjM6IuKypSI7czoxOiJjIjtzOjI6ItGBIjtzOjE6ImMiO3M6Mzoi6q6vIjtzOjE6ImMiO3M6NDoi8JCQvSI7czoxOiJjIjtzOjQ6IvCfnYwiO3M6MToiQyI7czo0OiLwkaOyIjtzOjE6IkMiO3M6NDoi8JGjqSI7czoxOiJDIjtzOjM6Iu+8oyI7czoxOiJDIjtzOjM6IuKFrSI7czoxOiJDIjtzOjM6IuKEgiI7czoxOiJDIjtzOjM6IuKErSI7czoxOiJDIjtzOjQ6IvCdkIIiO3M6MToiQyI7czo0OiLwnZC2IjtzOjE6IkMiO3M6NDoi8J2RqiI7czoxOiJDIjtzOjQ6IvCdkp4iO3M6MToiQyI7czo0OiLwnZOSIjtzOjE6IkMiO3M6NDoi8J2VriI7czoxOiJDIjtzOjQ6IvCdlqIiO3M6MToiQyI7czo0OiLwnZeWIjtzOjE6IkMiO3M6NDoi8J2YiiI7czoxOiJDIjtzOjQ6IvCdmL4iO3M6MToiQyI7czo0OiLwnZmyIjtzOjE6IkMiO3M6Mjoiz7kiO3M6MToiQyI7czozOiLisqQiO3M6MToiQyI7czoyOiLQoSI7czoxOiJDIjtzOjM6IuGPnyI7czoxOiJDIjtzOjM6IuqTmiI7czoxOiJDIjtzOjQ6IvCQiqIiO3M6MToiQyI7czo0OiLwkIyCIjtzOjE6IkMiO3M6NDoi8JCQlSI7czoxOiJDIjtzOjQ6IvCQlJwiO3M6MToiQyI7czozOiLihb4iO3M6MToiZCI7czozOiLihYYiO3M6MToiZCI7czo0OiLwnZCdIjtzOjE6ImQiO3M6NDoi8J2RkSI7czoxOiJkIjtzOjQ6IvCdkoUiO3M6MToiZCI7czo0OiLwnZK5IjtzOjE6ImQiO3M6NDoi8J2TrSI7czoxOiJkIjtzOjQ6IvCdlKEiO3M6MToiZCI7czo0OiLwnZWVIjtzOjE6ImQiO3M6NDoi8J2WiSI7czoxOiJkIjtzOjQ6IvCdlr0iO3M6MToiZCI7czo0OiLwnZexIjtzOjE6ImQiO3M6NDoi8J2YpSI7czoxOiJkIjtzOjQ6IvCdmZkiO3M6MToiZCI7czo0OiLwnZqNIjtzOjE6ImQiO3M6Mjoi1IEiO3M6MToiZCI7czozOiLhj6ciO3M6MToiZCI7czozOiLhka8iO3M6MToiZCI7czozOiLqk5IiO3M6MToiZCI7czozOiLiha4iO3M6MToiRCI7czozOiLihYUiO3M6MToiRCI7czo0OiLwnZCDIjtzOjE6IkQiO3M6NDoi8J2QtyI7czoxOiJEIjtzOjQ6IvCdkasiO3M6MToiRCI7czo0OiLwnZKfIjtzOjE6IkQiO3M6NDoi8J2TkyI7czoxOiJEIjtzOjQ6IvCdlIciO3M6MToiRCI7czo0OiLwnZS7IjtzOjE6IkQiO3M6NDoi8J2VryI7czoxOiJEIjtzOjQ6IvCdlqMiO3M6MToiRCI7czo0OiLwnZeXIjtzOjE6IkQiO3M6NDoi8J2YiyI7czoxOiJEIjtzOjQ6IvCdmL8iO3M6MToiRCI7czo0OiLwnZmzIjtzOjE6IkQiO3M6Mzoi4Y6gIjtzOjE6IkQiO3M6Mzoi4ZeeIjtzOjE6IkQiO3M6Mzoi4ZeqIjtzOjE6IkQiO3M6Mzoi6pOTIjtzOjE6IkQiO3M6Mzoi4oSuIjtzOjE6ImUiO3M6Mzoi772FIjtzOjE6ImUiO3M6Mzoi4oSvIjtzOjE6ImUiO3M6Mzoi4oWHIjtzOjE6ImUiO3M6NDoi8J2QniI7czoxOiJlIjtzOjQ6IvCdkZIiO3M6MToiZSI7czo0OiLwnZKGIjtzOjE6ImUiO3M6NDoi8J2TriI7czoxOiJlIjtzOjQ6IvCdlKIiO3M6MToiZSI7czo0OiLwnZWWIjtzOjE6ImUiO3M6NDoi8J2WiiI7czoxOiJlIjtzOjQ6IvCdlr4iO3M6MToiZSI7czo0OiLwnZeyIjtzOjE6ImUiO3M6NDoi8J2YpiI7czoxOiJlIjtzOjQ6IvCdmZoiO3M6MToiZSI7czo0OiLwnZqOIjtzOjE6ImUiO3M6Mzoi6qyyIjtzOjE6ImUiO3M6Mjoi0LUiO3M6MToiZSI7czoyOiLSvSI7czoxOiJlIjtzOjM6IuKLvyI7czoxOiJFIjtzOjM6Iu+8pSI7czoxOiJFIjtzOjM6IuKEsCI7czoxOiJFIjtzOjQ6IvCdkIQiO3M6MToiRSI7czo0OiLwnZC4IjtzOjE6IkUiO3M6NDoi8J2RrCI7czoxOiJFIjtzOjQ6IvCdk5QiO3M6MToiRSI7czo0OiLwnZSIIjtzOjE6IkUiO3M6NDoi8J2UvCI7czoxOiJFIjtzOjQ6IvCdlbAiO3M6MToiRSI7czo0OiLwnZakIjtzOjE6IkUiO3M6NDoi8J2XmCI7czoxOiJFIjtzOjQ6IvCdmIwiO3M6MToiRSI7czo0OiLwnZmAIjtzOjE6IkUiO3M6NDoi8J2ZtCI7czoxOiJFIjtzOjI6Is6VIjtzOjE6IkUiO3M6NDoi8J2arCI7czoxOiJFIjtzOjQ6IvCdm6YiO3M6MToiRSI7czo0OiLwnZygIjtzOjE6IkUiO3M6NDoi8J2dmiI7czoxOiJFIjtzOjQ6IvCdnpQiO3M6MToiRSI7czoyOiLQlSI7czoxOiJFIjtzOjM6IuK0uSI7czoxOiJFIjtzOjM6IuGOrCI7czoxOiJFIjtzOjM6IuqTsCI7czoxOiJFIjtzOjQ6IvCRoqYiO3M6MToiRSI7czo0OiLwkaKuIjtzOjE6IkUiO3M6NDoi8JCKhiI7czoxOiJFIjtzOjQ6IvCdkJ8iO3M6MToiZiI7czo0OiLwnZGTIjtzOjE6ImYiO3M6NDoi8J2ShyI7czoxOiJmIjtzOjQ6IvCdkrsiO3M6MToiZiI7czo0OiLwnZOvIjtzOjE6ImYiO3M6NDoi8J2UoyI7czoxOiJmIjtzOjQ6IvCdlZciO3M6MToiZiI7czo0OiLwnZaLIjtzOjE6ImYiO3M6NDoi8J2WvyI7czoxOiJmIjtzOjQ6IvCdl7MiO3M6MToiZiI7czo0OiLwnZinIjtzOjE6ImYiO3M6NDoi8J2ZmyI7czoxOiJmIjtzOjQ6IvCdmo8iO3M6MToiZiI7czozOiLqrLUiO3M6MToiZiI7czozOiLqnpkiO3M6MToiZiI7czoyOiLFvyI7czoxOiJmIjtzOjM6IuG6nSI7czoxOiJmIjtzOjI6ItaEIjtzOjE6ImYiO3M6NDoi8J2IkyI7czoxOiJGIjtzOjM6IuKEsSI7czoxOiJGIjtzOjQ6IvCdkIUiO3M6MToiRiI7czo0OiLwnZC5IjtzOjE6IkYiO3M6NDoi8J2RrSI7czoxOiJGIjtzOjQ6IvCdk5UiO3M6MToiRiI7czo0OiLwnZSJIjtzOjE6IkYiO3M6NDoi8J2UvSI7czoxOiJGIjtzOjQ6IvCdlbEiO3M6MToiRiI7czo0OiLwnZalIjtzOjE6IkYiO3M6NDoi8J2XmSI7czoxOiJGIjtzOjQ6IvCdmI0iO3M6MToiRiI7czo0OiLwnZmBIjtzOjE6IkYiO3M6NDoi8J2ZtSI7czoxOiJGIjtzOjM6IuqemCI7czoxOiJGIjtzOjI6Is+cIjtzOjE6IkYiO3M6NDoi8J2fiiI7czoxOiJGIjtzOjM6IuGWtCI7czoxOiJGIjtzOjM6IuqTnSI7czoxOiJGIjtzOjQ6IvCRo4IiO3M6MToiRiI7czo0OiLwkaKiIjtzOjE6IkYiO3M6NDoi8JCKhyI7czoxOiJGIjtzOjQ6IvCQiqUiO3M6MToiRiI7czo0OiLwkJSlIjtzOjE6IkYiO3M6Mzoi772HIjtzOjE6ImciO3M6Mzoi4oSKIjtzOjE6ImciO3M6NDoi8J2QoCI7czoxOiJnIjtzOjQ6IvCdkZQiO3M6MToiZyI7czo0OiLwnZKIIjtzOjE6ImciO3M6NDoi8J2TsCI7czoxOiJnIjtzOjQ6IvCdlKQiO3M6MToiZyI7czo0OiLwnZWYIjtzOjE6ImciO3M6NDoi8J2WjCI7czoxOiJnIjtzOjQ6IvCdl4AiO3M6MToiZyI7czo0OiLwnZe0IjtzOjE6ImciO3M6NDoi8J2YqCI7czoxOiJnIjtzOjQ6IvCdmZwiO3M6MToiZyI7czo0OiLwnZqQIjtzOjE6ImciO3M6MjoiyaEiO3M6MToiZyI7czozOiLhtoMiO3M6MToiZyI7czoyOiLGjSI7czoxOiJnIjtzOjI6ItaBIjtzOjE6ImciO3M6NDoi8J2QhiI7czoxOiJHIjtzOjQ6IvCdkLoiO3M6MToiRyI7czo0OiLwnZGuIjtzOjE6IkciO3M6NDoi8J2SoiI7czoxOiJHIjtzOjQ6IvCdk5YiO3M6MToiRyI7czo0OiLwnZSKIjtzOjE6IkciO3M6NDoi8J2UviI7czoxOiJHIjtzOjQ6IvCdlbIiO3M6MToiRyI7czo0OiLwnZamIjtzOjE6IkciO3M6NDoi8J2XmiI7czoxOiJHIjtzOjQ6IvCdmI4iO3M6MToiRyI7czo0OiLwnZmCIjtzOjE6IkciO3M6NDoi8J2ZtiI7czoxOiJHIjtzOjI6ItSMIjtzOjE6IkciO3M6Mzoi4Y+AIjtzOjE6IkciO3M6Mzoi4Y+zIjtzOjE6IkciO3M6Mzoi6pOWIjtzOjE6IkciO3M6Mzoi772IIjtzOjE6ImgiO3M6Mzoi4oSOIjtzOjE6ImgiO3M6NDoi8J2QoSI7czoxOiJoIjtzOjQ6IvCdkokiO3M6MToiaCI7czo0OiLwnZK9IjtzOjE6ImgiO3M6NDoi8J2TsSI7czoxOiJoIjtzOjQ6IvCdlKUiO3M6MToiaCI7czo0OiLwnZWZIjtzOjE6ImgiO3M6NDoi8J2WjSI7czoxOiJoIjtzOjQ6IvCdl4EiO3M6MToiaCI7czo0OiLwnZe1IjtzOjE6ImgiO3M6NDoi8J2YqSI7czoxOiJoIjtzOjQ6IvCdmZ0iO3M6MToiaCI7czo0OiLwnZqRIjtzOjE6ImgiO3M6Mjoi0rsiO3M6MToiaCI7czoyOiLVsCI7czoxOiJoIjtzOjM6IuGPgiI7czoxOiJoIjtzOjM6Iu+8qCI7czoxOiJIIjtzOjM6IuKEiyI7czoxOiJIIjtzOjM6IuKEjCI7czoxOiJIIjtzOjM6IuKEjSI7czoxOiJIIjtzOjQ6IvCdkIciO3M6MToiSCI7czo0OiLwnZC7IjtzOjE6IkgiO3M6NDoi8J2RryI7czoxOiJIIjtzOjQ6IvCdk5ciO3M6MToiSCI7czo0OiLwnZWzIjtzOjE6IkgiO3M6NDoi8J2WpyI7czoxOiJIIjtzOjQ6IvCdl5siO3M6MToiSCI7czo0OiLwnZiPIjtzOjE6IkgiO3M6NDoi8J2ZgyI7czoxOiJIIjtzOjQ6IvCdmbciO3M6MToiSCI7czoyOiLOlyI7czoxOiJIIjtzOjQ6IvCdmq4iO3M6MToiSCI7czo0OiLwnZuoIjtzOjE6IkgiO3M6NDoi8J2coiI7czoxOiJIIjtzOjQ6IvCdnZwiO3M6MToiSCI7czo0OiLwnZ6WIjtzOjE6IkgiO3M6Mzoi4rKOIjtzOjE6IkgiO3M6Mjoi0J0iO3M6MToiSCI7czozOiLhjrsiO3M6MToiSCI7czozOiLhlbwiO3M6MToiSCI7czozOiLqk6ciO3M6MToiSCI7czo0OiLwkIuPIjtzOjE6IkgiO3M6Mjoiy5siO3M6MToiaSI7czozOiLijbMiO3M6MToiaSI7czozOiLvvYkiO3M6MToiaSI7czozOiLihbAiO3M6MToiaSI7czozOiLihLkiO3M6MToiaSI7czozOiLihYgiO3M6MToiaSI7czo0OiLwnZCiIjtzOjE6ImkiO3M6NDoi8J2RliI7czoxOiJpIjtzOjQ6IvCdkooiO3M6MToiaSI7czo0OiLwnZK+IjtzOjE6ImkiO3M6NDoi8J2TsiI7czoxOiJpIjtzOjQ6IvCdlKYiO3M6MToiaSI7czo0OiLwnZWaIjtzOjE6ImkiO3M6NDoi8J2WjiI7czoxOiJpIjtzOjQ6IvCdl4IiO3M6MToiaSI7czo0OiLwnZe2IjtzOjE6ImkiO3M6NDoi8J2YqiI7czoxOiJpIjtzOjQ6IvCdmZ4iO3M6MToiaSI7czo0OiLwnZqSIjtzOjE6ImkiO3M6MjoixLEiO3M6MToiaSI7czo0OiLwnZqkIjtzOjE6ImkiO3M6MjoiyaoiO3M6MToiaSI7czoyOiLJqSI7czoxOiJpIjtzOjI6Is65IjtzOjE6ImkiO3M6Mzoi4b6+IjtzOjE6ImkiO3M6MjoizboiO3M6MToiaSI7czo0OiLwnZuKIjtzOjE6ImkiO3M6NDoi8J2chCI7czoxOiJpIjtzOjQ6IvCdnL4iO3M6MToiaSI7czo0OiLwnZ24IjtzOjE6ImkiO3M6NDoi8J2esiI7czoxOiJpIjtzOjI6ItGWIjtzOjE6ImkiO3M6Mzoi6pmHIjtzOjE6ImkiO3M6Mjoi048iO3M6MToiaSI7czozOiLqrbUiO3M6MToiaSI7czozOiLhjqUiO3M6MToiaSI7czo0OiLwkaODIjtzOjE6ImkiO3M6Mzoi772KIjtzOjE6ImoiO3M6Mzoi4oWJIjtzOjE6ImoiO3M6NDoi8J2QoyI7czoxOiJqIjtzOjQ6IvCdkZciO3M6MToiaiI7czo0OiLwnZKLIjtzOjE6ImoiO3M6NDoi8J2SvyI7czoxOiJqIjtzOjQ6IvCdk7MiO3M6MToiaiI7czo0OiLwnZSnIjtzOjE6ImoiO3M6NDoi8J2VmyI7czoxOiJqIjtzOjQ6IvCdlo8iO3M6MToiaiI7czo0OiLwnZeDIjtzOjE6ImoiO3M6NDoi8J2XtyI7czoxOiJqIjtzOjQ6IvCdmKsiO3M6MToiaiI7czo0OiLwnZmfIjtzOjE6ImoiO3M6NDoi8J2akyI7czoxOiJqIjtzOjI6Is+zIjtzOjE6ImoiO3M6Mjoi0ZgiO3M6MToiaiI7czozOiLvvKoiO3M6MToiSiI7czo0OiLwnZCJIjtzOjE6IkoiO3M6NDoi8J2QvSI7czoxOiJKIjtzOjQ6IvCdkbEiO3M6MToiSiI7czo0OiLwnZKlIjtzOjE6IkoiO3M6NDoi8J2TmSI7czoxOiJKIjtzOjQ6IvCdlI0iO3M6MToiSiI7czo0OiLwnZWBIjtzOjE6IkoiO3M6NDoi8J2VtSI7czoxOiJKIjtzOjQ6IvCdlqkiO3M6MToiSiI7czo0OiLwnZedIjtzOjE6IkoiO3M6NDoi8J2YkSI7czoxOiJKIjtzOjQ6IvCdmYUiO3M6MToiSiI7czo0OiLwnZm5IjtzOjE6IkoiO3M6Mzoi6p6yIjtzOjE6IkoiO3M6Mjoizb8iO3M6MToiSiI7czoyOiLQiCI7czoxOiJKIjtzOjM6IuGOqyI7czoxOiJKIjtzOjM6IuGSjSI7czoxOiJKIjtzOjM6IuqTmSI7czoxOiJKIjtzOjQ6IvCdkKQiO3M6MToiayI7czo0OiLwnZGYIjtzOjE6ImsiO3M6NDoi8J2SjCI7czoxOiJrIjtzOjQ6IvCdk4AiO3M6MToiayI7czo0OiLwnZO0IjtzOjE6ImsiO3M6NDoi8J2UqCI7czoxOiJrIjtzOjQ6IvCdlZwiO3M6MToiayI7czo0OiLwnZaQIjtzOjE6ImsiO3M6NDoi8J2XhCI7czoxOiJrIjtzOjQ6IvCdl7giO3M6MToiayI7czo0OiLwnZisIjtzOjE6ImsiO3M6NDoi8J2ZoCI7czoxOiJrIjtzOjQ6IvCdmpQiO3M6MToiayI7czozOiLihKoiO3M6MToiSyI7czozOiLvvKsiO3M6MToiSyI7czo0OiLwnZCKIjtzOjE6IksiO3M6NDoi8J2QviI7czoxOiJLIjtzOjQ6IvCdkbIiO3M6MToiSyI7czo0OiLwnZKmIjtzOjE6IksiO3M6NDoi8J2TmiI7czoxOiJLIjtzOjQ6IvCdlI4iO3M6MToiSyI7czo0OiLwnZWCIjtzOjE6IksiO3M6NDoi8J2VtiI7czoxOiJLIjtzOjQ6IvCdlqoiO3M6MToiSyI7czo0OiLwnZeeIjtzOjE6IksiO3M6NDoi8J2YkiI7czoxOiJLIjtzOjQ6IvCdmYYiO3M6MToiSyI7czo0OiLwnZm6IjtzOjE6IksiO3M6MjoizpoiO3M6MToiSyI7czo0OiLwnZqxIjtzOjE6IksiO3M6NDoi8J2bqyI7czoxOiJLIjtzOjQ6IvCdnKUiO3M6MToiSyI7czo0OiLwnZ2fIjtzOjE6IksiO3M6NDoi8J2emSI7czoxOiJLIjtzOjM6IuKylCI7czoxOiJLIjtzOjI6ItCaIjtzOjE6IksiO3M6Mzoi4Y+mIjtzOjE6IksiO3M6Mzoi4ZuVIjtzOjE6IksiO3M6Mzoi6pOXIjtzOjE6IksiO3M6NDoi8JCUmCI7czoxOiJLIjtzOjI6IteAIjtzOjE6ImwiO3M6MToifCI7czoxOiJsIjtzOjM6IuKIoyI7czoxOiJsIjtzOjM6IuKPvSI7czoxOiJsIjtzOjM6Iu+/qCI7czoxOiJsIjtpOjE7czoxOiJsIjtzOjI6ItmhIjtzOjE6ImwiO3M6Mjoi27EiO3M6MToibCI7czo0OiLwkIygIjtzOjE6ImwiO3M6NDoi8J6jhyI7czoxOiJsIjtzOjQ6IvCdn48iO3M6MToibCI7czo0OiLwnZ+ZIjtzOjE6ImwiO3M6NDoi8J2foyI7czoxOiJsIjtzOjQ6IvCdn60iO3M6MToibCI7czo0OiLwnZ+3IjtzOjE6ImwiO3M6MToiSSI7czoxOiJsIjtzOjM6Iu+8qSI7czoxOiJsIjtzOjM6IuKFoCI7czoxOiJsIjtzOjM6IuKEkCI7czoxOiJsIjtzOjM6IuKEkSI7czoxOiJsIjtzOjQ6IvCdkIgiO3M6MToibCI7czo0OiLwnZC8IjtzOjE6ImwiO3M6NDoi8J2RsCI7czoxOiJsIjtzOjQ6IvCdk5giO3M6MToibCI7czo0OiLwnZWAIjtzOjE6ImwiO3M6NDoi8J2VtCI7czoxOiJsIjtzOjQ6IvCdlqgiO3M6MToibCI7czo0OiLwnZecIjtzOjE6ImwiO3M6NDoi8J2YkCI7czoxOiJsIjtzOjQ6IvCdmYQiO3M6MToibCI7czo0OiLwnZm4IjtzOjE6ImwiO3M6MjoixpYiO3M6MToibCI7czozOiLvvYwiO3M6MToibCI7czozOiLihbwiO3M6MToibCI7czozOiLihJMiO3M6MToibCI7czo0OiLwnZClIjtzOjE6ImwiO3M6NDoi8J2RmSI7czoxOiJsIjtzOjQ6IvCdko0iO3M6MToibCI7czo0OiLwnZOBIjtzOjE6ImwiO3M6NDoi8J2TtSI7czoxOiJsIjtzOjQ6IvCdlKkiO3M6MToibCI7czo0OiLwnZWdIjtzOjE6ImwiO3M6NDoi8J2WkSI7czoxOiJsIjtzOjQ6IvCdl4UiO3M6MToibCI7czo0OiLwnZe5IjtzOjE6ImwiO3M6NDoi8J2YrSI7czoxOiJsIjtzOjQ6IvCdmaEiO3M6MToibCI7czo0OiLwnZqVIjtzOjE6ImwiO3M6Mjoix4AiO3M6MToibCI7czoyOiLOmSI7czoxOiJsIjtzOjQ6IvCdmrAiO3M6MToibCI7czo0OiLwnZuqIjtzOjE6ImwiO3M6NDoi8J2cpCI7czoxOiJsIjtzOjQ6IvCdnZ4iO3M6MToibCI7czo0OiLwnZ6YIjtzOjE6ImwiO3M6Mzoi4rKSIjtzOjE6ImwiO3M6Mjoi0IYiO3M6MToibCI7czoyOiLTgCI7czoxOiJsIjtzOjI6IteVIjtzOjE6ImwiO3M6Mjoi158iO3M6MToibCI7czoyOiLYpyI7czoxOiJsIjtzOjQ6IvCeuIAiO3M6MToibCI7czo0OiLwnrqAIjtzOjE6ImwiO3M6Mzoi77qOIjtzOjE6ImwiO3M6Mzoi77qNIjtzOjE6ImwiO3M6Mjoi34oiO3M6MToibCI7czozOiLitY8iO3M6MToibCI7czozOiLhm4EiO3M6MToibCI7czozOiLqk7IiO3M6MToibCI7czo0OiLwlryoIjtzOjE6ImwiO3M6NDoi8JCKiiI7czoxOiJsIjtzOjQ6IvCQjIkiO3M6MToibCI7czo0OiLwnYiqIjtzOjE6IkwiO3M6Mzoi4oWsIjtzOjE6IkwiO3M6Mzoi4oSSIjtzOjE6IkwiO3M6NDoi8J2QiyI7czoxOiJMIjtzOjQ6IvCdkL8iO3M6MToiTCI7czo0OiLwnZGzIjtzOjE6IkwiO3M6NDoi8J2TmyI7czoxOiJMIjtzOjQ6IvCdlI8iO3M6MToiTCI7czo0OiLwnZWDIjtzOjE6IkwiO3M6NDoi8J2VtyI7czoxOiJMIjtzOjQ6IvCdlqsiO3M6MToiTCI7czo0OiLwnZefIjtzOjE6IkwiO3M6NDoi8J2YkyI7czoxOiJMIjtzOjQ6IvCdmYciO3M6MToiTCI7czo0OiLwnZm7IjtzOjE6IkwiO3M6Mzoi4rOQIjtzOjE6IkwiO3M6Mzoi4Y+eIjtzOjE6IkwiO3M6Mzoi4ZKqIjtzOjE6IkwiO3M6Mzoi6pOhIjtzOjE6IkwiO3M6NDoi8Ja8liI7czoxOiJMIjtzOjQ6IvCRoqMiO3M6MToiTCI7czo0OiLwkaKyIjtzOjE6IkwiO3M6NDoi8JCQmyI7czoxOiJMIjtzOjQ6IvCQlKYiO3M6MToiTCI7czozOiLvvK0iO3M6MToiTSI7czozOiLiha8iO3M6MToiTSI7czozOiLihLMiO3M6MToiTSI7czo0OiLwnZCMIjtzOjE6Ik0iO3M6NDoi8J2RgCI7czoxOiJNIjtzOjQ6IvCdkbQiO3M6MToiTSI7czo0OiLwnZOcIjtzOjE6Ik0iO3M6NDoi8J2UkCI7czoxOiJNIjtzOjQ6IvCdlYQiO3M6MToiTSI7czo0OiLwnZW4IjtzOjE6Ik0iO3M6NDoi8J2WrCI7czoxOiJNIjtzOjQ6IvCdl6AiO3M6MToiTSI7czo0OiLwnZiUIjtzOjE6Ik0iO3M6NDoi8J2ZiCI7czoxOiJNIjtzOjQ6IvCdmbwiO3M6MToiTSI7czoyOiLOnCI7czoxOiJNIjtzOjQ6IvCdmrMiO3M6MToiTSI7czo0OiLwnZutIjtzOjE6Ik0iO3M6NDoi8J2cpyI7czoxOiJNIjtzOjQ6IvCdnaEiO3M6MToiTSI7czo0OiLwnZ6bIjtzOjE6Ik0iO3M6Mjoiz7oiO3M6MToiTSI7czozOiLispgiO3M6MToiTSI7czoyOiLQnCI7czoxOiJNIjtzOjM6IuGOtyI7czoxOiJNIjtzOjM6IuGXsCI7czoxOiJNIjtzOjM6IuGbliI7czoxOiJNIjtzOjM6IuqTnyI7czoxOiJNIjtzOjQ6IvCQirAiO3M6MToiTSI7czo0OiLwkIyRIjtzOjE6Ik0iO3M6NDoi8J2QpyI7czoxOiJuIjtzOjQ6IvCdkZsiO3M6MToibiI7czo0OiLwnZKPIjtzOjE6Im4iO3M6NDoi8J2TgyI7czoxOiJuIjtzOjQ6IvCdk7ciO3M6MToibiI7czo0OiLwnZSrIjtzOjE6Im4iO3M6NDoi8J2VnyI7czoxOiJuIjtzOjQ6IvCdlpMiO3M6MToibiI7czo0OiLwnZeHIjtzOjE6Im4iO3M6NDoi8J2XuyI7czoxOiJuIjtzOjQ6IvCdmK8iO3M6MToibiI7czo0OiLwnZmjIjtzOjE6Im4iO3M6NDoi8J2alyI7czoxOiJuIjtzOjI6ItW4IjtzOjE6Im4iO3M6Mjoi1bwiO3M6MToibiI7czozOiLvvK4iO3M6MToiTiI7czozOiLihJUiO3M6MToiTiI7czo0OiLwnZCNIjtzOjE6Ik4iO3M6NDoi8J2RgSI7czoxOiJOIjtzOjQ6IvCdkbUiO3M6MToiTiI7czo0OiLwnZKpIjtzOjE6Ik4iO3M6NDoi8J2TnSI7czoxOiJOIjtzOjQ6IvCdlJEiO3M6MToiTiI7czo0OiLwnZW5IjtzOjE6Ik4iO3M6NDoi8J2WrSI7czoxOiJOIjtzOjQ6IvCdl6EiO3M6MToiTiI7czo0OiLwnZiVIjtzOjE6Ik4iO3M6NDoi8J2ZiSI7czoxOiJOIjtzOjQ6IvCdmb0iO3M6MToiTiI7czoyOiLOnSI7czoxOiJOIjtzOjQ6IvCdmrQiO3M6MToiTiI7czo0OiLwnZuuIjtzOjE6Ik4iO3M6NDoi8J2cqCI7czoxOiJOIjtzOjQ6IvCdnaIiO3M6MToiTiI7czo0OiLwnZ6cIjtzOjE6Ik4iO3M6Mzoi4rKaIjtzOjE6Ik4iO3M6Mzoi6pOgIjtzOjE6Ik4iO3M6NDoi8JCUkyI7czoxOiJOIjtzOjM6IuCwgiI7czoxOiJvIjtzOjM6IuCygiI7czoxOiJvIjtzOjM6IuC0giI7czoxOiJvIjtzOjM6IuC2giI7czoxOiJvIjtzOjM6IuClpiI7czoxOiJvIjtzOjM6IuCppiI7czoxOiJvIjtzOjM6IuCrpiI7czoxOiJvIjtzOjM6IuCvpiI7czoxOiJvIjtzOjM6IuCxpiI7czoxOiJvIjtzOjM6IuCzpiI7czoxOiJvIjtzOjM6IuC1piI7czoxOiJvIjtzOjM6IuC5kCI7czoxOiJvIjtzOjM6IuC7kCI7czoxOiJvIjtzOjM6IuGBgCI7czoxOiJvIjtzOjI6ItmlIjtzOjE6Im8iO3M6Mjoi27UiO3M6MToibyI7czozOiLvvY8iO3M6MToibyI7czozOiLihLQiO3M6MToibyI7czo0OiLwnZCoIjtzOjE6Im8iO3M6NDoi8J2RnCI7czoxOiJvIjtzOjQ6IvCdkpAiO3M6MToibyI7czo0OiLwnZO4IjtzOjE6Im8iO3M6NDoi8J2UrCI7czoxOiJvIjtzOjQ6IvCdlaAiO3M6MToibyI7czo0OiLwnZaUIjtzOjE6Im8iO3M6NDoi8J2XiCI7czoxOiJvIjtzOjQ6IvCdl7wiO3M6MToibyI7czo0OiLwnZiwIjtzOjE6Im8iO3M6NDoi8J2ZpCI7czoxOiJvIjtzOjQ6IvCdmpgiO3M6MToibyI7czozOiLhtI8iO3M6MToibyI7czozOiLhtJEiO3M6MToibyI7czozOiLqrL0iO3M6MToibyI7czoyOiLOvyI7czoxOiJvIjtzOjQ6IvCdm5AiO3M6MToibyI7czo0OiLwnZyKIjtzOjE6Im8iO3M6NDoi8J2dhCI7czoxOiJvIjtzOjQ6IvCdnb4iO3M6MToibyI7czo0OiLwnZ64IjtzOjE6Im8iO3M6Mjoiz4MiO3M6MToibyI7czo0OiLwnZuUIjtzOjE6Im8iO3M6NDoi8J2cjiI7czoxOiJvIjtzOjQ6IvCdnYgiO3M6MToibyI7czo0OiLwnZ6CIjtzOjE6Im8iO3M6NDoi8J2evCI7czoxOiJvIjtzOjM6IuKynyI7czoxOiJvIjtzOjI6ItC+IjtzOjE6Im8iO3M6Mzoi4YO/IjtzOjE6Im8iO3M6Mjoi1oUiO3M6MToibyI7czoyOiLXoSI7czoxOiJvIjtzOjI6ItmHIjtzOjE6Im8iO3M6NDoi8J64pCI7czoxOiJvIjtzOjQ6IvCeuaQiO3M6MToibyI7czo0OiLwnrqEIjtzOjE6Im8iO3M6Mzoi77urIjtzOjE6Im8iO3M6Mzoi77usIjtzOjE6Im8iO3M6Mzoi77uqIjtzOjE6Im8iO3M6Mzoi77upIjtzOjE6Im8iO3M6Mjoi2r4iO3M6MToibyI7czozOiLvrqwiO3M6MToibyI7czozOiLvrq0iO3M6MToibyI7czozOiLvrqsiO3M6MToibyI7czozOiLvrqoiO3M6MToibyI7czoyOiLbgSI7czoxOiJvIjtzOjM6Iu+uqCI7czoxOiJvIjtzOjM6Iu+uqSI7czoxOiJvIjtzOjM6Iu+upyI7czoxOiJvIjtzOjM6Iu+upiI7czoxOiJvIjtzOjI6ItuVIjtzOjE6Im8iO3M6Mzoi4LSgIjtzOjE6Im8iO3M6Mzoi4YCdIjtzOjE6Im8iO3M6NDoi8JCTqiI7czoxOiJvIjtzOjQ6IvCRo4giO3M6MToibyI7czo0OiLwkaOXIjtzOjE6Im8iO3M6NDoi8JCQrCI7czoxOiJvIjtpOjA7czoxOiJPIjtzOjI6It+AIjtzOjE6Ik8iO3M6Mzoi4KemIjtzOjE6Ik8iO3M6Mzoi4K2mIjtzOjE6Ik8iO3M6Mzoi44CHIjtzOjE6Ik8iO3M6NDoi8JGTkCI7czoxOiJPIjtzOjQ6IvCRo6AiO3M6MToiTyI7czo0OiLwnZ+OIjtzOjE6Ik8iO3M6NDoi8J2fmCI7czoxOiJPIjtzOjQ6IvCdn6IiO3M6MToiTyI7czo0OiLwnZ+sIjtzOjE6Ik8iO3M6NDoi8J2ftiI7czoxOiJPIjtzOjM6Iu+8ryI7czoxOiJPIjtzOjQ6IvCdkI4iO3M6MToiTyI7czo0OiLwnZGCIjtzOjE6Ik8iO3M6NDoi8J2RtiI7czoxOiJPIjtzOjQ6IvCdkqoiO3M6MToiTyI7czo0OiLwnZOeIjtzOjE6Ik8iO3M6NDoi8J2UkiI7czoxOiJPIjtzOjQ6IvCdlYYiO3M6MToiTyI7czo0OiLwnZW6IjtzOjE6Ik8iO3M6NDoi8J2WriI7czoxOiJPIjtzOjQ6IvCdl6IiO3M6MToiTyI7czo0OiLwnZiWIjtzOjE6Ik8iO3M6NDoi8J2ZiiI7czoxOiJPIjtzOjQ6IvCdmb4iO3M6MToiTyI7czoyOiLOnyI7czoxOiJPIjtzOjQ6IvCdmrYiO3M6MToiTyI7czo0OiLwnZuwIjtzOjE6Ik8iO3M6NDoi8J2cqiI7czoxOiJPIjtzOjQ6IvCdnaQiO3M6MToiTyI7czo0OiLwnZ6eIjtzOjE6Ik8iO3M6Mzoi4rKeIjtzOjE6Ik8iO3M6Mjoi0J4iO3M6MToiTyI7czoyOiLVlSI7czoxOiJPIjtzOjM6IuK1lCI7czoxOiJPIjtzOjM6IuGLkCI7czoxOiJPIjtzOjM6IuCsoCI7czoxOiJPIjtzOjQ6IvCQk4IiO3M6MToiTyI7czozOiLqk7MiO3M6MToiTyI7czo0OiLwkaK1IjtzOjE6Ik8iO3M6NDoi8JCKkiI7czoxOiJPIjtzOjQ6IvCQiqsiO3M6MToiTyI7czo0OiLwkJCEIjtzOjE6Ik8iO3M6NDoi8JCUliI7czoxOiJPIjtzOjM6IuKBsCI7czoxOiK6IjtzOjM6IuG1kiI7czoxOiK6IjtzOjI6IsWQIjtzOjE6ItYiO3M6Mzoi4o20IjtzOjE6InAiO3M6Mzoi772QIjtzOjE6InAiO3M6NDoi8J2QqSI7czoxOiJwIjtzOjQ6IvCdkZ0iO3M6MToicCI7czo0OiLwnZKRIjtzOjE6InAiO3M6NDoi8J2ThSI7czoxOiJwIjtzOjQ6IvCdk7kiO3M6MToicCI7czo0OiLwnZStIjtzOjE6InAiO3M6NDoi8J2VoSI7czoxOiJwIjtzOjQ6IvCdlpUiO3M6MToicCI7czo0OiLwnZeJIjtzOjE6InAiO3M6NDoi8J2XvSI7czoxOiJwIjtzOjQ6IvCdmLEiO3M6MToicCI7czo0OiLwnZmlIjtzOjE6InAiO3M6NDoi8J2amSI7czoxOiJwIjtzOjI6Is+BIjtzOjE6InAiO3M6Mjoiz7EiO3M6MToicCI7czo0OiLwnZuSIjtzOjE6InAiO3M6NDoi8J2boCI7czoxOiJwIjtzOjQ6IvCdnIwiO3M6MToicCI7czo0OiLwnZyaIjtzOjE6InAiO3M6NDoi8J2dhiI7czoxOiJwIjtzOjQ6IvCdnZQiO3M6MToicCI7czo0OiLwnZ6AIjtzOjE6InAiO3M6NDoi8J2ejiI7czoxOiJwIjtzOjQ6IvCdnroiO3M6MToicCI7czo0OiLwnZ+IIjtzOjE6InAiO3M6Mzoi4rKjIjtzOjE6InAiO3M6Mjoi0YAiO3M6MToicCI7czozOiLvvLAiO3M6MToiUCI7czozOiLihJkiO3M6MToiUCI7czo0OiLwnZCPIjtzOjE6IlAiO3M6NDoi8J2RgyI7czoxOiJQIjtzOjQ6IvCdkbciO3M6MToiUCI7czo0OiLwnZKrIjtzOjE6IlAiO3M6NDoi8J2TnyI7czoxOiJQIjtzOjQ6IvCdlJMiO3M6MToiUCI7czo0OiLwnZW7IjtzOjE6IlAiO3M6NDoi8J2WryI7czoxOiJQIjtzOjQ6IvCdl6MiO3M6MToiUCI7czo0OiLwnZiXIjtzOjE6IlAiO3M6NDoi8J2ZiyI7czoxOiJQIjtzOjQ6IvCdmb8iO3M6MToiUCI7czoyOiLOoSI7czoxOiJQIjtzOjQ6IvCdmrgiO3M6MToiUCI7czo0OiLwnZuyIjtzOjE6IlAiO3M6NDoi8J2crCI7czoxOiJQIjtzOjQ6IvCdnaYiO3M6MToiUCI7czo0OiLwnZ6gIjtzOjE6IlAiO3M6Mzoi4rKiIjtzOjE6IlAiO3M6Mjoi0KAiO3M6MToiUCI7czozOiLhj6IiO3M6MToiUCI7czozOiLhka0iO3M6MToiUCI7czozOiLqk5EiO3M6MToiUCI7czo0OiLwkIqVIjtzOjE6IlAiO3M6NDoi8J2QqiI7czoxOiJxIjtzOjQ6IvCdkZ4iO3M6MToicSI7czo0OiLwnZKSIjtzOjE6InEiO3M6NDoi8J2ThiI7czoxOiJxIjtzOjQ6IvCdk7oiO3M6MToicSI7czo0OiLwnZSuIjtzOjE6InEiO3M6NDoi8J2VoiI7czoxOiJxIjtzOjQ6IvCdlpYiO3M6MToicSI7czo0OiLwnZeKIjtzOjE6InEiO3M6NDoi8J2XviI7czoxOiJxIjtzOjQ6IvCdmLIiO3M6MToicSI7czo0OiLwnZmmIjtzOjE6InEiO3M6NDoi8J2amiI7czoxOiJxIjtzOjI6ItSbIjtzOjE6InEiO3M6Mjoi1aMiO3M6MToicSI7czoyOiLVpiI7czoxOiJxIjtzOjM6IuKEmiI7czoxOiJRIjtzOjQ6IvCdkJAiO3M6MToiUSI7czo0OiLwnZGEIjtzOjE6IlEiO3M6NDoi8J2RuCI7czoxOiJRIjtzOjQ6IvCdkqwiO3M6MToiUSI7czo0OiLwnZOgIjtzOjE6IlEiO3M6NDoi8J2UlCI7czoxOiJRIjtzOjQ6IvCdlbwiO3M6MToiUSI7czo0OiLwnZawIjtzOjE6IlEiO3M6NDoi8J2XpCI7czoxOiJRIjtzOjQ6IvCdmJgiO3M6MToiUSI7czo0OiLwnZmMIjtzOjE6IlEiO3M6NDoi8J2agCI7czoxOiJRIjtzOjM6IuK1lSI7czoxOiJRIjtzOjQ6IvCdkKsiO3M6MToiciI7czo0OiLwnZGfIjtzOjE6InIiO3M6NDoi8J2SkyI7czoxOiJyIjtzOjQ6IvCdk4ciO3M6MToiciI7czo0OiLwnZO7IjtzOjE6InIiO3M6NDoi8J2UryI7czoxOiJyIjtzOjQ6IvCdlaMiO3M6MToiciI7czo0OiLwnZaXIjtzOjE6InIiO3M6NDoi8J2XiyI7czoxOiJyIjtzOjQ6IvCdl78iO3M6MToiciI7czo0OiLwnZizIjtzOjE6InIiO3M6NDoi8J2ZpyI7czoxOiJyIjtzOjQ6IvCdmpsiO3M6MToiciI7czozOiLqrYciO3M6MToiciI7czozOiLqrYgiO3M6MToiciI7czozOiLhtKYiO3M6MToiciI7czozOiLisoUiO3M6MToiciI7czoyOiLQsyI7czoxOiJyIjtzOjM6IuqugSI7czoxOiJyIjtzOjQ6IvCdiJYiO3M6MToiUiI7czozOiLihJsiO3M6MToiUiI7czozOiLihJwiO3M6MToiUiI7czozOiLihJ0iO3M6MToiUiI7czo0OiLwnZCRIjtzOjE6IlIiO3M6NDoi8J2RhSI7czoxOiJSIjtzOjQ6IvCdkbkiO3M6MToiUiI7czo0OiLwnZOhIjtzOjE6IlIiO3M6NDoi8J2VvSI7czoxOiJSIjtzOjQ6IvCdlrEiO3M6MToiUiI7czo0OiLwnZelIjtzOjE6IlIiO3M6NDoi8J2YmSI7czoxOiJSIjtzOjQ6IvCdmY0iO3M6MToiUiI7czo0OiLwnZqBIjtzOjE6IlIiO3M6MjoixqYiO3M6MToiUiI7czozOiLhjqEiO3M6MToiUiI7czozOiLhj5IiO3M6MToiUiI7czo0OiLwkJK0IjtzOjE6IlIiO3M6Mzoi4ZaHIjtzOjE6IlIiO3M6Mzoi6pOjIjtzOjE6IlIiO3M6NDoi8Ja8tSI7czoxOiJSIjtzOjM6Iu+9kyI7czoxOiJzIjtzOjQ6IvCdkKwiO3M6MToicyI7czo0OiLwnZGgIjtzOjE6InMiO3M6NDoi8J2SlCI7czoxOiJzIjtzOjQ6IvCdk4giO3M6MToicyI7czo0OiLwnZO8IjtzOjE6InMiO3M6NDoi8J2UsCI7czoxOiJzIjtzOjQ6IvCdlaQiO3M6MToicyI7czo0OiLwnZaYIjtzOjE6InMiO3M6NDoi8J2XjCI7czoxOiJzIjtzOjQ6IvCdmIAiO3M6MToicyI7czo0OiLwnZi0IjtzOjE6InMiO3M6NDoi8J2ZqCI7czoxOiJzIjtzOjQ6IvCdmpwiO3M6MToicyI7czozOiLqnLEiO3M6MToicyI7czoyOiLGvSI7czoxOiJzIjtzOjI6ItGVIjtzOjE6InMiO3M6Mzoi6q6qIjtzOjE6InMiO3M6NDoi8JGjgSI7czoxOiJzIjtzOjQ6IvCQkYgiO3M6MToicyI7czozOiLvvLMiO3M6MToiUyI7czo0OiLwnZCSIjtzOjE6IlMiO3M6NDoi8J2RhiI7czoxOiJTIjtzOjQ6IvCdkboiO3M6MToiUyI7czo0OiLwnZKuIjtzOjE6IlMiO3M6NDoi8J2ToiI7czoxOiJTIjtzOjQ6IvCdlJYiO3M6MToiUyI7czo0OiLwnZWKIjtzOjE6IlMiO3M6NDoi8J2VviI7czoxOiJTIjtzOjQ6IvCdlrIiO3M6MToiUyI7czo0OiLwnZemIjtzOjE6IlMiO3M6NDoi8J2YmiI7czoxOiJTIjtzOjQ6IvCdmY4iO3M6MToiUyI7czo0OiLwnZqCIjtzOjE6IlMiO3M6Mjoi0IUiO3M6MToiUyI7czoyOiLVjyI7czoxOiJTIjtzOjM6IuGPlSI7czoxOiJTIjtzOjM6IuGPmiI7czoxOiJTIjtzOjM6IuqToiI7czoxOiJTIjtzOjQ6IvCWvLoiO3M6MToiUyI7czo0OiLwkIqWIjtzOjE6IlMiO3M6NDoi8JCQoCI7czoxOiJTIjtzOjM6IuqetSI7czoxOiLfIjtzOjI6Is6yIjtzOjE6It8iO3M6Mjoiz5AiO3M6MToi3yI7czo0OiLwnZuDIjtzOjE6It8iO3M6NDoi8J2bvSI7czoxOiLfIjtzOjQ6IvCdnLciO3M6MToi3yI7czo0OiLwnZ2xIjtzOjE6It8iO3M6NDoi8J2eqyI7czoxOiLfIjtzOjM6IuGPsCI7czoxOiLfIjtzOjQ6IvCdkK0iO3M6MToidCI7czo0OiLwnZGhIjtzOjE6InQiO3M6NDoi8J2SlSI7czoxOiJ0IjtzOjQ6IvCdk4kiO3M6MToidCI7czo0OiLwnZO9IjtzOjE6InQiO3M6NDoi8J2UsSI7czoxOiJ0IjtzOjQ6IvCdlaUiO3M6MToidCI7czo0OiLwnZaZIjtzOjE6InQiO3M6NDoi8J2XjSI7czoxOiJ0IjtzOjQ6IvCdmIEiO3M6MToidCI7czo0OiLwnZi1IjtzOjE6InQiO3M6NDoi8J2ZqSI7czoxOiJ0IjtzOjQ6IvCdmp0iO3M6MToidCI7czozOiLiiqQiO3M6MToiVCI7czozOiLin5kiO3M6MToiVCI7czo0OiLwn52oIjtzOjE6IlQiO3M6Mzoi77y0IjtzOjE6IlQiO3M6NDoi8J2QkyI7czoxOiJUIjtzOjQ6IvCdkYciO3M6MToiVCI7czo0OiLwnZG7IjtzOjE6IlQiO3M6NDoi8J2SryI7czoxOiJUIjtzOjQ6IvCdk6MiO3M6MToiVCI7czo0OiLwnZSXIjtzOjE6IlQiO3M6NDoi8J2ViyI7czoxOiJUIjtzOjQ6IvCdlb8iO3M6MToiVCI7czo0OiLwnZazIjtzOjE6IlQiO3M6NDoi8J2XpyI7czoxOiJUIjtzOjQ6IvCdmJsiO3M6MToiVCI7czo0OiLwnZmPIjtzOjE6IlQiO3M6NDoi8J2agyI7czoxOiJUIjtzOjI6Is6kIjtzOjE6IlQiO3M6NDoi8J2auyI7czoxOiJUIjtzOjQ6IvCdm7UiO3M6MToiVCI7czo0OiLwnZyvIjtzOjE6IlQiO3M6NDoi8J2dqSI7czoxOiJUIjtzOjQ6IvCdnqMiO3M6MToiVCI7czozOiLisqYiO3M6MToiVCI7czoyOiLQoiI7czoxOiJUIjtzOjM6IuGOoiI7czoxOiJUIjtzOjM6IuqTlCI7czoxOiJUIjtzOjQ6IvCWvIoiO3M6MToiVCI7czo0OiLwkaK8IjtzOjE6IlQiO3M6NDoi8JCKlyI7czoxOiJUIjtzOjQ6IvCQirEiO3M6MToiVCI7czo0OiLwkIyVIjtzOjE6IlQiO3M6NDoi8J2QriI7czoxOiJ1IjtzOjQ6IvCdkaIiO3M6MToidSI7czo0OiLwnZKWIjtzOjE6InUiO3M6NDoi8J2TiiI7czoxOiJ1IjtzOjQ6IvCdk74iO3M6MToidSI7czo0OiLwnZSyIjtzOjE6InUiO3M6NDoi8J2VpiI7czoxOiJ1IjtzOjQ6IvCdlpoiO3M6MToidSI7czo0OiLwnZeOIjtzOjE6InUiO3M6NDoi8J2YgiI7czoxOiJ1IjtzOjQ6IvCdmLYiO3M6MToidSI7czo0OiLwnZmqIjtzOjE6InUiO3M6NDoi8J2aniI7czoxOiJ1IjtzOjM6IuqenyI7czoxOiJ1IjtzOjM6IuG0nCI7czoxOiJ1IjtzOjM6IuqtjiI7czoxOiJ1IjtzOjM6IuqtkiI7czoxOiJ1IjtzOjI6IsqLIjtzOjE6InUiO3M6Mjoiz4UiO3M6MToidSI7czo0OiLwnZuWIjtzOjE6InUiO3M6NDoi8J2ckCI7czoxOiJ1IjtzOjQ6IvCdnYoiO3M6MToidSI7czo0OiLwnZ6EIjtzOjE6InUiO3M6NDoi8J2eviI7czoxOiJ1IjtzOjI6ItW9IjtzOjE6InUiO3M6NDoi8JCTtiI7czoxOiJ1IjtzOjQ6IvCRo5giO3M6MToidSI7czozOiLiiKoiO3M6MToiVSI7czozOiLii4MiO3M6MToiVSI7czo0OiLwnZCUIjtzOjE6IlUiO3M6NDoi8J2RiCI7czoxOiJVIjtzOjQ6IvCdkbwiO3M6MToiVSI7czo0OiLwnZKwIjtzOjE6IlUiO3M6NDoi8J2TpCI7czoxOiJVIjtzOjQ6IvCdlJgiO3M6MToiVSI7czo0OiLwnZWMIjtzOjE6IlUiO3M6NDoi8J2WgCI7czoxOiJVIjtzOjQ6IvCdlrQiO3M6MToiVSI7czo0OiLwnZeoIjtzOjE6IlUiO3M6NDoi8J2YnCI7czoxOiJVIjtzOjQ6IvCdmZAiO3M6MToiVSI7czo0OiLwnZqEIjtzOjE6IlUiO3M6Mjoi1Y0iO3M6MToiVSI7czozOiLhiIAiO3M6MToiVSI7czo0OiLwkJOOIjtzOjE6IlUiO3M6Mzoi4ZGMIjtzOjE6IlUiO3M6Mzoi6pO0IjtzOjE6IlUiO3M6NDoi8Ja9giI7czoxOiJVIjtzOjQ6IvCRorgiO3M6MToiVSI7czozOiLiiKgiO3M6MToidiI7czozOiLii4EiO3M6MToidiI7czozOiLvvZYiO3M6MToidiI7czozOiLihbQiO3M6MToidiI7czo0OiLwnZCvIjtzOjE6InYiO3M6NDoi8J2RoyI7czoxOiJ2IjtzOjQ6IvCdkpciO3M6MToidiI7czo0OiLwnZOLIjtzOjE6InYiO3M6NDoi8J2TvyI7czoxOiJ2IjtzOjQ6IvCdlLMiO3M6MToidiI7czo0OiLwnZWnIjtzOjE6InYiO3M6NDoi8J2WmyI7czoxOiJ2IjtzOjQ6IvCdl48iO3M6MToidiI7czo0OiLwnZiDIjtzOjE6InYiO3M6NDoi8J2YtyI7czoxOiJ2IjtzOjQ6IvCdmasiO3M6MToidiI7czo0OiLwnZqfIjtzOjE6InYiO3M6Mzoi4bSgIjtzOjE6InYiO3M6Mjoizr0iO3M6MToidiI7czo0OiLwnZuOIjtzOjE6InYiO3M6NDoi8J2ciCI7czoxOiJ2IjtzOjQ6IvCdnYIiO3M6MToidiI7czo0OiLwnZ28IjtzOjE6InYiO3M6NDoi8J2etiI7czoxOiJ2IjtzOjI6ItG1IjtzOjE6InYiO3M6Mjoi15giO3M6MToidiI7czo0OiLwkZyGIjtzOjE6InYiO3M6Mzoi6q6pIjtzOjE6InYiO3M6NDoi8JGjgCI7czoxOiJ2IjtzOjQ6IvCdiI0iO3M6MToiViI7czoyOiLZpyI7czoxOiJWIjtzOjI6Itu3IjtzOjE6IlYiO3M6Mzoi4oWkIjtzOjE6IlYiO3M6NDoi8J2QlSI7czoxOiJWIjtzOjQ6IvCdkYkiO3M6MToiViI7czo0OiLwnZG9IjtzOjE6IlYiO3M6NDoi8J2SsSI7czoxOiJWIjtzOjQ6IvCdk6UiO3M6MToiViI7czo0OiLwnZSZIjtzOjE6IlYiO3M6NDoi8J2VjSI7czoxOiJWIjtzOjQ6IvCdloEiO3M6MToiViI7czo0OiLwnZa1IjtzOjE6IlYiO3M6NDoi8J2XqSI7czoxOiJWIjtzOjQ6IvCdmJ0iO3M6MToiViI7czo0OiLwnZmRIjtzOjE6IlYiO3M6NDoi8J2ahSI7czoxOiJWIjtzOjI6ItG0IjtzOjE6IlYiO3M6Mzoi4rS4IjtzOjE6IlYiO3M6Mzoi4Y+ZIjtzOjE6IlYiO3M6Mzoi4ZCvIjtzOjE6IlYiO3M6Mzoi6pufIjtzOjE6IlYiO3M6Mzoi6pOmIjtzOjE6IlYiO3M6NDoi8Ja8iCI7czoxOiJWIjtzOjQ6IvCRoqAiO3M6MToiViI7czo0OiLwkJSdIjtzOjE6IlYiO3M6Mjoiya8iO3M6MToidyI7czo0OiLwnZCwIjtzOjE6InciO3M6NDoi8J2RpCI7czoxOiJ3IjtzOjQ6IvCdkpgiO3M6MToidyI7czo0OiLwnZOMIjtzOjE6InciO3M6NDoi8J2UgCI7czoxOiJ3IjtzOjQ6IvCdlLQiO3M6MToidyI7czo0OiLwnZWoIjtzOjE6InciO3M6NDoi8J2WnCI7czoxOiJ3IjtzOjQ6IvCdl5AiO3M6MToidyI7czo0OiLwnZiEIjtzOjE6InciO3M6NDoi8J2YuCI7czoxOiJ3IjtzOjQ6IvCdmawiO3M6MToidyI7czo0OiLwnZqgIjtzOjE6InciO3M6Mzoi4bShIjtzOjE6InciO3M6Mjoi0aEiO3M6MToidyI7czoyOiLUnSI7czoxOiJ3IjtzOjI6ItWhIjtzOjE6InciO3M6NDoi8JGciiI7czoxOiJ3IjtzOjQ6IvCRnI4iO3M6MToidyI7czo0OiLwkZyPIjtzOjE6InciO3M6Mzoi6q6DIjtzOjE6InciO3M6NDoi8JGjryI7czoxOiJXIjtzOjQ6IvCRo6YiO3M6MToiVyI7czo0OiLwnZCWIjtzOjE6IlciO3M6NDoi8J2RiiI7czoxOiJXIjtzOjQ6IvCdkb4iO3M6MToiVyI7czo0OiLwnZKyIjtzOjE6IlciO3M6NDoi8J2TpiI7czoxOiJXIjtzOjQ6IvCdlJoiO3M6MToiVyI7czo0OiLwnZWOIjtzOjE6IlciO3M6NDoi8J2WgiI7czoxOiJXIjtzOjQ6IvCdlrYiO3M6MToiVyI7czo0OiLwnZeqIjtzOjE6IlciO3M6NDoi8J2YniI7czoxOiJXIjtzOjQ6IvCdmZIiO3M6MToiVyI7czo0OiLwnZqGIjtzOjE6IlciO3M6Mjoi1JwiO3M6MToiVyI7czozOiLhjrMiO3M6MToiVyI7czozOiLhj5QiO3M6MToiVyI7czozOiLqk6oiO3M6MToiVyI7czozOiLhma4iO3M6MToieCI7czoyOiLDlyI7czoxOiJ4IjtzOjM6IuKkqyI7czoxOiJ4IjtzOjM6IuKkrCI7czoxOiJ4IjtzOjM6IuKoryI7czoxOiJ4IjtzOjM6Iu+9mCI7czoxOiJ4IjtzOjM6IuKFuSI7czoxOiJ4IjtzOjQ6IvCdkLEiO3M6MToieCI7czo0OiLwnZGlIjtzOjE6IngiO3M6NDoi8J2SmSI7czoxOiJ4IjtzOjQ6IvCdk40iO3M6MToieCI7czo0OiLwnZSBIjtzOjE6IngiO3M6NDoi8J2UtSI7czoxOiJ4IjtzOjQ6IvCdlakiO3M6MToieCI7czo0OiLwnZadIjtzOjE6IngiO3M6NDoi8J2XkSI7czoxOiJ4IjtzOjQ6IvCdmIUiO3M6MToieCI7czo0OiLwnZi5IjtzOjE6IngiO3M6NDoi8J2ZrSI7czoxOiJ4IjtzOjQ6IvCdmqEiO3M6MToieCI7czoyOiLRhSI7czoxOiJ4IjtzOjM6IuGVgSI7czoxOiJ4IjtzOjM6IuGVvSI7czoxOiJ4IjtzOjM6IuGZrSI7czoxOiJYIjtzOjM6IuKVsyI7czoxOiJYIjtzOjQ6IvCQjKIiO3M6MToiWCI7czo0OiLwkaOsIjtzOjE6IlgiO3M6Mzoi77y4IjtzOjE6IlgiO3M6Mzoi4oWpIjtzOjE6IlgiO3M6NDoi8J2QlyI7czoxOiJYIjtzOjQ6IvCdkYsiO3M6MToiWCI7czo0OiLwnZG/IjtzOjE6IlgiO3M6NDoi8J2SsyI7czoxOiJYIjtzOjQ6IvCdk6ciO3M6MToiWCI7czo0OiLwnZSbIjtzOjE6IlgiO3M6NDoi8J2VjyI7czoxOiJYIjtzOjQ6IvCdloMiO3M6MToiWCI7czo0OiLwnZa3IjtzOjE6IlgiO3M6NDoi8J2XqyI7czoxOiJYIjtzOjQ6IvCdmJ8iO3M6MToiWCI7czo0OiLwnZmTIjtzOjE6IlgiO3M6NDoi8J2ahyI7czoxOiJYIjtzOjM6IuqesyI7czoxOiJYIjtzOjI6Is6nIjtzOjE6IlgiO3M6NDoi8J2aviI7czoxOiJYIjtzOjQ6IvCdm7giO3M6MToiWCI7czo0OiLwnZyyIjtzOjE6IlgiO3M6NDoi8J2drCI7czoxOiJYIjtzOjQ6IvCdnqYiO3M6MToiWCI7czozOiLisqwiO3M6MToiWCI7czoyOiLQpSI7czoxOiJYIjtzOjM6IuK1nSI7czoxOiJYIjtzOjM6IuGatyI7czoxOiJYIjtzOjM6IuqTqyI7czoxOiJYIjtzOjQ6IvCQipAiO3M6MToiWCI7czo0OiLwkIq0IjtzOjE6IlgiO3M6NDoi8JCMlyI7czoxOiJYIjtzOjQ6IvCQlKciO3M6MToiWCI7czoyOiLJoyI7czoxOiJ5IjtzOjM6IuG2jCI7czoxOiJ5IjtzOjM6Iu+9mSI7czoxOiJ5IjtzOjQ6IvCdkLIiO3M6MToieSI7czo0OiLwnZGmIjtzOjE6InkiO3M6NDoi8J2SmiI7czoxOiJ5IjtzOjQ6IvCdk44iO3M6MToieSI7czo0OiLwnZSCIjtzOjE6InkiO3M6NDoi8J2UtiI7czoxOiJ5IjtzOjQ6IvCdlaoiO3M6MToieSI7czo0OiLwnZaeIjtzOjE6InkiO3M6NDoi8J2XkiI7czoxOiJ5IjtzOjQ6IvCdmIYiO3M6MToieSI7czo0OiLwnZi6IjtzOjE6InkiO3M6NDoi8J2ZriI7czoxOiJ5IjtzOjQ6IvCdmqIiO3M6MToieSI7czoyOiLKjyI7czoxOiJ5IjtzOjM6IuG7vyI7czoxOiJ5IjtzOjM6IuqtmiI7czoxOiJ5IjtzOjI6Is6zIjtzOjE6InkiO3M6Mzoi4oS9IjtzOjE6InkiO3M6NDoi8J2bhCI7czoxOiJ5IjtzOjQ6IvCdm74iO3M6MToieSI7czo0OiLwnZy4IjtzOjE6InkiO3M6NDoi8J2dsiI7czoxOiJ5IjtzOjQ6IvCdnqwiO3M6MToieSI7czoyOiLRgyI7czoxOiJ5IjtzOjI6ItKvIjtzOjE6InkiO3M6Mzoi4YOnIjtzOjE6InkiO3M6NDoi8JGjnCI7czoxOiJ5IjtzOjM6Iu+8uSI7czoxOiJZIjtzOjQ6IvCdkJgiO3M6MToiWSI7czo0OiLwnZGMIjtzOjE6IlkiO3M6NDoi8J2SgCI7czoxOiJZIjtzOjQ6IvCdkrQiO3M6MToiWSI7czo0OiLwnZOoIjtzOjE6IlkiO3M6NDoi8J2UnCI7czoxOiJZIjtzOjQ6IvCdlZAiO3M6MToiWSI7czo0OiLwnZaEIjtzOjE6IlkiO3M6NDoi8J2WuCI7czoxOiJZIjtzOjQ6IvCdl6wiO3M6MToiWSI7czo0OiLwnZigIjtzOjE6IlkiO3M6NDoi8J2ZlCI7czoxOiJZIjtzOjQ6IvCdmogiO3M6MToiWSI7czoyOiLOpSI7czoxOiJZIjtzOjI6Is+SIjtzOjE6IlkiO3M6NDoi8J2avCI7czoxOiJZIjtzOjQ6IvCdm7YiO3M6MToiWSI7czo0OiLwnZywIjtzOjE6IlkiO3M6NDoi8J2dqiI7czoxOiJZIjtzOjQ6IvCdnqQiO3M6MToiWSI7czozOiLisqgiO3M6MToiWSI7czoyOiLQoyI7czoxOiJZIjtzOjI6ItKuIjtzOjE6IlkiO3M6Mzoi4Y6pIjtzOjE6IlkiO3M6Mzoi4Y69IjtzOjE6IlkiO3M6Mzoi6pOsIjtzOjE6IlkiO3M6NDoi8Ja9gyI7czoxOiJZIjtzOjQ6IvCRoqQiO3M6MToiWSI7czo0OiLwkIqyIjtzOjE6IlkiO3M6NDoi8J2QsyI7czoxOiJ6IjtzOjQ6IvCdkaciO3M6MToieiI7czo0OiLwnZKbIjtzOjE6InoiO3M6NDoi8J2TjyI7czoxOiJ6IjtzOjQ6IvCdlIMiO3M6MToieiI7czo0OiLwnZS3IjtzOjE6InoiO3M6NDoi8J2VqyI7czoxOiJ6IjtzOjQ6IvCdlp8iO3M6MToieiI7czo0OiLwnZeTIjtzOjE6InoiO3M6NDoi8J2YhyI7czoxOiJ6IjtzOjQ6IvCdmLsiO3M6MToieiI7czo0OiLwnZmvIjtzOjE6InoiO3M6NDoi8J2aoyI7czoxOiJ6IjtzOjM6IuG0oiI7czoxOiJ6IjtzOjM6IuqukyI7czoxOiJ6IjtzOjQ6IvCRo4QiO3M6MToieiI7czo0OiLwkIu1IjtzOjE6IloiO3M6NDoi8JGjpSI7czoxOiJaIjtzOjM6Iu+8uiI7czoxOiJaIjtzOjM6IuKEpCI7czoxOiJaIjtzOjM6IuKEqCI7czoxOiJaIjtzOjQ6IvCdkJkiO3M6MToiWiI7czo0OiLwnZGNIjtzOjE6IloiO3M6NDoi8J2SgSI7czoxOiJaIjtzOjQ6IvCdkrUiO3M6MToiWiI7czo0OiLwnZOpIjtzOjE6IloiO3M6NDoi8J2WhSI7czoxOiJaIjtzOjQ6IvCdlrkiO3M6MToiWiI7czo0OiLwnZetIjtzOjE6IloiO3M6NDoi8J2YoSI7czoxOiJaIjtzOjQ6IvCdmZUiO3M6MToiWiI7czo0OiLwnZqJIjtzOjE6IloiO3M6MjoizpYiO3M6MToiWiI7czo0OiLwnZqtIjtzOjE6IloiO3M6NDoi8J2bpyI7czoxOiJaIjtzOjQ6IvCdnKEiO3M6MToiWiI7czo0OiLwnZ2bIjtzOjE6IloiO3M6NDoi8J2elSI7czoxOiJaIjtzOjM6IuGPgyI7czoxOiJaIjtzOjM6IuqTnCI7czoxOiJaIjtzOjQ6IvCRoqkiO3M6MToiWiI7czoyOiLGvyI7czoxOiL+IjtzOjI6Is+4IjtzOjE6Iv4iO3M6Mjoiz7ciO3M6MToi3iI7czo0OiLwkJOEIjtzOjE6It4iO30="; private static function need_skip($string, $i) { $chars = " @\r\n\t"; if (isset($string[$i]) && strpos($chars, $string[$i]) !== false) { $i++; return $i; } return false; } private static function match_shortopen_tag($string, $i, $needle, $j) { $pos_needle = false; $pos_string = false; if ((isset($needle[$j - 2]) && isset($string[$i - 2])) && (($needle[$j - 2] == '<') && ($string[$i - 2] == '<')) && (isset($needle[$j - 1]) && isset($string[$i - 1])) && ($needle[$j - 1] == '?' && $string[$i - 1] == '?') ) { $pos_needle = $j; $pos_string = $i; } if ($pos_needle && (isset($needle[$pos_needle]) && $needle[$pos_needle] == 'p') && (isset($needle[$pos_needle + 1]) && $needle[$pos_needle + 1] == 'h') && (isset($needle[$pos_needle + 2]) && $needle[$pos_needle + 2] == 'p') ) { $pos_needle = $pos_needle + 3; } if ($pos_string && (isset($string[$pos_string]) && $string[$pos_string] == 'p') && (isset($string[$pos_string + 1]) && $string[$pos_string + 1] == 'h') && (isset($string[$pos_string + 2]) && $string[$pos_string + 2] == 'p') ) { $pos_string = $pos_string + 3; } return [$pos_needle, $pos_string]; } public static function strip_whitespace($string, $save_length = false) { if (!$save_length) { StringToStreamWrapper::prepare($string); return @php_strip_whitespace(StringToStreamWrapper::WRAPPER_NAME . '://'); } else { $string = preg_replace_callback('~' . '(\'(?:.*?[^\\\\])??(?:(?:\\\\\\\\)+)?+\')' //match all '' strings to exclude it from comments . '|("(?:.*?[^\\\\])??(?:(?:\\\\\\\\)+)?+")' //match all "" strings to exclude it from comments . '|(//.*?(?:[\n\r]|$))' //match // comments . '|(/\*(?:.*?)\*/)' //match /**/ comments . '|(#[^\n\r]*[\n\r])' //match # comments . '~mis', function($m) { if (isset($m[1]) && !empty($m[1])) { return $m[1]; } if (isset($m[2]) && !empty($m[2])) { return $m[2]; } if ((isset($m[3]) && !empty($m[3])) || (isset($m[4]) && !empty($m[4])) || (isset($m[5]) && !empty($m[5]))) { if (isset($m[3]) && substr(trim($m[3]), -2, 2) == '?>') { return (str_repeat(' ', strlen($m[0]) - 2) . '?>'); } else { return str_repeat(' ', strlen($m[0])); } } }, $string); return $string; } } public static function normalize($string, $save_length = false) { $search = array( ' ;', ' =', ' ,', ' .', ' (', ' )', ' {', ' }', '; ', '= ', ', ', '. ' , '( ', '( ', '{ ', '} ', ' !', ' >', ' <', ' _', '_ ', '< ', '> ', ' $', ' %', '% ' , '# ', ' #', '^ ', ' ^', ' &', '& ', ' ?', '? '); $replace = array( ';', '=', ',', '.', '(', ')', '{', '}', ';', '=', ',', '.' , '(', ')', '{', '}', '!', '>', '<', '_', '_', '<', '>', '$', '%', '%' , '#', '#', '^', '^', '&', '&', '?', '?'); if (!$save_length) { $string = str_replace('@', '', $string); $string = preg_replace('~\s+~smi', ' ', $string); $string = str_replace($search, $replace, $string); } $string = preg_replace_callback('~\bchr\(\s*([0-9a-fA-FxX]+)\s*\)~', function($m) use ($save_length) { if ($save_length) { return str_pad("'" . @chr(intval($m[1], 0)) . "'", strlen($m[0]), ' '); } else { return "'" . @chr(intval($m[1], 0)) . "'"; } }, $string); for ($i = 0; $i < 2; $i++) { $string = preg_replace_callback('~%([0-9a-fA-F]{2})~', function($m) use ($save_length) { if ($save_length) { return str_pad(chr(@hexdec($m[1])), strlen($m[0]), ' '); } else { return @chr(hexdec($m[1])); } }, $string); } $string = preg_replace_callback('/\&[#\w]{2,20};/i', function($m) use ($save_length) { if ($save_length) { return str_pad(@html_entity_decode($m[0], ENT_QUOTES | ENT_HTML5), strlen($m[0]), ' '); } else { return @html_entity_decode($m[0], ENT_QUOTES | ENT_HTML5); } }, $string); $string = preg_replace_callback('/\\\\x([a-fA-F0-9]{1,2})/i', function($m) use ($save_length) { if ($save_length) { return str_pad(chr(@hexdec($m[1])), strlen($m[0]), ' '); } else { return @chr(hexdec($m[1])); } }, $string); $string = preg_replace_callback('/\\\\([0-9]{1,3})/i', function($m) use ($save_length) { if ($save_length) { return str_pad(@chr(octdec($m[1])), strlen($m[0]), ' '); } else { return @chr(octdec($m[1])); } }, $string); $string = preg_replace_callback('/[\'"]\s*?\.+\s*?[\'"]/smi', function($m) use ($save_length) { if ($save_length) { return str_repeat(' ', strlen($m[0])); } else { return ''; } }, $string); $string = preg_replace_callback('/[\'"]\s*?\++\s*?[\'"]/smi', function($m) use ($save_length) { if ($save_length) { return str_repeat(' ', strlen($m[0])); } else { return ''; } }, $string); $string = preg_replace_callback('~<title[^>]{0,99}>\s*\K(.{0,300}?)(?=<\/title>)~mis', function($m) use ($save_length) { if(preg_match('~(?:\w[^\x00-\x7F]{1,9}|[^\x00-\x7F]{1,9}\w)~', $m[1])) { return self::HomoglyphNormalize($m[1]); } return $m[1]; }, $string); if (!$save_length) { $string = str_replace('<?php', '<?php ', $string); $string = preg_replace('~\s+~', ' ', $string); } return $string; } public static function string_pos($string, $needle) { $j = 0; $skip = false; $start = false; $end = 0; $last_tag = [false, false]; $string = self::strip_whitespace($string, true); $string = self::normalize($string, true); $needle = self::normalize($needle, true); for ($i = 0, $iMax = strlen($string); $i < $iMax; $i++) { if(trim($string[$i]) === '' && trim($needle[$j]) === '') { $string[$i] = $needle[$j] = ' '; } if ($string[$i] == $needle[$j]) { if ($j == 0) { $start = $i; } elseif ($j == strlen($needle) - 1) { $end = $i; return [$start, $end]; } $j++; } else { $match_php_tag = self::match_shortopen_tag($string, $i, $needle, $j); if ($match_php_tag[0] !== false && ($last_tag[0] !== $match_php_tag[0])) { $j = $match_php_tag[0]; } if ($match_php_tag[1] !== false && ($last_tag[1] !== $match_php_tag[1])) { $i = $match_php_tag[1] - 1; } $last_tag = $match_php_tag; if ($match_php_tag[0] !== false || ($match_php_tag[1] !== false && (!empty($last_tag)))) { continue; } $skip = self::need_skip($string, $i); if ($skip !== false && $start !== false) { $i = $skip - 1; } else { $j = 0; } } } return false; } private static function HomoglyphNormalize($str) { if (!is_array(self::$confusables)) { self::$confusables = @unserialize(@base64_decode(self::$confusables)); } return str_replace(array_keys(self::$confusables), array_values(self::$confusables), $str); } } class Encoding { // Unicode BOM is U+FEFF, but after encoded, it will look like this. const UTF32_BIG_ENDIAN_BOM = "\x00\x00\xFE\xFF"; const UTF32_LITTLE_ENDIAN_BOM = "\xFF\xFE\x00\x00"; const UTF16_BIG_ENDIAN_BOM = "\xFE\xFF"; const UTF16_LITTLE_ENDIAN_BOM = "\xFF\xFE"; const UTF8_BOM = "\xEF\xBB\xBF"; public static function detectUTFEncoding($text) { $first2 = substr($text, 0, 2); $first3 = substr($text, 0, 3); $first4 = substr($text, 0, 4); if ($first3 == self::UTF8_BOM) { return 'UTF-8'; } elseif ($first4 == self::UTF32_BIG_ENDIAN_BOM) { return 'UTF-32BE'; } elseif ($first4 == self::UTF32_LITTLE_ENDIAN_BOM) { return 'UTF-32LE'; } elseif ($first2 == self::UTF16_BIG_ENDIAN_BOM) { return 'UTF-16BE'; } elseif ($first2 == self::UTF16_LITTLE_ENDIAN_BOM) { return 'UTF-16LE'; } return false; } public static function iconvSupported() { return (function_exists('iconv') && is_callable('iconv')); } public static function convertToCp1251($from, $str) { $ret = @iconv($from, 'CP1251//TRANSLIT', $str); if ($ret === false) { $ret = @iconv($from, 'CP1251//IGNORE', $str); } return $ret; } public static function convertToUTF8($from, $str) { return @iconv($from, 'UTF-8//IGNORE', $str); } } /** * Class RapidScanStorageRecord. * * Implements db record for RapidScan */ class RapidScanStorageRecord { const WHITE = 1; // white listed file in cloud db const BLACK = 6; // black listed file in cloud db const DUAL_USE = 2; // dual used listed file in cloud db const UNKNOWN = 3; // unknown file --> file not listed in cloud db const HEURISTIC = 4; //detected as heuristic const CONFLICT = 5; // we have filename hashing conflict for this file const NEWFILE = 0; // this is a new file (or content changed) const RX_MALWARE = 7; // detected as malware by rx scan const RX_SUSPICIOUS = 8; // detected as suspicious by rx scan const RX_GOOD = 9; // detected as good by rx scan /** * @var string; */ private $filename; /** * @var int */ private $key; /** * @var int */ private $updated_ts; /** * @var int */ private $verdict; /** * @var string */ private $sha2; /** * @var string */ private $signature = ''; /** * @var string */ private $snippet = ''; /** * RapidScanStorageRecord constructor. * @param $key * @param $updated_ts * @param int $verdict * @param $sha2 * @param string $signature */ private function __construct($key, $updated_ts, $verdict, $sha2, $signature, $filename, $snippet) { $this->filename = $filename; $this->key = $key; $this->updated_ts = $updated_ts; $this->verdict = $verdict; $this->sha2 = $sha2; $this->snippet = $snippet; if ($signature!=='') { $this->signature = self::padTo10Bytes($signature); } } /** * Create db storage record from file * @param $filename * @param string $signature * @param int $verdict * @return RapidScanStorageRecord * @throws Exception */ public static function fromFile($file, $signature = '', $verdict = self::UNKNOWN, $snippet = '') { $filename = ''; $stat = []; $inode = 0; $ctime = 0; $mtime = 0; if (is_string($file) && file_exists($file)) { $filename = $file; $stat = stat($filename); $inode = $stat['ino']; $ctime = $stat['ctime']; $mtime = $stat['mtime']; } else if ($file instanceof FileInfo && file_exists($file->getFilename())){ $filename = $file->getFilename(); $inode = $file->getInode(); $ctime = $file->getCreated(); $mtime = $file->getModified(); } if (!file_exists($filename)) { throw new Exception('File \'' . $filename . '\' doesn\'t exists.'); } $key = (int)((string)self::fileNameHash($filename) . (string)$inode); $updated_ts = max($mtime, $ctime); $sha2 = ''; if (!$verdict) { $verdict = self::NEWFILE; } if ($signature!=='') { $signature = self::padTo10Bytes($signature); } return new self($key, $updated_ts, $verdict, $sha2, $signature, $filename, $snippet); } /** * @param $array * @return RapidScanStorageRecord */ public static function fromArray($array) { $key = $array['key']; $updated_ts = $array['updated_ts']; $sha2 = hex2bin($array['sha2']); $verdict = $array['verdict']; $signature = $array['signature']; return new self($key, $updated_ts, $verdict, $sha2, $signature, '', ''); } /** * @return array */ public function toArray() { $array['key'] = $this->key; $array['updated_ts'] = $this->updated_ts; $array['verdict'] = $this->verdict; $array['sha2'] = bin2hex($this->sha2); $array['signature'] = $this->signature; return $array; } /** * @return array */ public function calcSha2() { $this->sha2 = hash('sha256', file_get_contents($this->filename), true); } /** * @param $verdict */ public function setVerdict($verdict) { $this->verdict = $verdict; } /** * @return int */ public function getKey() { return $this->key; } /** * @param $signature */ public function setSignature($signature) { if ($signature!=='') { $this->signature = self::padTo10Bytes($signature); } } /** * Unpack bytestring $value to RapidScanStorageRecord * @param $hash * @param $value * @return RapidScanStorageRecord */ public static function unpack($hash, $value) { // pack format // 8 bytes timestamp // 1 byte verdict // 32 bytes sha2 // 10 bytes signature (only for BLACK, DUAL_USE, RX_MALWARE, RX_SUSPICIOUS) // note - we will hold bloomfilter for file later on for those that are WHITE // it will be used to detect installed apps $signature = ''; $timestamp = unpack("l", substr($value, 0, 8)); $updated_ts = array_pop($timestamp); $verdict = $value[8]; $verdict = (int)bin2hex($verdict); $sha2 = substr($value, 9, 32); if (in_array($verdict, array(self::BLACK, self::DUAL_USE, self::RX_MALWARE, self::RX_SUSPICIOUS))) { $signature = substr($value, 41, 10); # 10 bytes signature string } if (strlen($value) > 51) { $snippet = substr($value, 51); } else { $snippet = ''; } return new self($hash, $updated_ts, $verdict, $sha2, $signature, '', $snippet); } /** * Pack RapidScanStorageRecord to bytestring to save in db * @return string */ public function pack() { $signature = ''; if (strlen($this->signature) > 0) { $signature = $this->signature; } return (($this->updated_ts < 0) ? str_pad(pack("l", $this->updated_ts), 8, "\xff") : str_pad(pack("l", $this->updated_ts), 8, "\x00")) . pack("c", $this->verdict) . $this->sha2 . $signature . $this->snippet; } /** * Hash function for create hash of full filename to store in db as key * @param $str * @return int */ private static function fileNameHash($str) { for ($i = 0, $h = 5381, $len = strlen($str); $i < $len; $i++) { $h = (($h << 5) + $h + ord($str[$i])) & 0x7FFFFFFF; } return $h; } /** * Convert string to utf-8 and fitting/padding it to 10 bytes * @param $str * @return string */ private static function padTo10Bytes($str) { # convert string to bytes in UTF8, and add 0 bytes to pad it to 10 # cut to 10 bytes of necessary $str = utf8_encode($str); $len = strlen($str); if ($len < 10) { $str = str_pad($str, 10, "\x00"); } elseif ($len > 10) { $str = substr($str, 0, 10); } return $str; } /** * @return int */ public function getUpdatedTs() { return $this->updated_ts; } /** * @return int */ public function getVerdict() { return $this->verdict; } /** * @return string */ public function getSha2() { return $this->sha2; } /** * @return string */ public function getSignature() { return $this->signature; } /** * @return string */ public function getFilename() { return $this->filename; } /** * @param $filename */ public function setFilename($filename) { $this->filename = $filename; } /** * @return string */ public function getSnippet() { return $this->snippet; } /** * @param $filename */ public function setSnippet($snippet) { $this->snippet = $snippet; } } /** * Interface RapidScanStorage implements class to work with RapidScan db * @package Aibolit\Lib\Scantrack */ class RapidScanStorage { /** * @var string */ protected $old_dir; /** * @var string */ protected $new_dir; /** * @var resource */ protected $new_db; /** * @var resource */ protected $old_db; /** * @var resource */ private $wb; /** * @var int */ public $batch_count; /** * RapidScanStorage constructor. * @param $base - folder where db located */ public function __construct($base) { if(!is_dir($base) && !mkdir($base) && !is_dir($base)) { throw new Exception(sprintf('Directory "%s" was not created', $base)); } $this->old_dir = $base . '/current'; $this->new_dir = $base . '/new'; $options = array('create_if_missing' => true, 'compression'=> LEVELDB_NO_COMPRESSION); $this->new_db = new LevelDB($this->new_dir, $options); $this->old_db = new LevelDB($this->old_dir, $options); $this->wb = NULL; // will be use to track writing to batch $this->batch_count = 0; } /** * @param RapidScanStorageRecord $record * @return bool */ public function put(RapidScanStorageRecord $record) { $this->startBatch(); $this->batch_count++; $value = $this->wb->put($record->getKey(), $record->pack()); return $value; } /** * @param $hash * @return bool|RapidScanStorageRecord */ public function getNew($hash) { $value = $this->new_db->get($hash); if($value) { $return = RapidScanStorageRecord::unpack($hash, $value); return $return; } return false; } /** * @param $hash * @return bool|RapidScanStorageRecord */ public function getOld($hash) { $value = $this->old_db->get($hash); if($value) { $return = RapidScanStorageRecord::unpack($hash, $value); return $return; } return false; } /** * @param $hash * @return bool */ public function delete($hash) { $return = $this->new_db->delete($hash); return $return; } /** * Close db, remove old db, move new to a new space */ public function finish() { $this->old_db->close(); $this->flushBatch(); $this->new_db->close(); self::rmtree($this->old_dir); rename($this->new_dir, $this->old_dir); } /** * Start batch operations */ private function startBatch() { if(!$this->wb) { $this->wb = new LevelDBWriteBatch(); $this->batch_count = 0; } } /** * write all data in a batch, reset batch */ public function flushBatch() { if ($this->wb) { $this->new_db->write($this->wb); $this->batch_count = 0; $this->wb = NULL; } } /** * Helper function to remove folder tree * @param $path */ public static function rmTree($path) { if (is_dir($path)) { foreach (scandir($path) as $name) { if (in_array($name, array('.', '..'))) { continue; } $subpath = $path.DIRECTORY_SEPARATOR . $name; self::rmTree($subpath); } rmdir($path); } else { unlink($path); } } } /** * For work with Cloud Assisted Storage * @package Aibolit\Lib\Scantrack */ class CloudAssistedStorage { private $db_filepath = ''; public function __construct($folder) { if(!is_dir($folder) && !mkdir($folder) && !is_dir($folder)) { throw new Exception(sprintf('Directory "%s" was not created', $folder)); } $this->db_filepath = $folder . DIRECTORY_SEPARATOR . 'cloud_assisted_verdicts.json'; } public function getList() { if (!file_exists($this->db_filepath)) { return []; } $content = file_get_contents($this->db_filepath); if (!$content) { return []; } $list = json_decode($content, true); if (!$list || !is_array($list)) { return []; } return $list; } public function putList($list) { file_put_contents($this->db_filepath, json_encode($list)); } public function delete() { if (!file_exists($this->db_filepath)) { return; } unlink($this->db_filepath); } } /** * This is actual class that does account level scan * and remembers the state of scan * Class RapidAccountScan * @package Aibolit\Lib\Scantrack */ class RapidAccountScan { const RESCAN_ALL = 0; // mode of operation --> rescan all files that are not white/black/dual_use using cloud scanner & regex scanner const RESCAN_NONE = 1; // don't re-scan any files that we already scanned const RESCAN_SUSPICIOUS = 2; // only re-scan suspicious files using only regex scanner const MAX_BATCH = 1000; // max files to write in a db batch write const MAX_TO_SCAN = 1000; // max files to scan using cloud/rx scanner at a time private $db; private $cas_db; private $cas_list = []; private $vars = null; private $scanlist; private $collisions; private $processedFiles; private $rescan_count = 0; private $counter = 0; private $str_error = false; private $scanner = null; /** * RapidAccountScan constructor. * @param RapidScanStorage $rapidScanStorage */ public function __construct($scanner, $rapidScanStorage, $cloudAssistedStorage, &$vars, $counter = 0) { $this->db = $rapidScanStorage; $this->cas_db = $cloudAssistedStorage; $this->vars = $vars; $this->scanlist = array(); $this->collisions = array(); $this->processedFiles = 0; $this->counter = $counter; $this->scanner = $scanner; } /** * Get str error */ public function getStrError() { return $this->str_error; } /** * Get count of rescan(regexp) files */ public function getRescanCount() { return $this->rescan_count; } /** * placeholder for actual regex scan * return RX_GOOD, RX_MALWARE, RX_SUSPICIOUS and signature from regex scaner * if we got one */ private function regexScan($filename, $i, $vars) { $this->rescan_count++; printProgress(++$this->processedFiles, $filename, $vars); $return = $this->scanner->QCR_ScanFile($filename, $vars, null, $i, false); return $return; } /** * we will have batch of new files that we will scan * here we will write them into db once we scanned them * we need to check that there is no conflicts/collisions * in names, for that we check for data in db if such filename_hash * already exists, but we also keep set of filename_hashes of given * batch, to rule out conflicts in current batch as well */ private function writeNew() { $this->collisions = array(); foreach ($this->scanlist as $fileinfo) { if (in_array($fileinfo->getKey(), $this->collisions) || $this->db->getNew($fileinfo->getKey())) { $fileinfo->setVerdict(RapidScanStorageRecord::CONFLICT); } $this->collisions [] = $fileinfo->getKey(); $this->db->put($fileinfo); } } /** * given a batch do cloudscan * @throws \Exception */ private function doCloudScan() { if (count($this->scanlist) <= 0) { return; } $index_table = []; $blackfiles = []; $sha_list = []; foreach ($this->scanlist as $i => $fileinfo) { $sha_list[] = bin2hex($fileinfo->getSha2()); $index_table[] = $i; $fileinfo->setVerdict(RapidScanStorageRecord::UNKNOWN); } $ca = Factory::instance()->create(CloudAssistedRequest::class, [CLOUD_ASSIST_TOKEN]); $white_raw = []; $black_raw = []; $verdicts_black_raw = []; try { list($white_raw, $black_raw, $verdicts_black_raw) = $ca->checkFilesByHash($sha_list); } catch (\Exception $e) { $this->str_error = $e->getMessage(); } $dual = array_intersect($white_raw, $black_raw); $black_raw = array_diff($black_raw, $white_raw); foreach ($white_raw as $index) { $this->scanlist[$index_table[$index]]->setVerdict(RapidScanStorageRecord::WHITE); } $signatures_db = []; foreach ($black_raw as $i => $index) { $this->scanlist[$index_table[$index]]->setVerdict(RapidScanStorageRecord::BLACK); $signature = isset($verdicts_black_raw[$i]) ? $verdicts_black_raw[$i] : ''; $signature_id = 'c_' . hash('crc32', $signature); $signatures_db[$signature_id] = $signature; $this->scanlist[$index_table[$index]]->setSignature($signature_id); $blackfiles[$this->scanlist[$index_table[$index]]->getFilename()] = [ 'h' => $sha_list[$index], 'ts' => time(), 'sn' => $signature, 'ras_sigid' => $signature_id, ]; } $signatures_list = $this->cas_db->getList(); foreach ($signatures_db as $hash => $sig) { $this->cas_list[$hash] = $sig; if (isset($signatures_list[$hash])) { continue; } $signatures_list[$hash] = $sig; } $this->cas_db->putList($signatures_list); foreach ($dual as $index) { $this->scanlist[$index_table[$index]]->setVerdict(RapidScanStorageRecord::DUAL_USE); $this->scanlist[$index_table[$index]]->setSignature('DUAL'); //later on we will get sig info from cloud } // we can now update verdicts in batch for those that we know //add entries to report, when needed $this->vars->blackFiles = array_merge($this->vars->blackFiles, $blackfiles); unset($white_raw, $black_raw, $dual, $sha_list, $index_table); } /** * regex scan a single file, add entry to report if needed * @param $fileInfo * @param $i */ private function _regexScan($fileInfo, $i, $vars) { $regex_res = $this->regexScan($fileInfo->getFilename(), $i, $vars); if (!is_array($regex_res)) { return; } list($result, $sigId, $snippet) = $regex_res; $fileInfo->setVerdict($result); if ($result !== RapidScanStorageRecord::RX_GOOD) { $fileInfo->setSignature($sigId); $fileInfo->setSnippet($snippet); } } /** * regex scan batch of files. */ private function doRegexScan($vars) { foreach ($this->scanlist as $i => $fileinfo) { if (!in_array($fileinfo->getVerdict(), array( RapidScanStorageRecord::WHITE, RapidScanStorageRecord::BLACK, RapidScanStorageRecord::DUAL_USE )) ) { $this->_regexScan($fileinfo, $i, $vars); } } } private function processScanList($vars) { $this->doCloudScan(); $this->doRegexScan($vars); $this->writeNew(); $this->scanlist = []; } private function scanFile($filename, $rescan, $i, $vars) { if ($vars->fileinfo !== null) { if($filename !== $vars->fileinfo->getFilename()) { unset($file); $vars->fileinfo = null; } } if ($vars->fileinfo == null) { $file = new FileInfo($filename, $i); $vars->fileinfo = $file; } $file = $vars->fileinfo; if (!file_exists($filename)) { return false; } $file = RapidScanStorageRecord::fromFile($file); $old_value = $this->db->getOld($file->getKey()); $old_mtime = 0; if ($old_value) { $old_mtime = $old_value->getUpdatedTs(); if ($file->getUpdatedTs() == $old_mtime) { $file = $old_value; $file->setFilename($filename); } } if ($file->getVerdict() == RapidScanStorageRecord::UNKNOWN || $file->getVerdict() == RapidScanStorageRecord::CONFLICT || $file->getUpdatedTs() !== $old_mtime ) { // these files has changed or we know nothing about them, lets re-calculate sha2 // and do full scan $file->calcSha2(); $file->setVerdict(RapidScanStorageRecord::NEWFILE); $this->scanlist[$i] = $file; } elseif ($file->getVerdict() == RapidScanStorageRecord::BLACK) { //these files hasn't changed, but need to be reported as they are on one of the lists $signature_id = $file->getSignature(); $signature = isset($this->cas_list[$signature_id]) ? $this->cas_list[$signature_id] : ''; $this->vars->blackFiles[$filename] = [ 'h' => bin2hex($file->getSha2()), 'ts' => time(), 'sn' => $signature, 'ras_sigid' => $signature_id, ]; $this->db->put($file); } elseif ($file->getVerdict() == RapidScanStorageRecord::DUAL_USE) { $this->db->put($file); } elseif (($rescan == self::RESCAN_SUSPICIOUS || $rescan == self::RESCAN_NONE) && $file->getVerdict() == RapidScanStorageRecord::RX_MALWARE ) { //this files were detected as rx malware before, let's report them $sigId = trim($file->getSignature(), "\0"); if (isset($sigId) && isset($vars->signs->_Mnemo[$sigId])) { $sigName = $vars->signs->_Mnemo[$sigId]; $snippet = $file->getSnippet(); if (strpos($sigName, 'SUS') !== false && AI_EXTRA_WARN) { $vars->warningPHP[] = $i; $vars->warningPHPFragment[] = $snippet; $vars->warningPHPSig[] = $sigId; } elseif (strtolower(pathinfo($filename, PATHINFO_EXTENSION)) == 'js') { $vars->criticalJS[] = $i; $vars->criticalJSFragment[] = $snippet; $vars->criticalJSSig[] = $sigId; } else { $vars->criticalPHP[] = $i; $vars->criticalPHPFragment[] = $snippet; $vars->criticalPHPSig[] = $sigId; } $this->scanner->AddResult($vars->fileinfo, $i, $vars); $this->db->put($file); } else { $this->scanlist[$i] = $file; } } elseif (( $rescan == self::RESCAN_ALL && in_array($file->getVerdict(), array( RapidScanStorageRecord::RX_SUSPICIOUS, RapidScanStorageRecord::RX_GOOD, RapidScanStorageRecord::RX_MALWARE )) ) || ( $rescan == self::RESCAN_SUSPICIOUS && $file->getVerdict() == RapidScanStorageRecord::RX_SUSPICIOUS ) ) { //rescan all mode, all none white/black/dual listed files need to be re-scanned fully $this->scanlist[$i] = $file; } else { //in theory -- we should have only white files here... $this->db->put($file); } if (count($this->scanlist) >= self::MAX_TO_SCAN) { // our scan list is big enough // let's flush db, and scan the list $this->db->flushBatch(); $this->processScanList($vars); } if ($this->db->batch_count >= self::MAX_BATCH) { //we have added many entries to db, time to flush it $this->db->flushBatch(); $this->processScanList($vars); } unset($file); $vars->fileinfo = null; } public function scan($files, $vars, $rescan = self::RESCAN_SUSPICIOUS) { $i = 0; $this->cas_list = $this->cas_db->getList(); foreach ($files as $filepath) { $counter = $this->counter + $i; $vars->totalFiles++; $this->processedFiles = $counter - $vars->totalFolder - count($this->scanlist); printProgress($this->processedFiles, $filepath, $vars); $this->scanFile($filepath, $rescan, $counter, $vars); $i++; } if ($rescan == self::RESCAN_ALL) { $this->cas_db->delete(); $this->cas_list = []; foreach ($this->vars->blackFiles as $blackfile) { $this->cas_list[$blackfile['ras_sigid']] = $blackfile['sn']; } $this->cas_db->putList($this->cas_list); } //let's flush db again $this->db->flushBatch(); //process whatever is left in our scan list if (count($this->scanlist) > 0) { $this->processScanList($vars); } // whitelist $snum = 0; $list = $this->scanner->check_whitelist($vars->structure['crc'], $snum); $keys = array( 'criticalPHP', 'criticalJS', 'g_Iframer', 'g_Base64', 'phishing', 'adwareList', 'g_Redirect', 'warningPHP' ); foreach ($keys as $p) { if (empty($vars->{$p})) { continue; } $p_Fragment = $p . 'Fragment'; $p_Sig = $p . 'Sig'; if ($p == 'g_Redirect') { $p_Fragment = $p . 'PHPFragment'; } if ($p == 'g_Phishing') { $p_Sig = $p . 'SigFragment'; } $count = count($vars->{$p}); for ($i = 0; $i < $count; $i++) { $id = $vars->{$p}[$i]; if ($vars->structure['crc'][$id] !== 0 && in_array($vars->structure['crc'][$id], $list)) { $rec = RapidScanStorageRecord::fromFile($vars->structure['n'][$id]); $rec->calcSha2(); $rec->setVerdict(RapidScanStorageRecord::RX_GOOD); $this->db->put($rec); unset($vars->{$p}[$i], $vars->{$p_Sig}[$i], $vars->{$p_Fragment}[$i]); } } $vars->{$p} = array_values($vars->{$p}); $vars->{$p_Fragment} = array_values($vars->{$p_Fragment}); if (!empty($vars->{$p_Sig})) { $vars->{$p_Sig} = array_values($vars->{$p_Sig}); } } //close databases and rename new into 'current' $this->db->finish(); } } /** * DbFolderSpecification class file. */ /** * Class DbFolderSpecification. * * It can be use for checking requirements for a folder that is used for storing a RapidScan DB. */ class DbFolderSpecification { /** * Check whether a particular folder satisfies requirements. * * @param string $folder * @return bool */ public function satisfiedBy($folder) { if (!file_exists($folder) || !is_dir($folder)) { return false; } $owner_id = (int)fileowner($folder); if (function_exists('posix_getpwuid')) { $owner = posix_getpwuid($owner_id); if (!isset($owner['name']) || $owner['name'] !== 'root') { return false; } } elseif ($owner_id != 0) { return false; } $perms = fileperms($folder); if (($perms & 0x0100) // owner r && ($perms & 0x0080) // owner w && ($perms & 0x0040) && !($perms & 0x0800) // owner x && !($perms & 0x0020) // group without r && !($perms & 0x0010) // group without w && (!($perms & 0x0008) || ($perms & 0x0400))// group without x && !($perms & 0x0004) // other without r && !($perms & 0x0002) // other without w && (!($perms & 0x0001) || ($perms & 0x0200))// other without x ) { return true; } return false; } } /** * CriticalFileSpecification class file. */ /** * Class CriticalFileSpecification. */ class CriticalFileSpecification { /** * @var array list of extension */ private $extensions = [ 'php', 'htaccess', 'cgi', 'pl', 'o', 'so', 'py', 'sh', 'phtml', 'php3', 'php4', 'php5', 'php6', 'php7', 'pht', 'shtml', 'susp', 'suspected', 'infected', 'vir', 'ico', 'js', 'json', 'com', '' ]; private $js_extensions = [ 'js', 'json', 'html', 'htm', 'suspicious' ]; private $phish_extensions = [ 'js', 'html', 'htm', 'suspected', 'php', 'phtml', 'pht', 'php7' ]; private static $critical_content = '^\s*<\?php' . '|^\s*<\?=' . '|^#!/usr' . '|^#!/bin' . '|\beval' . '|assert' . '|base64_decode' . '|\bsystem' . '|create_function' . '|\bexec' . '|\bpopen' . '|\bfwrite' . '|\bfputs' . '|file_get_' . '|call_user_func' . '|file_put_' . '|\$_REQUEST' . '|ob_start' . '|\$_GET' . '|\$_POST' . '|\$_SERVER' . '|\$_FILES' . '|\bmove' . '|\bcopy' . '|\barray_' . '|reg_replace' . '|\bmysql_' . '|\bchr' . '|fsockopen' . '|\$GLOBALS' . '|sqliteCreateFunction' . '|EICAR-STANDARD-ANTIVIRUS-TEST-FILE'; private static $critical_js_content = '<script' . '|<iframe' . '|<object' . '|<embed' . '|fromCharCode' . '|setTimeout' . '|setInterval' . '|location\.' . '|document\.' . '|window\.' . '|navigator\.' . '|\$(this)\.'; /**$g_VirusEntries**/ private static $critical_phish_content = '<\s*title' . '|<\s*html' . '|<\s*form' . '|<\s*body' . '|bank' . '|account'; /**$g_PhishEntries*/ public function __construct() { $this->extensions = array_flip($this->extensions); $this->js_extensions = array_flip($this->js_extensions); $this->phish_extensions = array_flip($this->phish_extensions); } /** * Check whether a particular file with specified extension is critical. * * @param string $ext * @param string $type * @return bool */ public function satisfiedBy($ext, $type) { return isset($this->{$type}[$ext]); } /** * Check whether a particular content is critical. * * @param string $content * @param string $type * @return bool */ public function satisfiedByContent($content, $type) { return preg_match('~' . $this->{$type} . '~smiS', $content, $l_Found) ? true : false; } } class Helpers { public static function normalize($string, $save_length = false) { $search = array( ' ;', ' =', ' ,', ' .', ' (', ' )', ' {', ' }', '; ', '= ', ', ', '. ' , '( ', '( ', '{ ', '} ', ' !', ' >', ' <', ' _', '_ ', '< ', '> ', ' $', ' %', '% ' , '# ', ' #', '^ ', ' ^', ' &', '& ', ' ?', '? '); $replace = array( ';', '=', ',', '.', '(', ')', '{', '}', ';', '=', ',', '.' , '(', ')', '{', '}', '!', '>', '<', '_', '_', '<', '>', '$', '%', '%' , '#', '#', '^', '^', '&', '&', '?', '?'); if (!$save_length) { $string = str_replace('@', '', $string); $string = preg_replace('~\s+~smi', ' ', $string); $string = str_replace($search, $replace, $string); } $string = preg_replace_callback('~\bchr\(\s*([0-9a-fA-FxX]+)\s*\)~', function($m) use ($save_length) { if ($save_length) { return str_pad("'" . @chr(intval($m[1], 0)) . "'", strlen($m[0]), ' '); } else { return "'" . @chr(intval($m[1], 0)) . "'"; } }, $string); $string = preg_replace_callback('/\&\#([0-9]{1,3});/i', function($m) use ($save_length) { if ($save_length) { return str_pad(@chr((int)$m[1]), strlen($m[0]), ' '); } else { return @chr((int)$m[1]); } }, $string); $string = preg_replace_callback('/\\\\x([a-fA-F0-9]{1,2})/i', function($m) use ($save_length) { if ($save_length) { return str_pad(chr(@hexdec($m[1])), strlen($m[0]), ' '); } else { return @chr(hexdec($m[1])); } }, $string); $string = preg_replace_callback('/\\\\([0-9]{1,3})/i', function($m) use ($save_length) { if ($save_length) { return str_pad(@chr(octdec($m[1])), strlen($m[0]), ' '); } else { return @chr(octdec($m[1])); } }, $string); $string = preg_replace_callback('/[\'"]\s*?\.+\s*?[\'"]/smi', function($m) use ($save_length) { if ($save_length) { return str_repeat(' ', strlen($m[0])); } else { return ''; } }, $string); $string = preg_replace_callback('/[\'"]\s*?\++\s*?[\'"]/smi', function($m) use ($save_length) { if ($save_length) { return str_repeat(' ', strlen($m[0])); } else { return ''; } }, $string); if (!$save_length) { $string = str_replace('<?php', '<?php ', $string); $string = preg_replace('~\s+~', ' ', $string); } return $string; } public static function format($source) { $t_count = 0; $in_object = false; $in_at = false; $in_php = false; $in_for = false; $in_comp = false; $in_quote = false; $in_var = false; if (!defined('T_ML_COMMENT')) { define('T_ML_COMMENT', T_COMMENT); } $result = ''; @$tokens = token_get_all($source); foreach ($tokens as $token) { if (is_string($token)) { $token = trim($token); if ($token == '{') { if ($in_for) { $in_for = false; } if (!$in_quote && !$in_var) { $t_count++; $result = rtrim($result) . ' ' . $token . "\n" . str_repeat(' ', $t_count); } else { $result = rtrim($result) . $token; } } elseif ($token == '$') { $in_var = true; $result .= $token; } elseif ($token == '}') { if (!$in_quote && !$in_var) { $new_line = true; $t_count--; if ($t_count < 0) { $t_count = 0; } $result = rtrim($result) . "\n" . str_repeat(' ', $t_count) . $token . "\n" . @str_repeat(' ', $t_count); } else { $result = rtrim($result) . $token; } if ($in_var) { $in_var = false; } } elseif ($token == ';') { if ($in_comp) { $in_comp = false; } if ($in_for) { $result .= $token . ' '; } else { $result .= $token . "\n" . str_repeat(' ', $t_count); } } elseif ($token == ':') { if ($in_comp) { $result .= ' ' . $token . ' '; } else { $result .= $token . "\n" . str_repeat(' ', $t_count); } } elseif ($token == '(') { $result .= ' ' . $token; } elseif ($token == ')') { $result .= $token; } elseif ($token == '@') { $in_at = true; $result .= $token; } elseif ($token == '.') { $result .= ' ' . $token . ' '; } elseif ($token == '=') { $result .= ' ' . $token . ' '; } elseif ($token == '?') { $in_comp = true; $result .= ' ' . $token . ' '; } elseif ($token == '"') { if ($in_quote) { $in_quote = false; } else { $in_quote = true; } $result .= $token; } else { $result .= $token; } } else { list($id, $text) = $token; switch ($id) { case T_OPEN_TAG: case T_OPEN_TAG_WITH_ECHO: $in_php = true; $result .= trim($text) . "\n"; break; case T_CLOSE_TAG: $in_php = false; $result .= trim($text); break; case T_FOR: $in_for = true; $result .= trim($text); break; case T_OBJECT_OPERATOR: $result .= trim($text); $in_object = true; break; case T_ENCAPSED_AND_WHITESPACE: case T_WHITESPACE: $result .= trim($text); break; case T_RETURN: $result = rtrim($result) . "\n" . str_repeat(' ', $t_count) . trim($text) . ' '; break; case T_ELSE: case T_ELSEIF: $result = rtrim($result) . ' ' . trim($text) . ' '; break; case T_CASE: case T_DEFAULT: $result = rtrim($result) . "\n" . str_repeat(' ', $t_count - 1) . trim($text) . ' '; break; case T_FUNCTION: case T_CLASS: $result .= "\n" . str_repeat(' ', $t_count) . trim($text) . ' '; break; case T_AND_EQUAL: case T_AS: case T_BOOLEAN_AND: case T_BOOLEAN_OR: case T_CONCAT_EQUAL: case T_DIV_EQUAL: case T_DOUBLE_ARROW: case T_IS_EQUAL: case T_IS_GREATER_OR_EQUAL: case T_IS_IDENTICAL: case T_IS_NOT_EQUAL: case T_IS_NOT_IDENTICAL: case T_LOGICAL_AND: case T_LOGICAL_OR: case T_LOGICAL_XOR: case T_MINUS_EQUAL: case T_MOD_EQUAL: case T_MUL_EQUAL: case T_OR_EQUAL: case T_PLUS_EQUAL: case T_SL: case T_SL_EQUAL: case T_SR: case T_SR_EQUAL: case T_START_HEREDOC: case T_XOR_EQUAL: $result = rtrim($result) . ' ' . trim($text) . ' '; break; case T_COMMENT: $result = rtrim($result) . "\n" . str_repeat(' ', $t_count) . trim($text) . ' '; break; case T_ML_COMMENT: $result = rtrim($result) . "\n"; $lines = explode("\n", $text); foreach ($lines as $line) { $result .= str_repeat(' ', $t_count) . trim($line); } $result .= "\n"; break; case T_INLINE_HTML: $result .= $text; break; default: $result .= trim($text); break; } } } return $result; } public static function replaceCreateFunction($str) { $hangs = 20; while (strpos($str, 'create_function') !== false && $hangs--) { $start_pos = strpos($str, 'create_function'); $end_pos = 0; $brackets = 0; $started = false; $opened = 0; $closed = 0; for ($i = $start_pos, $iMax = strlen($str); $i < $iMax; $i++) { if ($str[$i] == '(') { $started = true; $brackets++; $opened++; } else if ($str[$i] == ')') { $closed++; $brackets--; } if ($brackets == 0 && $started) { $end_pos = $i + 1; break; } } $cr_func = substr($str, $start_pos, $end_pos - $start_pos); $func = implode('function(', explode('create_function(\'', $cr_func, 2)); //$func = substr_replace('create_function(\'', 'function(', $cr_func); //$func = str_replace('\',\'', ') {', $func); $func = implode(') {', explode('\',\'', $func, 2)); $func = substr($func, 0, -2) . '}'; $str = str_replace($cr_func, $func, $str); } return $str; } public static function calc($expr) { if (is_array($expr)) { $expr = $expr[0]; } preg_match('~(chr|min|max|round)?\(([^\)]+)\)~msi', $expr, $expr_arr); if (@$expr_arr[1] == 'min' || @$expr_arr[1] == 'max') { return $expr_arr[1](explode(',', $expr_arr[2])); } elseif (@$expr_arr[1] == 'chr') { if ($expr_arr[2][0] === '(') { $expr_arr[2] = substr($expr_arr[2], 1); } $expr_arr[2] = self::calc($expr_arr[2]); return $expr_arr[1](intval($expr_arr[2])); } elseif (@$expr_arr[1] == 'round') { $expr_arr[2] = self::calc($expr_arr[2]); return $expr_arr[1]($expr_arr[2]); } else { preg_match_all('~([\d\.a-fx]+)([\*\/\-\+\^\|\&])?~', $expr, $expr_arr); foreach ($expr_arr[1] as &$expr_arg) { if (strpos($expr_arg, "0x")!==false) { $expr = str_replace($expr_arg, hexdec($expr_arg), $expr); $expr_arg = hexdec($expr_arg); } } if (in_array('*', $expr_arr[2]) !== false) { $pos = array_search('*', $expr_arr[2]); $res = $expr_arr[1][$pos] * $expr_arr[1][$pos + 1]; $pos_subst = strpos($expr, $expr_arr[1][$pos] . '*' . $expr_arr[1][$pos + 1]); $expr = substr_replace($expr, $res, $pos_subst, strlen($expr_arr[1][$pos] . '*' . $expr_arr[1][$pos + 1])); $expr = self::calc($expr); } elseif (in_array('/', $expr_arr[2]) !== false) { $pos = array_search('/', $expr_arr[2]); $res = $expr_arr[1][$pos] / $expr_arr[1][$pos + 1]; $pos_subst = strpos($expr, $expr_arr[1][$pos] . '/' . $expr_arr[1][$pos + 1]); $expr = substr_replace($expr, $res, $pos_subst, strlen($expr_arr[1][$pos] . '/' . $expr_arr[1][$pos + 1])); $expr = self::calc($expr); } elseif (in_array('-', $expr_arr[2]) !== false) { $pos = array_search('-', $expr_arr[2]); $res = $expr_arr[1][$pos] - $expr_arr[1][$pos + 1]; $pos_subst = strpos($expr, $expr_arr[1][$pos] . '-' . $expr_arr[1][$pos + 1]); $expr = substr_replace($expr, $res, $pos_subst, strlen($expr_arr[1][$pos] . '-' . $expr_arr[1][$pos + 1])); $expr = self::calc($expr); } elseif (in_array('+', $expr_arr[2]) !== false) { $pos = array_search('+', $expr_arr[2]); $res = $expr_arr[1][$pos] + $expr_arr[1][$pos + 1]; $pos_subst = strpos($expr, $expr_arr[1][$pos] . '+' . $expr_arr[1][$pos + 1]); $expr = substr_replace($expr, $res, $pos_subst, strlen($expr_arr[1][$pos] . '+' . $expr_arr[1][$pos + 1])); $expr = self::calc($expr); } elseif (in_array('^', $expr_arr[2]) !== false) { $pos = array_search('^', $expr_arr[2]); $res = $expr_arr[1][$pos] ^ $expr_arr[1][$pos + 1]; $pos_subst = strpos($expr, $expr_arr[1][$pos] . '^' . $expr_arr[1][$pos + 1]); $expr = substr_replace($expr, $res, $pos_subst, strlen($expr_arr[1][$pos] . '^' . $expr_arr[1][$pos + 1])); $expr = self::calc($expr); } elseif (in_array('|', $expr_arr[2]) !== false) { $pos = array_search('|', $expr_arr[2]); $res = $expr_arr[1][$pos] | $expr_arr[1][$pos + 1]; $pos_subst = strpos($expr, $expr_arr[1][$pos] . '|' . $expr_arr[1][$pos + 1]); $expr = substr_replace($expr, $res, $pos_subst, strlen($expr_arr[1][$pos] . '|' . $expr_arr[1][$pos + 1])); $expr = self::calc($expr); } elseif (in_array('&', $expr_arr[2]) !== false) { $pos = array_search('&', $expr_arr[2]); $res = $expr_arr[1][$pos] & $expr_arr[1][$pos + 1]; $pos_subst = strpos($expr, $expr_arr[1][$pos] . '&' . $expr_arr[1][$pos + 1]); $expr = substr_replace($expr, $res, $pos_subst, strlen($expr_arr[1][$pos] . '&' . $expr_arr[1][$pos + 1])); $expr = self::calc($expr); } else { return $expr; } return $expr; } } public static function getEvalCode($string) { preg_match("/eval\(([^\)]+)\)/msi", $string, $matches); return (empty($matches)) ? '' : end($matches); } public static function getTextInsideQuotes($string) { if (preg_match_all('/("(.*)")/msi', $string, $matches)) { return @end(end($matches)); } elseif (preg_match_all('/\((\'(.*)\')/msi', $string, $matches)) { return @end(end($matches)); } else { return ''; } } public static function getNeedles($string) { preg_match_all("/'(.*?)'/msi", $string, $matches); return (empty($matches)) ? array() : $matches[1]; } public static function getHexValues($string) { preg_match_all('/0x[a-fA-F0-9]{1,8}/msi', $string, $matches); return (empty($matches)) ? array() : $matches[0]; } public static function formatPHP($string) { $string = str_replace('<?php', '', $string); $string = str_replace('?>', '', $string); $string = str_replace(PHP_EOL, "", $string); $string = str_replace(";", ";\n", $string); $string = str_replace("}", "}\n", $string); return $string; } public static function detect_utf_encoding($text) { $first2 = substr($text, 0, 2); $first3 = substr($text, 0, 3); $first4 = substr($text, 0, 4); if ($first4 == chr(0x00) . chr(0x00) . chr(0xFE) . chr(0xFF)) { return 'UTF-32BE'; } elseif ($first4 == chr(0xFF) . chr(0xFE) . chr(0x00) . chr(0x00)) { return 'UTF-32LE'; } elseif ($first2 == chr(0xFE) . chr(0xFF)) { return 'UTF-16BE'; } elseif ($first2 == chr(0xFF) . chr(0xFE)) { return 'UTF-16LE'; } return false; } //from sample_16 public static function someDecoder($str) { $str = base64_decode($str); $TC9A16C47DA8EEE87 = 0; $TA7FB8B0A1C0E2E9E = 0; $T17D35BB9DF7A47E4 = 0; $T65CE9F6823D588A7 = (ord($str[1]) << 8) + ord($str[2]); $i = 3; $T77605D5F26DD5248 = 0; $block = 16; $T7C7E72B89B83E235 = ""; $T43D5686285035C13 = ""; $len = strlen($str); $T6BBC58A3B5B11DC4 = 0; for (; $i < $len;) { if ($block == 0) { $T65CE9F6823D588A7 = (ord($str[$i++]) << 8); $T65CE9F6823D588A7 += ord($str[$i++]); $block = 16; } if ($T65CE9F6823D588A7 & 0x8000) { $TC9A16C47DA8EEE87 = (ord($str[$i++]) << 4); $TC9A16C47DA8EEE87 += (ord($str[$i]) >> 4); if ($TC9A16C47DA8EEE87) { $TA7FB8B0A1C0E2E9E = (ord($str[$i++]) & 0x0F) + 3; for ($T17D35BB9DF7A47E4 = 0; $T17D35BB9DF7A47E4 < $TA7FB8B0A1C0E2E9E; $T17D35BB9DF7A47E4++) { $T7C7E72B89B83E235[$T77605D5F26DD5248 + $T17D35BB9DF7A47E4] = $T7C7E72B89B83E235[$T77605D5F26DD5248 - $TC9A16C47DA8EEE87 + $T17D35BB9DF7A47E4]; } $T77605D5F26DD5248 += $TA7FB8B0A1C0E2E9E; } else { $TA7FB8B0A1C0E2E9E = (ord($str[$i++]) << 8); $TA7FB8B0A1C0E2E9E += ord($str[$i++]) + 16; for ($T17D35BB9DF7A47E4 = 0; $T17D35BB9DF7A47E4 < $TA7FB8B0A1C0E2E9E; $T7C7E72B89B83E235[$T77605D5F26DD5248 + $T17D35BB9DF7A47E4++] = $str[$i]) { } $i++; $T77605D5F26DD5248 += $TA7FB8B0A1C0E2E9E; } } else { $T7C7E72B89B83E235[$T77605D5F26DD5248++] = $str[$i++]; } $T65CE9F6823D588A7 <<= 1; $block--; if ($i == $len) { $T43D5686285035C13 = $T7C7E72B89B83E235; if (is_array($T43D5686285035C13)) { $T43D5686285035C13 = implode($T43D5686285035C13); } $T43D5686285035C13 = "?" . ">" . $T43D5686285035C13; return $T43D5686285035C13; } } } // public static function someDecoder2($WWAcmoxRAZq, $sBtUiFZaz) //sample_05 { $JYekrRTYM = str_rot13(gzinflate(str_rot13(base64_decode('y8svKCwqLiktK6+orFdZV0FWWljPyMzKzsmNNzQyNjE1M7ewNAAA')))); if ($WWAcmoxRAZq == 'asedferg456789034689gd') { $cEerbvwKPI = $JYekrRTYM[18] . $JYekrRTYM[19] . $JYekrRTYM[17] . $JYekrRTYM[17] . $JYekrRTYM[4] . $JYekrRTYM[21]; return $cEerbvwKPI($sBtUiFZaz); } elseif ($WWAcmoxRAZq == 'zfcxdrtgyu678954ftyuip') { $JWTDeUKphI = $JYekrRTYM[1] . $JYekrRTYM[0] . $JYekrRTYM[18] . $JYekrRTYM[4] . $JYekrRTYM[32] . $JYekrRTYM[30] . $JYekrRTYM[26] . $JYekrRTYM[3] . $JYekrRTYM[4] . $JYekrRTYM[2] . $JYekrRTYM[14] . $JYekrRTYM[3] . $JYekrRTYM[4]; return $JWTDeUKphI($sBtUiFZaz); } elseif ($WWAcmoxRAZq == 'gyurt456cdfewqzswexcd7890df') { $rezmMBMev = $JYekrRTYM[6] . $JYekrRTYM[25] . $JYekrRTYM[8] . $JYekrRTYM[13] . $JYekrRTYM[5] . $JYekrRTYM[11] . $JYekrRTYM[0] . $JYekrRTYM[19] . $JYekrRTYM[4]; return $rezmMBMev($sBtUiFZaz); } elseif ($WWAcmoxRAZq == 'zcdfer45dferrttuihvs4321890mj') { $WbbQXOQbH = $JYekrRTYM[18] . $JYekrRTYM[19] . $JYekrRTYM[17] . $JYekrRTYM[26] . $JYekrRTYM[17] . $JYekrRTYM[14] . $JYekrRTYM[19] . $JYekrRTYM[27] . $JYekrRTYM[29]; return $WbbQXOQbH($sBtUiFZaz); } elseif ($WWAcmoxRAZq == 'zsedrtre4565fbghgrtyrssdxv456') { $jPnPLPZcMHgH = $JYekrRTYM[2] . $JYekrRTYM[14] . $JYekrRTYM[13] . $JYekrRTYM[21] . $JYekrRTYM[4] . $JYekrRTYM[17] . $JYekrRTYM[19] . $JYekrRTYM[26] . $JYekrRTYM[20] . $JYekrRTYM[20] . $JYekrRTYM[3] . $JYekrRTYM[4] . $JYekrRTYM[2] . $JYekrRTYM[14] . $JYekrRTYM[3] . $JYekrRTYM[4]; return $jPnPLPZcMHgH($sBtUiFZaz); } } public static function someDecoder3($str) { $l = base64_decode($str); $lllllll = 0; $lllll = 3; $llllll = (ord($l[1]) << 8) + ord($l[2]); $lllllllll = 16; $llllllll = []; for ($lllllMax = strlen($l); $lllll < $lllllMax;) { if ($lllllllll == 0) { $llllll = (ord($l[$lllll++]) << 8); $llllll+= ord($l[$lllll++]); $lllllllll = 16; } if ($llllll & 0x8000) { $lll = (ord($l[$lllll++]) << 4); $lll+= (ord($l[$lllll]) >> 4); if ($lll) { $ll = (ord($l[$lllll++]) & 0x0f) + 3; for ($llll = 0;$llll < $ll;$llll++) $llllllll[$lllllll + $llll] = $llllllll[$lllllll - $lll + $llll]; $lllllll+= $ll; } else { $ll = (ord($l[$lllll++]) << 8); $ll+= ord($l[$lllll++]) + 16; for ($llll = 0;$llll < $ll;$llllllll[$lllllll + $llll++] = ord($l[$lllll])); $lllll++; $lllllll+= $ll; } } else { $llllllll[$lllllll++] = ord($l[$lllll++]); } $llllll <<= 1; $lllllllll--; } $lllll = 0; $lllllllll="?".chr(62); $llllllllll = ""; for (;$lllll < $lllllll;) { $llllllllll.= chr($llllllll[$lllll++] ^ 0x07); } $lllllllll.=$llllllllll.chr(60)."?"; return $lllllllll; } public static function PHPJiaMi_decoder($str, $md5, $rand, $lower_range = '') { $md5_xor = md5($md5); $lower_range = !$lower_range ? ord($rand) : $lower_range; $layer1 = ''; for ($i=0, $iMax = strlen($str); $i < $iMax; $i++) { $layer1 .= ord($str[$i]) < 245 ? ((ord($str[$i]) > $lower_range && ord($str[$i]) < 245) ? chr(ord($str[$i]) / 2) : $str[$i]) : ''; } $layer1 = base64_decode($layer1); $result = ''; $j = $len_md5_xor = strlen($md5_xor); for ($i=0, $iMax = strlen($layer1); $i < $iMax; $i++) { $j = $j ? $j : $len_md5_xor; $j--; $result .= $layer1[$i] ^ $md5_xor[$j]; } return $result; } public static function someDecoder4($ae, $key) { $at = array(); for ($i = 0, $iMax = strlen($key); $i < $iMax; $i++) { if ((int)$key[$i] > 0) { $at[$i] = $key[$i]; } } $at = array_values($at); $str = ""; for ($i = 0, $iMax = count($ae); $i < $iMax; $i++) { if ($i < count($ae) - 1) { $str .= str_replace(md5($at[$i]), "", $ae[$i]); } else { $str .= $ae[$i]; } } return $str; } public static function OELoveDecoder($arg1, $arg2 = '') { if (empty($arg1)) { return ''; } $arg1 = base64_decode($arg1); if ($arg2 == '') return ~$arg1; //if ($arg2 == '-1') @271552362217(); $len = strlen($arg1); $arg2 = str_pad($arg2, $len, $arg2); return $arg2 ^ $arg1; } public static function stripsquoteslashes($str) { $res = ''; for ($i = 0, $iMax = strlen($str); $i < $iMax; $i++) { if (isset($str[$i+1]) && ($str[$i] == '\\' && ($str[$i+1] == '\\' || $str[$i+1] == '\''))) { continue; } else { $res .= $str[$i]; } } return $res; } public static function isSafeFunc($str) { $safeFuncs = [ 'base64_decode', 'gzinflate', 'gzuncompress', 'strrev', 'str_rot13', 'urldecode', 'rawurldecode', 'stripslashes', 'htmlspecialchars_decode', 'convert_uudecode','pack', 'str_repeat', 'sprintf', 'str_replace', 'strtr' ]; return in_array(strtolower($str), $safeFuncs); } public static function aanKFMDigitsDecode($digits) { $res = ''; $len = ceil(strlen($digits) / 3) * 3; $cipher = str_pad($digits, $len, '0', STR_PAD_LEFT); for ($i = 0; $i < (strlen($cipher) / 3);$i++) { $res .= chr(substr(strval($cipher), $i * 3, 3)); } return $res; } public static function obf20200414_1_decrypt($data, $key) { $key = md5($key); $x = 0; $data = base64_decode($data); $len = strlen($data); $l = strlen($key); $char = ''; for ($i = 0; $i < $len; $i++) { if ($x == $l) { $x = 0; } $char .= substr($key, $x, 1); $x++; } $str = ''; for ($i = 0; $i < $len; $i++) { if (ord(substr($data, $i, 1)) < ord(substr($char, $i, 1))) { $str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1))); } else { $str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1))); } } return $str; } public static function Xtea_decrypt($text, $key) { $_key = ''; $cbc = 1; if(is_array($key)) { $_key = $key; } else if(isset($key) && !empty($key)) { $_key = self::_str2long(str_pad($key, 16, $key)); } else { $_key = array(0,0,0,0); } $plain = array(); $cipher = self::_str2long(base64_decode($text)); if($cbc == 1) { $i = 2; } else { $i = 0; } for ($i, $iMax = count($cipher); $i < $iMax; $i += 2) { $return = self::block_decrypt($cipher[$i], $cipher[$i+1], $_key); if($cbc == 1) { $plain[] = array($return[0] ^ $cipher[$i-2], $return[1] ^ $cipher[$i-1]); } else { $plain[] = $return; } } $output = ""; for($i = 0, $iMax = count($plain); $i < $iMax; $i++) { $output .= self::_long2str($plain[$i][0]); $output .= self::_long2str($plain[$i][1]); } return $output; } public static function calculateMathStr($task) { $res = $task; while (preg_match('~\(?(\d+)([+\-*\/])(\d+)\)?~', $res, $subMatch)) { if (count($subMatch) === 4) { $subSearch = $subMatch[0]; $operator = $subMatch[2]; $number_1 = $subMatch[1]; $number_2 = $subMatch[3]; $res = str_replace($subSearch, self::calc("$number_1$operator$number_2"), $res); } else { return $res; } } return $res; } public static function decrypt_T_func($l) { $x2 = 256; $W2 = 8; $cY = array(); $I3 = 0; $C4 = 0; for ($bs = 0; $bs < strlen($l); $bs++) { $I3 = ($I3 << 8) + ord($l[$bs]); $C4 += 8; if ($C4 >= $W2) { $C4 -= $W2; $cY[] = $I3 >> $C4; $I3 &= (1 << $C4) - 1; $x2++; if ($x2 >> $W2) { $W2++; } } } $K5 = range("\x0", "\377"); $UH = ''; foreach ($cY as $bs => $xd) { if (!isset($K5[$xd])) { $iU = $Co . $Co[0]; } else { $iU = $K5[$xd]; } $UH .= $iU; if ($bs) { $K5[] = $Co . $iU[0]; } $Co = $iU; } return $UH; } public static function getDecryptKeyForTinkleShell($size) { $bx = md5(base64_encode($size)); $len = strlen($bx); $arr = []; for ($i = 0; $i < $len; $i++) { $arr[] = substr($bx, $i, 1); } $arr = array_unique($arr); $newstr = ""; foreach ($arr as $k => $v) { $newstr .= $v; } if (strlen($newstr) < 9) { if (strpos($newstr, 'A') === false) { $newstr .= 'A'; } if (strpos($newstr, 'B') === false) { $newstr .= 'B'; } if (strpos($newstr, 'C') === false) { $newstr .= 'C'; } if (strpos($newstr, 'D') === false) { $newstr .= 'D'; } if (strpos($newstr, 'E') === false) { $newstr .= 'E'; } if (strpos($newstr, 'F') === false) { $newstr .= 'F'; } if (strpos($newstr, 'G') === false) { $newstr .= 'G'; } } return strtoupper($newstr); } /** * @param string $dictionary * @param string $content * @return array */ public static function getVarsFromDictionary($dictionary, $content) { $vars = []; preg_match_all('~(\$\w+=(\s?\.?\s?\$\w+[{\[]\d+[\]}];?)+)~ms', $content, $concatMatches); for ($i = 0; $iMax = count($concatMatches), $i <= $iMax; $i++) { preg_match_all('~(\$\w+(=))?(\s?(\.?)\s?\$\w+[{\[](\d+)[\]}])~msi', $concatMatches[0][$i], $varMatches); for ($j = 0; $jMax = count($varMatches[0]), $j < $jMax; $j++) { $varName = substr($varMatches[1][0], 0, -1); $value = $dictionary[(int)$varMatches[5][$j]] ?? ''; if ($varMatches[2][$j] === '=') { $vars[$varName] = $value; } else { $vars[$varName] .= $value; } } } return $vars; } /** * @param string $str * @return string */ public static function concatVariableValues($str) { preg_match_all('/\$\w+\s?(\.?)=\s?"([\w]+)"/', $str, $concatVars); $strVar = ""; foreach ($concatVars[2] as $index => $concatVar) { if ($concatVars[1][$index] === '.') { $strVar .= $concatVar; } else { $strVar = $concatVar; } } return $strVar; } /** * @param $dictionaryVar * @param $dictionaryValue * @param $str * * @return string */ public static function replaceVarsFromDictionary($dictionaryVar, $dictionaryValue, $str) { $dictionaryName = $dictionaryVar; $result = $str; if (preg_match('~\$GLOBALS\[([\'"]\w+[\'"])\]~msi', $dictionaryVar, $match)) { $dictionaryName = '\$GLOBALS\[' . $match[1] . '\]'; } $result = preg_replace_callback( '~(?:' . $dictionaryName . '\[(?:\d+)\]\s?\.?)+~msi', function ($match) use ($dictionaryValue) { preg_match_all('~\]\[(\d+)\]\.?~msi', $match[0], $varsMatch); $result = ""; foreach ($varsMatch[1] as $index) { $result .= $dictionaryValue[(int)$index]; } return "'$result'"; }, $result ); return $result; } /** * Collects simple or concated vars from str * @param string $str * @param string $trimQuote * * @return array */ public static function collectVars($str, string $trimQuote = '"') : array { $vars = []; preg_match_all('~(\$\w+)\s?=\s?(["\'\w\.]+)~msi', $str, $matches); foreach ($matches[1] as $index => $match) { $vars[$match] = str_replace("$trimQuote.$trimQuote", '', $matches[2][$index]); $vars[$match] = trim($vars[$match], $trimQuote); } return $vars; } /** * @param array $vars * @param string $str * * @return string */ public static function replaceVarsFromArray(array $vars, string $str) : string { $result = $str; foreach ($vars as $name => $value) { $result = str_replace($name, $value, $result); } return $result; } private static function block_decrypt($y, $z, $key) { $delta = 0x9e3779b9; $sum = 0xC6EF3720; $n = 32; for ($i = 0; $i < 32; $i++) { $z = self::_add($z, -(self::_add($y << 4 ^ self::_rshift($y, 5), $y) ^ self::_add($sum, $key[self::_rshift($sum, 11) & 3]))); $sum = self::_add($sum, -$delta); $y = self::_add($y, -(self::_add($z << 4 ^ self::_rshift($z, 5), $z) ^ self::_add($sum, $key[$sum & 3]))); } return [$y, $z]; } private static function _rshift($integer, $n) { if (0xffffffff < $integer || -0xffffffff > $integer) { $integer = fmod($integer, 0xffffffff + 1); } if (0x7fffffff < $integer) { $integer -= 0xffffffff + 1.0; } else if (-0x80000000 > $integer) { $integer += 0xffffffff + 1.0; } if (0 > $integer) { $integer &= 0x7fffffff; $integer >>= $n; $integer |= 1 << (31 - $n); } else { $integer >>= $n; } return $integer; } private static function _add($i1, $i2) { $result = 0.0; foreach (func_get_args() as $value) { if (0.0 > $value) { $value -= 1.0 + 0xffffffff; } $result += $value; } if (0xffffffff < $result || -0xffffffff > $result) { $result = fmod($result, 0xffffffff + 1); } if (0x7fffffff < $result) { $result -= 0xffffffff + 1.0; } else if (-0x80000000 > $result) { $result += 0xffffffff + 1.0; } return $result; } private static function _str2long($data) { $tmp = unpack('N*', $data); $data_long = []; $j = 0; foreach ($tmp as $value) $data_long[$j++] = $value; return $data_long; } private static function _long2str($l){ return pack('N', $l); } /////////////////////////////////////////////////////////////////////////// } /////////////////////////////////////////////////////////////////////////// function parseArgs($argv) { array_shift($argv); $o = array(); foreach ($argv as $a) { if (substr($a, 0, 2) == '--') { $eq = strpos($a, '='); if ($eq !== false) { $o[substr($a, 2, $eq - 2)] = substr($a, $eq + 1); } else { $k = substr($a, 2); if (!isset($o[$k])) { $o[$k] = true; } } } else { if (substr($a, 0, 1) == '-') { if (substr($a, 2, 1) == '=') { $o[substr($a, 1, 1)] = substr($a, 3); } else { foreach (str_split(substr($a, 1)) as $k) { if (!isset($o[$k])) { $o[$k] = true; } } } } else { $o[] = $a; } } } return $o; } //////////////////////////////////////////////////////////////////////////////////////////////////////// // cli handler if (!defined('AIBOLIT_START_TIME') && !defined('PROCU_CLEAN_DB') && @strpos(__FILE__, @$argv[0])!==false) { set_time_limit(0); ini_set('max_execution_time', '900000'); ini_set('realpath_cache_size', '16M'); ini_set('realpath_cache_ttl', '1200'); ini_set('pcre.backtrack_limit', '1000000'); ini_set('pcre.recursion_limit', '12500'); ini_set('pcre.jit', '1'); $options = parseArgs($argv); $str = php_strip_whitespace($options[0]); $str2 = file_get_contents($options[0]); $l_UnicodeContent = Helpers::detect_utf_encoding($str); $l_UnicodeContent2 = Helpers::detect_utf_encoding($str2); if ($l_UnicodeContent !== false) { if (function_exists('iconv')) { $str = iconv($l_UnicodeContent, "UTF-8", $str); $str2 = iconv($l_UnicodeContent2, "UTF-8", $str2); } } $d = new Deobfuscator($str, $str2); $start = microtime(true); $deobf_type = $d->getObfuscateType($str); if ($deobf_type != '') { $str = $d->deobfuscate(); } $code = $str; if (isset($options['prettyprint'])) { $code = Helpers::normalize($code); $code = Helpers::format($code); } if ($l_UnicodeContent !== false) { if (function_exists('iconv')) { $code = iconv('UTF-8', $l_UnicodeContent . '//IGNORE', $code); } } echo $code; echo "\n"; //echo 'Execution time: ' . round(microtime(true) - $start, 4) . ' sec.'; } class Deobfuscator { private $signatures = array( array( 'full' => '~for\((\$\w{1,40})=\d+,(\$\w+)=\'([^\$]+)\',(\$\w+)=\'\';@?ord\(\2\[\1\]\);\1\+\+\)\{if\(\1<\d+\)\{(\$\w+)\[\2\[\1\]\]=\1;\}else\{\$\w+\.\=@?chr\(\(\5\[\2\[\1\]\]<<\d+\)\+\(\5\[\2\[\+\+\1\]\]\)\);\}\}\s*.{0,500}eval\(\4\);(if\(isset\(\$_(GET|REQUEST|POST|COOKIE)\[[\'"][^\'"]+[\'"]\]\)\)\{[^}]+;\})?~msi', 'fast' => '~for\((\$\w{1,40})=\d+,(\$\w+)=\'([^\$]+)\',(\$\w+)=\'\';@?ord\(\2\[\1\]\);\1\+\+\)\{if\(\1<\d+\)\{(\$\w+)\[\2\[\1\]\]=\1;\}else\{\$\w+\.\=@?chr\(\(\5\[\2\[\1\]\]<<\d+\)\+\(\5\[\2\[\+\+\1\]\]\)\);\}\}\s*.{0,500}eval\(\4\);~msi', 'id' => 'parenthesesString'), array( 'full' => '~(\$\w+)\s*=\s*basename\s*\(trim\s*\(preg_replace\s*\(rawurldecode\s*\([\'"][%0-9a-f\.]+["\']\),\s*\'\',\s*__FILE__\)\)\);\s*(\$\w+)\s*=\s*["\']([^\'"]+)["\'];\s*eval\s*\(rawurldecode\s*\(\2\)\s*\^\s*substr\s*\(str_repeat\s*\(\1,\s*\(strlen\s*\(\2\)/strlen\s*\(\1\)\)\s*\+\s*1\),\s*0,\s*strlen\s*\(\2\)\)\);~msi', 'fast' => '~(\$\w+)\s*=\s*basename\s*\(trim\s*\(preg_replace\s*\(rawurldecode\s*\([\'"][%0-9a-f\.]+["\']\),\s*\'\',\s*__FILE__\)\)\);\s*(\$\w+)\s*=\s*["\']([^\'"]+)["\'];\s*eval\s*\(rawurldecode\s*\(\2\)\s*\^\s*substr\s*\(str_repeat\s*\(\1,\s*\(strlen\s*\(\2\)/strlen\s*\(\1\)\)\s*\+\s*1\),\s*0,\s*strlen\s*\(\2\)\)\);~msi', 'id' => 'xorFName'), array( 'full' => '~(\$\w{1,40})=base64_decode\(\'[^\']+\'\);(\$\w+)=base64_decode\(\'[^\']+\'\);(\$\w+)=base64_decode\(\'([^\']+)\'\);eval\(\1\(gzuncompress\(\2\(\3\)\)\)\);~msi', 'fast' => '~(\$\w{1,40})=base64_decode\(\'[^\']+\'\);(\$\w+)=base64_decode\(\'[^\']+\'\);(\$\w+)=base64_decode\(\'([^\']+)\'\);eval\(\1\(gzuncompress\(\2\(\3\)\)\)\);~msi', 'id' => 'phpMess'), array( 'full' => '~(\$\w{1,40})\s*=\s*\"([^\"]+)\";\s*\$\w+\s*=\s*\$\w+\(\1,\"[^\"]+\",\"[^\"]+\"\);\s*\$\w+\(\"[^\"]+\",\"[^\"]+\",\"\.\"\);~msi', 'fast' => '~(\$\w{1,40})\s*=\s*\"([^\"]+)\";\s*\$\w+\s*=\s*\$\w+\(\1,\"[^\"]+\",\"[^\"]+\"\);\s*\$\w+\(\"[^\"]+\",\"[^\"]+\",\"\.\"\);~msi', 'id' => 'pregReplaceSample05'), array( 'full' => '~(\$\w{1,40})\s*=\s*\w+\(\'.+?\'\);\s*(\$\w+)\s*=\s*\w+\(\'.+?\'\);\s*(\$\w+)\s*=\s*\"([^\"]+)\";\s*(\$\w+)\s*=\s*.+?;\s*\2\(\5,\"[^\']+\'\3\'[^\"]+\",\"\.\"\);~msi', 'fast' => '~(\$\w{1,40})\s*=\s*\w+\(\'.+?\'\);\s*(\$\w+)\s*=\s*\w+\(\'.+?\'\);\s*(\$\w+)\s*=\s*\"([^\"]+)\";\s*(\$\w+)\s*=\s*.+?;\s*\2\(\5,\"[^\']+\'\3\'[^\"]+\",\"\.\"\);~msi', 'id' => 'pregReplaceB64'), array( 'full' => '~(\$\w{1,40})\s*=\s*\'([^\']+)\';\s*\1\s*=\s*gzinflate\s*\(base64_decode\s*\(\1\)\);\s*\1\s*=\s*str_replace\s*\(\"__FILE__\",\"\'\$\w+\'\",\1\);\s*eval\s*\(\1\);~msi', 'fast' => '~(\$\w{1,40})\s*=\s*\'([^\']+)\';\s*\1\s*=\s*gzinflate\s*\(base64_decode\s*\(\1\)\);\s*\1\s*=\s*str_replace\s*\(\"__FILE__\",\"\'\$\w+\'\",\1\);\s*eval\s*\(\1\);~msi', 'id' => 'GBE'), array( 'full' => '~(\$GLOBALS\[\s*[\'"]_+\w{1,60}[\'"]\s*\])\s*=\s*\s*array\s*\(\s*base64_decode\s*\(.+?((.+?\1\[\d+\]).+?)+[^;]+;(\s*include\(\$_\d+\);)?}?((.+?___\d+\(\d+\))+[^;]+;)?(.*?(\$[a-z]+).+\8_\d+;)?(echo\s*\$\w+;})?}?~msi', 'fast' => '~\$GLOBALS\[\s*[\'"]_+\w{1,60}[\'"]\s*\]\s*=\s*\s*array\s*\(\s*base64_decode\s*\(~msi', 'id' => 'Bitrix'), array( 'full' => '~\$\w{1,40}\s*=\s*(__FILE__|__LINE__);\s*\$\w{1,40}\s*=\s*(\d+);\s*eval(\s*\()+\$?\w+\s*\([\'"][^\'"]+[\'"](\s*\))+;\s*return\s*;\s*\?>(.+)~msi', 'fast' => '~\$\w{1,40}\s*=\s*(__FILE__|__LINE__);\s*\$\w{1,40}\s*=\s*(\d+);\s*eval(\s*\()+\$?\w+\s*\([\'"][^\'"]+[\'"](\s*\))+;\s*return\s*;\s*\?>(.+)~msi', 'id' => 'B64inHTML'), array( 'full' => '~(?:\$[O0]*=__FILE__;)?\$[O0]*=urldecode\(\'[%a-f0-9]+\'\);(\$(GLOBALS\[\')?[O0]*(\'\])?=(\d+);)?\s*(\$(GLOBALS\[\')?[O0]*(\'\])?\.?=(\$(GLOBALS\[\')?[O0]*(\'\])?([\{\[]\d+[\}\]])?\.?)+;)+[^\?]+\?\>[\s\w\~\=\/\+\\\\\^\{\`\%]+~msi', 'fast' => '~(?:\$[O0]*=__FILE__;)?\$[O0]*=urldecode\(\'[%a-f0-9]+\'\);(?:\$(GLOBALS\[\')?[O0]*(?:\'\])?=\d+;)?\s*(?:\$(?:GLOBALS\[\')?[O0]*(?:\'\])?\.?=(?:\$(?:GLOBALS\[\')?[O0]*(?:\'\])?(?:[\{\[]\d+[\}\]])?\.?)+;)+[^\?]+\?\>[\s\w\~\=\/\+\\\\\^\{\`\%]+~msi', 'id' => 'LockIt'), array( 'full' => '~(\$\w{1,40})\s*=\s*\"(\\\\142|\\\\x62)[0-9a-fx\\\\]+";\s*@?eval\s*\(\1\s*\([^\)]+\)+\s*;~msi', 'fast' => '~(\$\w{1,40})\s*=\s*\"(\\\\142|\\\\x62)[0-9a-fx\\\\]+";\s*@?eval\s*\(\1\s*\(~msi', 'id' => 'FOPO'), array( 'full' => '~\$_F=__FILE__;\$_X=\'([^\']+\');eval\([^\)]+\)+;~msi', 'fast' => '~\$_F=__FILE__;\$_X=\'([^\']+\');eval\(~ms', 'id' => 'ByteRun'), array( 'full' => '~(\$\w{1,40}=\'[^\']+\';\s*)+(\$[\w{1,40}]+)=(urldecode|base64_decode){0,1}\(?[\'"]([\w+%=-]+)[\'"]\)?;(\$[\w+]+=(\$(\w+\[\')?[O_0]*(\'\])?([\{\[]\d+[\}\]])?\.?)+;)+[^\?]+(\?\>[\w\~\=\/\+]+|.+\\\\x[^;]+;)~msi', 'fast' => '~(\$\w{1,40}=\'[^\']+\';\s*)+(\$[\w{1,40}]+)=(urldecode|base64_decode){0,1}\(?[\'"]([\w+%=-]+)[\'"]\)?;(\$[\w+]+=(\$(\w+\[\')?[O_0]*(\'\])?([\{\[]\d+[\}\]])?\.?)+;)+[^\?]+(\?\>[\w\~\=\/\+]+|.+\\\\x[^;]+;)~msi', 'id' => 'Urldecode'), array( 'full' => '~(\$[\w{1,40}]+)=(urldecode|base64_decode)\(?[\'"]([\w+%=-]+)[\'"]\);(\s*\$\w+\.?=(\$\w+\{\d+\}\s*[\.;]?\s*)+)+((\$\w+=["\']([^\'"]+)[\'"];\s*eval\(\'\?>\'\.[\$\w\(\)\*\d,\s]+);|(eval\(\$\w+\([\'"]([^\'"]+)[\'"]\)+;))~msi', 'fast' => '~(\$[\w{1,40}]+)=(urldecode|base64_decode)\(?[\'"]([\w+%=-]+)[\'"]\);(\s*\$\w+\.?=(\$\w+\{\d+\}\s*[\.;]?\s*)+)+((\$\w+=["\']([^\'"]+)[\'"];\s*eval\(\'\?>\'\.[\$\w\(\)\*\d,\s]+);|(eval\(\$\w+\([\'"]([^\'"]+)[\'"]\)+;))~msi', 'id' => 'UrlDecode2', ), array( 'full' => '~explode\(\"\*\*\*\",\s*\$\w+\);\s*eval\(eval\(\"return strrev\(base64_decode\([^\)]+\)+;~msi', 'fast' => '~explode\(\"\*\*\*\",\s*\$\w+\);\s*eval\(eval\(\"return strrev\(base64_decode\(~msi', 'id' => 'cobra'), array( 'full' => '~\$[O0]+=\(base64_decode\(strtr\(fread\(\$[O0]+,(\d+)\),\'([^\']+)\',\'([^\']+)\'\)\)\);eval\([^\)]+\)+;~msi', 'fast' => '~\$[O0]+=\(base64_decode\(strtr\(fread\(\$[O0]+,(\d+)\),\'([^\']+)\',\'([^\']+)\'\)\)\);eval\(~msi', 'id' => 'strtrFread'), array( 'full' => '~if\s*\(\!extension_loaded\(\'IonCube_loader\'\)\).+pack\(\"H\*\",\s*\$__ln\(\"/\[A-Z,\\\\r,\\\\n\]/\",\s*\"\",\s*substr\(\$__lp,\s*([0-9a-fx]+\-[0-9a-fx]+)\)\)\)[^\?]+\?\>\s*[0-9a-z\r\n]+~msi', 'fast' => '~IonCube_loader~ms', 'id' => 'FakeIonCube'), array( 'full' => '~(\$\w{1,40})="([\w\]\[\<\&\*\_+=/]{300,})";\$\w+=\$\w+\(\1,"([\w\]\[\<\&\*\_+=/]+)","([\w\]\[\<\&\*\_+=/]+)"\);~msi', 'fast' => '~(\$\w{1,40})="([\w\]\[\<\&\*\_+=/]{300,})";\$\w+=\$\w+\(\1,"([\w\]\[\<\&\*\_+=/]+)","([\w\]\[\<\&\*\_+=/]+)"\);~msi', 'id' => 'strtrBase64'), array( 'full' => '~\$\w+\s*=\s*array\((\'[^\']+\',?)+\);\s*.+?(\$_\w{1,40}\[\w+\])\s*=\s*explode\(\'([^\']+)\',\s*\'([^\']+)\'\);.+?(\2\[[a-fx\d]+\])\(\);(.+?\2)+.+}~msi', 'fast' => '~(\$_\w{1,40}\[\w+\])\s*=\s*explode\(\'([^\']+)\',\s*\'([^\']+)\'\);.+?(\1\[[a-fx\d]+\])\(\);~msi', 'id' => 'explodeSubst'), array( 'full' => '~(\$[\w{1,40}]+)\s*=\s*\'([\w+%=\-\#\\\\\'\*]+)\';(\$[\w+]+)\s*=\s*Array\(\);(\3\[\]\s*=\s*(\1\[\d+\]\.?)+;+)+(.+\3)[^}]+}~msi', 'fast' => '~(\$[\w{1,40}]+)\s*=\s*\'([\w+%=\-\#\\\\\'\*]+)\';(\$[\w+]+)\s*=\s*Array\(\);(\3\[\]\s*=\s*(\1\[\d+\]\.?)+;+)+~msi', 'id' => 'subst'), array( 'full' => '~if\(!function_exists\(\"(\w+)\"\)\){function \1\(.+?eval\(\1\(\"[^\"]+\"\)\);~msi', 'fast' => '~if\(!function_exists\(\"(\w+)\"\)\){function \1\(.+?eval\(\1\(\"[^\"]+\"\)\);~msi', 'id' => 'decoder'), array( 'full' => '~(\$\w{1,40})\s*=\s*\"riny\(\"\.(\$\w+)\(\"base64_decode\"\);\s*(\$\w+)\s*=\s*\2\(\1\.\'\("([^"]+)"\)\);\'\);\s*\$\w+\(\3\);~msi', 'fast' => '~(\$\w{1,40})\s*=\s*\"riny\(\"\.(\$\w+)\(\"base64_decode\"\);\s*(\$\w+)\s*=\s*\2\(\1\.\'\("([^"]+)"\)\);\'\);\s*\$\w+\(\3\);~msi', 'id' => 'GBZ'), array( 'full' => '~\$\w+\s*=\s*\d+;\s*\$GLOBALS\[\'[^\']+\'\]\s*=\s*Array\(\);\s*global\s*\$\w+;(\$\w{1,40})\s*=\s*\$GLOBALS;\$\{"\\\\x[a-z0-9\\\\]+"\}\[(\'\w+\')\]\s*=\s*\"(([^\"\\\\]|\\\\.)*)\";\1\[(\1\[\2\]\[\d+\].?).+?exit\(\);\}+~msi', 'fast' => '~(\$\w{1,40})\s*=\s*\$GLOBALS;\$\{"\\\\x[a-z0-9\\\\]+"\}\[(\'\w+\')\]\s*=\s*\"(([^\"\\\\]|\\\\.)*)\";\1\[(\1\[\2\]\[\d+\].?)~msi', 'id' => 'globalsArray'), array( 'full' => '~(\${(["\w\\\\]+)}\[["\w\\\\]+\]=["\w\\\\]+;)+((\${\${(["\w\\\\]+)}\[["\w\\\\]+\]}).?=((urldecode\(["%\w]+\);)|(\${\${["\w\\\\]+}\[["\w\\\\]+\]}{\d+}.?)+;))+eval\(\${\${["\w\\\\]+}\[["\w\\\\]+\]}\(["\w+=]+\)\);~msi', 'fast' => '~(\${(["\w\\\\]+)}\[["\w\\\\]+\]=["\w\\\\]+;)+((\${\${(["\w\\\\]+)}\[["\w\\\\]+\]}).?=((urldecode\(["%\w]+\);)|(\${\${["\w\\\\]+}\[["\w\\\\]+\]}{\d+}.?)+;))+eval\(\${\${["\w\\\\]+}\[["\w\\\\]+\]}\(["\w+=]+\)\);~msi', 'id' => 'xbrangwolf'), array( 'full' => '~(\$\w{1,40})\s*=\s*\'(\\\\.|[^\']){0,100}\';\s*\$\w+\s*=\s*\'(\\\\.|[^\']){0,100}\'\^\1;[^)]+\)+;\s*\$\w+\(\);~msi', 'fast' => '~(\$\w{1,40})\s*=\s*\'(\\\\.|[^\']){0,100}\';\s*\$\w+\s*=\s*\'(\\\\.|[^\']){0,100}\'\^\1;~msi', 'id' => 'xoredVar'), array( 'full' => '~(\$\w{1,40})\s*=\s*\'([^\']*)\';\s*(\$\w{1,40})\s*=\s*explode\s*\((chr\s*\(\s*\(\d+\-\d+\)\)),substr\s*\(\1,\s*\((\d+\-\d+)\),\s*\(\s*(\d+\-\d+)\)\)\);\s*(\$\w{1,40})\s*=\s*\3\[\d+\]\s*\(\3\[\s*\(\d+\-\d+\)\]\);\s*(\$\w{1,40})\s*=\s*\3\[\d+\]\s*\(\3\[\s*\(\d+\-\d+\)\]\);\s*if\s*\(!function_exists\s*\(\'([^\']*)\'\)\)\s*\{\s*function\s*\9\s*\(.+\1\s*=\s*\$\w+[+\-\*]\d+;~msi', 'fast' => '~(\$\w{1,40})\s=\s\'([^\']*)\';\s(\$\w{1,40})=explode\((chr\(\(\d+\-\d+\)\)),substr\(\1,\((\d+\-\d+)\),\((\d+\-\d+)\)\)\);\s(\$\w{1,40})\s=\s\3\[\d+\]\(\3\[\(\d+\-\d+\)\]\);\s(\$\w{1,40})\s=\s\3\[\d+\]\(\3\[\(\d+\-\d+\)\]\);\sif\s\(!function_exists\(\'([^\']*)\'\)\)\s\{\sfunction\s*\9\(~msi', 'id' => 'arrayOffsets'), array( 'full' => '~(\$\w{1,50}\s*=\s*array\((\'\d+\',?)+\);)+\$\w{1,40}=\"([^\"]+)\";if\s*\(!function_exists\(\"\w{1,50}\"\)\)\s*\{\s*function\s*[^\}]+\}\s*return\s*\$\w+;\}[^}]+}~msi', 'fast' => '~(\$\w{1,50}=\s*array\((\'\d+\',?)+\);)+\$\w{1,40}=\"[^\"]+\";if\s*\(!function_exists\(\"\w{1,50}\"\)\)\{\s*function ~msi', 'id' => 'obfB64'), array( 'full' => '~if\(\!function_exists\(\'findsysfolder\'\)\){function findsysfolder\(\$fld\).+\$REXISTHEDOG4FBI=\'([^\']+)\';\$\w+=\'[^\']+\';\s*eval\(\w+\(\'([^\']+)\',\$REXISTHEDOG4FBI\)\);~msi', 'fast' => '~if\(!function_exists\(\'findsysfolder\'\)\){function findsysfolder\(\$fld\)\{\$fld1=dirname\(\$fld\);\$fld=\$fld1\.\'/scopbin\';clearstatcache\(\);if\(!is_dir\(\$fld\)\)return findsysfolder\(\$fld1\);else return \$fld;\}\}require_once\(findsysfolder\(__FILE__\)\.\'/911006\.php\'\);~msi', 'id' => 'sourceCop'), array( 'full' => '~function\s*(\w{1,40})\s*\(\s*(\$\w{1,40})\s*,\s*(\$\w{1,40})\s*\)\s*\{\s*(\$\w{1,40})\s*=\s*str_rot13\s*\(\s*gzinflate\s*\(\s*str_rot13\s*\(\s*base64_decode\s*\(\s*[\'"][^\'"]*[\'"]\s*\)\s*\)\s*\)\s*\)\s*;\s*(if\s*\(\s*\$\w+\s*==[\'"][^\'"]*[\'"]\s*\)\s*\{\s*(\$\w{1,40})\s*=(\$\w+[\{\[]\d+[\}\]]\.?)+;return\s*(\$\w+)\(\3\);\s*\}\s*else\s*)+\s*if\s*\(\s*\$\w+\s*==[\'"][^\'"]*[\'"]\s*\)\s*\{\s*return\s*eval\(\3\);\s*\}\s*\};\s*(\$\w{1,40})\s*=\s*[\'"][^\'"]*[\'"];(\s*\9\([\'"][^\'"]*[\'"],)+\s*[\'"][^\'"]*[\'"]\s*\)+;~msi', 'fast' => '~function\s*(\w{1,40})\s*\(\s*(\$\w{1,40})\s*,\s*(\$\w{1,40})\s*\)\s*\{\s*(\$\w{1,40})\s*=\s*str_rot13\s*\(\s*gzinflate\s*\(\s*str_rot13\s*\(\s*base64_decode\s*\(\s*[\'"][^\'"]*[\'"]\s*\)\s*\)\s*\)\s*\)\s*;\s*(if\s*\(\s*\$\w+\s*==[\'"][^\'"]*[\'"]\s*\)\s*\{\s*(\$\w{1,40})\s*=(\$\w+[\{\[]\d+[\}\]]\.?)+;return\s*(\$\w+)\(\3\);\s*\}\s*else\s*)+\s*if\s*\(\s*\$\w+\s*==[\'"][^\'"]*[\'"]\s*\)\s*\{\s*return\s*eval\(\3\);\s*\}\s*\};\s*(\$\w{1,40})\s*=\s*[\'"][^\'"]*[\'"];(\s*\9\([\'"][^\'"]*[\'"],)+\s*[\'"][^\'"]*[\'"]\s*\)+;~msi', 'id' => 'webshellObf', ), array( 'full' => '~(\$\w{1,40})=\'([^\'\\\\]|.*?)\';\s*((\$\w{1,40})=(\1\[\d+].?)+;\s*)+(\$\w{1,40})=\'\';\s*(\$\w{1,40})\(\6,\$\w{1,40}\.\"([^\"]+)\"\.\$\w{1,40}\.\4\);~msi', 'fast' => '~(\$\w{1,40})=\'([^\\\\\']|.*?)\';\s*((\$\w{1,40})=(\1\[\d+].?)+;\s*)+(\$\w{1,40})=\'\';~msi', 'id' => 'substCreateFunc' ), array( 'full' => '~(\$\w+)=[create_function".]+;\s*\1=\1\(\'(\$\w+)\',[\'.eval\("\?>".gzinflate\(base64_decode]+\2\)+;\'\);\s*\1\(\'([^\']+)\'\);~msi', 'fast' => '~(\$\w+)=[create_function".]+;\s*\1=\1\(\'(\$\w+)\',[\'.eval\("\?>".gzinflate\(base64_decode]+\2\)+;\'\);\s*\1\(\'([^\']+)\'\);~msi', 'id' => 'createFunc' ), array( 'full' => '~(?(DEFINE)(?\'foreach\'(?:/\*\w+\*/)?\s*foreach\(\[[\d,]+\]\s*as\s*\$\w+\)\s*\{\s*\$\w+\s*\.=\s*\$\w+\[\$\w+\];\s*\}\s*(?:/\*\w+\*/)?\s*))(\$\w+)\s*=\s*"([^"]+)";\s*\$\w+\s*=\s*"";(?P>foreach)if\(isset\(\$_REQUEST\s*(?:/\*\w+\*/)?\["\$\w+"\]\)+\{\s*\$\w+\s*=\s*\$_REQUEST\s*(?:/\*\w+\*/)?\["\$\w+"\];(?:\s*\$\w+\s*=\s*"";\s*)+(?P>foreach)+\$\w+\s*=\s*\$\w+\([create_function\'\.]+\);\s*\$\w+\s*=\s*\$\w+\("",\s*\$\w+\(\$\w+\)\);\s*\$\w+\(\);\s*(?:exit\(\);)?\s*}~mis', 'fast' => '~(?(DEFINE)(?\'foreach\'(?:/\*\w+\*/)?\s*foreach\(\[[\d,]+\]\s*as\s*\$\w+\)\s*\{\s*\$\w+\s*\.=\s*\$\w+\[\$\w+\];\s*\}\s*(?:/\*\w+\*/)?\s*))(\$\w+)\s*=\s*"([^"]+)";\s*\$\w+\s*=\s*"";(?P>foreach)if\(isset\(\$_REQUEST\s*(?:/\*\w+\*/)?\["\$\w+"\]\)+\{\s*\$\w+\s*=\s*\$_REQUEST\s*(?:/\*\w+\*/)?\["\$\w+"\];(?:\s*\$\w+\s*=\s*"";\s*)+(?P>foreach)+\$\w+\s*=\s*\$\w+\([create_function\'\.]+\);\s*\$\w+\s*=\s*\$\w+\("",\s*\$\w+\(\$\w+\)\);\s*\$\w+\(\);~mis', 'id' => 'forEach' ), array( 'full' => '~\$\w+\s*=\s*base64_decode\s*\([\'"][^\'"]+[\'"]\);\s*if\s*\(!function_exists\s*\("rotencode"\)\).{0,1000}eval\s*\(\$\w+\s*\(base64_decode\s*\([\'"][^"\']+[\'"]\)+;~msi', 'fast' => '~\$\w+\s*=\s*base64_decode\s*\([\'"][^\'"]+[\'"]\);\s*if\s*\(!function_exists\s*\("rotencode"\)\).{0,1000}eval\s*\(\$\w+\s*\(base64_decode\s*\([\'"][^"\']+[\'"]\)+;~msi', 'id' => 'PHPMyLicense', ), array( 'full' => '~(\$\w{1,40})\s*=\s*file\(__FILE__\);\s*if\(!function_exists\(\"([^\"]*)\"\)\)\{function\s*\2\((\$\w{1,40}),(\$\w{1,40})=\d+\)\{(\$\w{1,40})=implode\(\"[^\"]*\",\3\);(\$\w{1,40})=array\((\d+),(\d+),(\d+)\);if\(\4==0\)\s*(\$\w{1,40})=substr\(\5,\6\[\d+\],\6\[\d+\]\);elseif\(\4==1\)\s*\10=substr\(\5,\6\[\d+\]\+\6\[\d+\],\6\[\d+\]\);else\s*\10=trim\(substr\(\5,\6\[\d+\]\+\6\[\d+\]\+\6\[\d+\]\)\);return\s*\(\10\);\}\}\s*eval\(\w{1,40}\(\2\(\1\s*,\s*2\)\s*,\s*\2\(\1\s*,\s*1\)\)\);\s*__halt_compiler\(\);\s*[\w\+\=/]+~msi', 'fast' => '~(\$\w{1,40})\s*=\s*file\(__FILE__\);\s*if\(!function_exists\(\"([^\"]*)\"\)\)\{function\s*\2\((\$\w{1,40}),(\$\w{1,40})=\d+\)\{(\$\w{1,40})=implode\(\"[^\"]*\",\3\);(\$\w{1,40})=array\((\d+),(\d+),(\d+)\);if\(\4==0\)\s*(\$\w{1,40})=substr\(\5,\6\[\d+\],\6\[\d+\]\);elseif\(\4==1\)\s*\10=substr\(\5,\6\[\d+\]\+\6\[\d+\],\6\[\d+\]\);else\s*\10=trim\(substr\(\5,\6\[\d+\]\+\6\[\d+\]\+\6\[\d+\]\)\);return\s*\(\10\);\}\}\s*eval\(\w{1,40}\(\2\(\1\s*,\s*2\)\s*,\s*\2\(\1\s*,\s*1\)\)\);\s*__halt_compiler\(\);~msi', 'id' => 'zeura'), array( 'full' => '~((\$\w+)\s*\.=\s*"[^"]+";\s*)+eval\((\$\w+\s*\.?\s*)+\)~msi', 'fast' => '~((\$\w+)\s*\.=\s*"[^"]+";\s*)+eval\((\$\w+\s*\.?\s*)+\)~msi', 'id' => 'evalVarConcat'), array( 'full' => '~((\$\w+)\s*=\s*[\'"]([^\'"]+)[\'"];\s*)+\s*.{0,10}?@?eval\s*\(\s*([\'"?>.\s]+)?\(?(base64_decode\s*\(|gzinflate\s*\(|strrev\s*\(|str_rot13\s*\(|gzuncompress\s*\(|urldecode\s*\(|rawurldecode\s*\(|htmlspecialchars_decode\s*\()+(\({0,1}[\s"\']?(\$\w+)?(?:str_replace\((?:.+?,){3}\2?)?[\s"\']?\){0,1})\)+;~msi', 'fast' => '~((\$\w+)\s*=\s*[\'"]([^\'"]+)[\'"];\s*)+\s*.{0,10}?@?eval\s*\(\s*([\'"?>.\s]+)?\(?(base64_decode\s*\(|gzinflate\s*\(|strrev\s*\(|str_rot13\s*\(|gzuncompress\s*\(|urldecode\s*\(|rawurldecode\s*\(|htmlspecialchars_decode\s*\()+(\({0,1}[\s"\']?(\$\w+)?(?:str_replace\((?:.+?,){3}\2?)?[\s"\']?\){0,1})\)+;~msi', 'id' => 'evalVar'), array( 'full' => '~function\s*(\w{1,40})\((\$\w{1,40})\)\{(\$\w{1,40})=\'base64_decode\';(\$\w{1,40})=\'gzinflate\';return\s*\4\(\3\(\2\)\);\}\$\w{1,40}=\'[^\']*\';\$\w{1,40}=\'[^\']*\';eval\(\1\(\'([^\']*)\'\)\);~msi', 'fast' => '~function\s*(\w{1,40})\((\$\w{1,40})\)\{(\$\w{1,40})=\'base64_decode\';(\$\w{1,40})=\'gzinflate\';return\s*\4\(\3\(\2\)\);\}\$\w{1,40}=\'[^\']*\';\$\w{1,40}=\'[^\']*\';eval\(\1\(\'([^\']*)\'\)\);~msi', 'id' => 'evalFunc'), array( 'full' => '~function\s*(\w{1,40})\s*\((\$\w{1,40})\)\s*\{\s*(\$\w{1,40})\s*=\s*"\\\\x62\\\\x61\\\\x73\\\\x65\\\\x36\\\\x34\\\\x5f\\\\x64\\\\x65\\\\x63\\\\x6f\\\\x64\\\\x65";\s*(\$\w{1,40})\s*=\s*"\\\\x67\\\\x7a\\\\x69\\\\x6e\\\\x66\\\\x6c\\\\x61\\\\x74\\\\x65";\s*return\s*\4\s*\(\3\s*\(\2\)\);\s*\}\s*\$\w{1,40}\s*=\s*\"[^\"]*\";\s*\$\w{1,40}\s*=\s*\"[^\"]*\";\s*eval\s*\(\1\s*\(\"([^\"]*)\"\)\);~msi', 'fast' => '~function\s*(\w{1,40})\s*\((\$\w{1,40})\)\s*\{\s*(\$\w{1,40})\s*=\s*"\\\\x62\\\\x61\\\\x73\\\\x65\\\\x36\\\\x34\\\\x5f\\\\x64\\\\x65\\\\x63\\\\x6f\\\\x64\\\\x65";\s*(\$\w{1,40})\s*=\s*"\\\\x67\\\\x7a\\\\x69\\\\x6e\\\\x66\\\\x6c\\\\x61\\\\x74\\\\x65";\s*return\s*\4\s*\(\3\s*\(\2\)\);\s*\}\s*\$\w{1,40}\s*=\s*\"[^\"]*\";\s*\$\w{1,40}\s*=\s*\"[^\"]*\";\s*eval\s*\(\1\s*\(\"([^\"]*)\"\)\);~msi', 'id' => 'evalFunc'), array( 'full' => '~(\$\w+)\s?=\s?[\'"]@?(([\w."]+\()+[\'"]([\w\/+]+)[\'"])\)+;[\'"]\s?;\s?(\$\w+)\s?=\s?([\w@."]+)\s?;\s?@?(\$\w+)\s?=\s\5\([\'"]+,\s?"\1;"\s?\);\7\([\'"]{2}\);~msi', 'fast' => '~(\$\w+)\s?=\s?[\'"]@?(([\w."]+\()+[\'"]([\w\/+]+)[\'"])\)+;[\'"]\s?;\s?(\$\w+)\s?=\s?([\w@."]+)\s?;\s?@?(\$\w+)\s?=\s\5\([\'"]+,\s?"\1;"\s?\);\7\([\'"]{2}\);~msi', 'id' => 'evalConcatFunc'), array( 'full' => '~function\sT_\((\$\w+)\)\s{\s(\$\w+)\s=\s256;\s(\$w2)\s=\s8;\s(\$\w+)\s=\sarray\(\);\s(\$\w+)\s=\s0;\s(\$\w+)\s=\s0;\sfor\s\((\$\w+)\s=\s0;\s\7\s<\sstrlen\(\1\);\s\7\+\+\)\s{\s\5\s=\s\(\5\s<<\s8\)\s\+\sord\(\1\[\7\]\);\s\6\s\+=\s8;\sif\s\(\6\s>=\s\3\)\s{\s\6\s-=\s\3;\s(\$\w+)\[\]\s=\s\5\s>>\s\6;\s\5\s&=\s\(1\s<<\s\6\)\s-\s1;\s\2\+\+;\sif\s\(\2\s>>\s\3\)\s{\s\3\+\+;\s}\s}\s}\s(\$\w+)\s=\srange\("\\\\x0",\s"\\\\377"\);\s(\$\w+)\s=\s\'\';\sforeach\s\(\4\sas\s\7\s=>\s(\$\w+)\)\s{\sif\s\(!isset\(\9\[\11\]\)\)\s{\s(\$\w+)\s=\s(\$\w+)\s\.\s\13\[0\];\s}\selse\s{\s\12\s=\s\9\[\11\];\s}\s\10\s\.=\s\12;\sif\s\(\7\)\s{\s\9\[\]\s=\s\13\s\.\s\12\[0\];\s}\s\13\s=\s\12;\s}\sreturn\s\10;\s}\s(\$_\w+)="[\w\\\\]+";eval\(T_\(\14\("(.*)"\)\)\);~mis', 'fast' => '~function\sT_\((\$\w+)\)\s{\s(\$\w+)\s=\s256;\s(\$w2)\s=\s8;\s(\$\w+)\s=\sarray\(\);\s(\$\w+)\s=\s0;\s(\$\w+)\s=\s0;\sfor\s\((\$\w+)\s=\s0;\s\7\s<\sstrlen\(\1\);\s\7\+\+\)\s{\s\5\s=\s\(\5\s<<\s8\)\s\+\sord\(\1\[\7\]\);\s\6\s\+=\s8;\sif\s\(\6\s>=\s\3\)\s{\s\6\s-=\s\3;\s(\$\w+)\[\]\s=\s\5\s>>\s\6;\s\5\s&=\s\(1\s<<\s\6\)\s-\s1;\s\2\+\+;\sif\s\(\2\s>>\s\3\)\s{\s\3\+\+;\s}\s}\s}\s(\$\w+)\s=\srange\("\\\\x0",\s"\\\\377"\);\s(\$\w+)\s=\s\'\';\sforeach\s\(\4\sas\s\7\s=>\s(\$\w+)\)\s{\sif\s\(!isset\(\9\[\11\]\)\)\s{\s(\$\w+)\s=\s(\$\w+)\s\.\s\13\[0\];\s}\selse\s{\s\12\s=\s\9\[\11\];\s}\s\10\s\.=\s\12;\sif\s\(\7\)\s{\s\9\[\]\s=\s\13\s\.\s\12\[0\];\s}\s\13\s=\s\12;\s}\sreturn\s\10;\s}\s(\$_\w+)="[\w\\\\]+";eval\(T_\(\14\("(.*)"\)\)\);~mis', 'id' => 'evalFuncFunc' ), array( 'full' => '~(preg_replace\(["\']/\.\*?/[^"\']+["\']\s*,\s*)[^\),]+(?:[\)\\\\0-5]+;[\'"])?(,\s*["\'][^"\']*["\'])\)+;~msi', 'fast' => '~(preg_replace\(["\']/\.\*?/[^"\']+["\']\s*,\s*)[^\),]+(?:[\)\\\\0-5]+;[\'"])?(,\s*["\'][^"\']*["\'])\)+;~msi', 'id' => 'eval'), array( 'full' => '~(\$\w{1,40})\s*=\s*[\'"]([^\'"]*)[\'"]\s*;\s*(\$\w{1,40}\s*=\s*(strtolower|strtoupper)\s*\((\s*\1[\[\{]\s*\d+\s*[\]\}]\s*\.?\s*)+\);\s*)+\s*if\s*\(\s*isset\s*\(\s*\$\{\s*\$\w{1,40}\s*\}\s*\[\s*[\'"][^\'"]*[\'"]\s*\]\s*\)\s*\)\s*\{\s*eval\s*\(\s*\$\w{1,40}\s*\(\s*\$\s*\{\s*\$\w{1,40}\s*\}\s*\[\s*[\'"][^\'"]*[\'"]\s*\]\s*\)\s*\)\s*;\s*\}\s*~msi', 'fast' => '~(\$\w{1,40})\s*=\s*[\'"]([^\'"]*)[\'"]\s*;\s*(\$\w{1,40}\s*=\s*(strtolower|strtoupper)\s*\((\s*\1[\[\{]\s*\d+\s*[\]\}]\s*\.?\s*)+\);\s*)+\s*if\s*\(\s*isset\s*\(\s*\$\{\s*\$\w{1,40}\s*\}\s*\[\s*[\'"][^\'"]*[\'"]\s*\]\s*\)\s*\)\s*\{\s*eval\s*\(\s*\$\w{1,40}\s*\(\s*\$\s*\{\s*\$\w{1,40}\s*\}\s*\[\s*[\'"][^\'"]*[\'"]\s*\]\s*\)\s*\)\s*;\s*\}\s*~msi', 'id' => 'evalInject' ), array( 'full' => '~((\$\w+)\s*=\s*(([base64_decode\'\.\s]+)|([eval\'\.\s]+)|([create_function\'\.\s]+)|([stripslashes\'\.\s]+)|([gzinflate\'\.\s]+)|([strrev\'\.\s]+)|([str_rot13\'\.\s]+)|([gzuncompress\'\.\s]+)|([urldecode\'\.\s]+)([rawurldecode\'\.\s]+));\s*)+\$\w+\s*=\s*\$\w+\(\'\',(\s*\$\w+\s*\(\s*)+\'[^\']+\'\)+;\s*\$\w+\(\);~msi', 'fast' => '~((\$\w+)\s*=\s*(([base64_decode\'\.\s]+)|([eval\'\.\s]+)|([create_function\'\.\s]+)|([stripslashes\'\.\s]+)|([gzinflate\'\.\s]+)|([strrev\'\.\s]+)|([str_rot13\'\.\s]+)|([gzuncompress\'\.\s]+)|([urldecode\'\.\s]+)([rawurldecode\'\.\s]+));\s*)+\$\w+\s*=\s*\$\w+\(\'\',(\s*\$\w+\s*\(\s*)+\'[^\']+\'\)+;\s*\$\w+\(\);~msi', 'id' => 'createFuncConcat' ), array( 'full' => '~(\$\w+)\s*=\s*base64_decode\("([^"]+)"\);(\1\s*=\s*ereg_replace\("([^"]+)","([^"]+)",\1\);)+\1=base64_decode\(\1\);eval\(\1\);~msi', 'fast' => '~(\$\w+)\s*=\s*base64_decode\("([^"]+)"\);(\1\s*=\s*ereg_replace\("([^"]+)","([^"]+)",\1\);)+\1=base64_decode\(\1\);eval\(\1\);~msi', 'id' => 'evalEregReplace' ), array( 'full' => '~((\$\w+)\s*=\s*(([base64_decode"\'\.\s]+)|([eval"\'\.\s]+)|([create_function"\'\.\s]+)|([stripslashes"\'\.\s]+)|([gzinflate"\'\.\s]+)|([strrev"\'\.\s]+)|([str_rot13"\'\.\s]+)|([gzuncompress"\'\.\s]+)|([urldecode"\'\.\s]+)([rawurldecode"\'\.\s]+));\s*)+\s*@?eval\(\$[^)]+\)+;~msi', 'fast' => '~((\$\w+)\s*=\s*(([base64_decode"\'\.\s]+)|([eval"\'\.\s]+)|([create_function"\'\.\s]+)|([stripslashes"\'\.\s]+)|([gzinflate"\'\.\s]+)|([strrev"\'\.\s]+)|([str_rot13"\'\.\s]+)|([gzuncompress"\'\.\s]+)|([urldecode"\'\.\s]+)([rawurldecode"\'\.\s]+));\s*)+\s*@?eval\(\$[^)]+\)+;~msi', 'id' => 'evalWrapVar' ), array( 'full' => '~\$\{"(.{1,20}?(\\\\x[0-9a-f]{2})+)+.?";@?eval\s*\(\s*([\'"?>.]+)?@?\s*(base64_decode\s*\(|gzinflate\s*\(|strrev\s*\(|str_rot13\s*\(|gzuncompress\s*\(|urldecode\s*\(|rawurldecode\s*\(|eval\s*\()+\(?\$\{\$\{"[^\)]+\)+;~msi', 'fast' => '~\$\{"(.{1,20}?(\\\\x[0-9a-f]{2})+)+.?";@?eval\s*\(\s*([\'"?>.]+)?@?\s*(base64_decode\s*\(|gzinflate\s*\(|strrev\s*\(|str_rot13\s*\(|gzuncompress\s*\(|urldecode\s*\(|rawurldecode\s*\(|eval\s*\()+\(?\$\{\$\{"[^\)]+\)+;~msi', 'id' => 'escapes' ), array( 'full' => '~(\$\w+)\s*=(?:\s*(?:(?:["\'][a-z0-9][\'"])|(?:chr\s*\(\d+\))|(?:[\'"]\\\\x[0-9a-f]+[\'"]))\s*?\.?)+;\s*(\$\w+)\s*=(?:\s*(?:(?:["\'][a-z0-9][\'"])|(?:chr\s*\(\d+\))|(?:[\'"]\\\\x[0-9a-f]+[\'"]))\s*?\.?)+;\s*@?\1\s*\(@?\2\s*\([\'"]([^\'"]+)[\'"]\)+;~msi', 'fast' => '~(\$\w+)\s*=(?:\s*(?:(?:["\'][a-z0-9][\'"])|(?:chr\s*\(\d+\))|(?:[\'"]\\\\x[0-9a-f]+[\'"]))\s*?\.?)+;\s*(\$\w+)\s*=(?:\s*(?:(?:["\'][a-z0-9][\'"])|(?:chr\s*\(\d+\))|(?:[\'"]\\\\x[0-9a-f]+[\'"]))\s*?\.?)+;\s*@?\1\s*\(@?\2\s*\([\'"]([^\'"]+)[\'"]\)+;~msi', 'id' => 'assert', ), array( 'full' => '~eval\s*\(str_rot13\s*\([\'"]+\s*(?:.+(?=\\\\\')\\\\\'[^\'"]+)+[\'"]+\)+;~msi', 'fast' => '~eval\s*\(str_rot13\s*\([\'"]+\s*(?:.+(?=\\\\\')\\\\\'[^\'"]+)+[\'"]+\)+;~msi', 'id' => 'evalCodeFunc' ), array( 'full' => '~\$\{"GLOBALS"\}\[[\'"](\w+)[\'"]\]=["\'](\w+)[\'"];\$\{"GLOBALS"\}\[[\'"](\w+)[\'"]\]=["\']\2[\'"];\${\$\{"GLOBALS"\}\[[\'"]\3[\'"]\]}=[\'"]([^\'"]+)[\'"];eval.{10,50}?\$\{\$\{"GLOBALS"\}\[[\'"]\1[\'"]\]\}\)+;~msi', 'fast' => '~\$\{"GLOBALS"\}\[[\'"](\w+)[\'"]\]=["\'](\w+)[\'"];\$\{"GLOBALS"\}\[[\'"](\w+)[\'"]\]=["\']\2[\'"];\${\$\{"GLOBALS"\}\[[\'"]\3[\'"]\]}=[\'"]([^\'"]+)[\'"];eval.{10,50}?\$\{\$\{"GLOBALS"\}\[[\'"]\1[\'"]\]\}\)+;~msi', 'id' => 'evalVarVar', ), array( 'full' => '~(\$\w+)=[\'"][^"\']+[\'"];(\$\w+)=strrev\(\'edoced_46esab\'\);eval\(\2\([\'"][^\'"]+[\'"]\)+;~msi', 'fast' => '~(\$\w+)=[\'"][^"\']+[\'"];(\$\w+)=strrev\(\'edoced_46esab\'\);eval\(\2\([\'"][^\'"]+[\'"]\)+;~msi', 'id' => 'edoced_46esab', ), array( 'full' => '~(\$\w+)=strrev\(\'edoced_46esab\'\);\s?(\$\w+)=strrev\(\'etalfnizg\'\);\s?eval\(\2\(\1\([\'"]([\w\/\+=]+)[\'"]\)\)\);~msi', 'fast' => '~(\$\w+)=strrev\(\'edoced_46esab\'\);\s?(\$\w+)=strrev\(\'etalfnizg\'\);\s?eval\(\2\(\1\([\'"]([\w\/\+=]+)[\'"]\)\)\);~msi', 'id' => 'edoced_46esab_etalfnizg', ), array( 'full' => '~(\$\w+)\s*=\s*"((?:[^"]|(?<=\\\\)")*)";(\$\w+)\s*=\s*(\1\[\d+\]\.?)+;(\$\w+)\s*=\s*[^;]+;(\$\w+)\s*=\s*"[^"]+";\$\w+\s*=\s*\5\."[^"]+"\.\6;\3\((\1\[\d+\]\.?)+,\s*\$\w+\s*,"\d+"\);~smi', 'fast' => '~(\$\w+)\s*=\s*"((?:[^"]|(?<=\\\\)"){0,1000})";(\$\w+)\s*=\s*(\1\[\d+\]\.?)+;(\$\w+)\s*=\s*[^;]+;(\$\w+)\s*=\s*"[^"]+";\$\w+\s*=\s*\5\."[^"]+"\.\6;\3\((\1\[\d+\]\.?)+,\s*\$\w+\s*,"\d+"\);~smi', 'id' => 'eval2' ), array( 'full' => '~@?(eval|echo|(\$\w+)\s*=\s*create_function)\s*\((\'\',)?\s*([\'"?>.\s]+)?\s*\(?\s*@?\s*(base64_decode\s*\(|pack\s*\(\'H\*\',|convert_uudecode\s*\(|htmlspecialchars_decode\s*\(|stripslashes\s*\(|gzinflate\s*\(|strrev\s*\(|str_rot13\s*\(|gzuncompress\s*\(|urldecode\s*\(|rawurldecode\s*\(|eval\s*\()+.*?[^\'")]+((\s*\.?[\'"]([^\'";]+[\'"]*\s*)+)?\s*[\'"\);]+)+(\s*\2\(\);)?~msi', 'fast' => '~@?(eval|echo|(\$\w+)\s*=\s*create_function)\s*\((\'\',)?\s*([\'"?>.\s]+)?\s*\(?\s*@?\s*(base64_decode\s*\(|pack\s*\(\'H\*\',|convert_uudecode\s*\(|htmlspecialchars_decode\s*\(|stripslashes\s*\(|gzinflate\s*\(|strrev\s*\(|str_rot13\s*\(|gzuncompress\s*\(|urldecode\s*\(|rawurldecode\s*\(|eval\s*\()+.*?[^\'")]+((\s*\.?[\'"]([^\'";]+[\'"]*\s*)+)?\s*[\'"\);]+)+(\s*\2\(\);)?~msi', 'id' => 'eval' ), array( 'full' => '~eval\s*/\*[\w\s\.:,]+\*/\s*\([^\)]+\)+;~msi', 'fast' => '~eval\s*/\*[\w\s\.:,]+\*/\s*\(~msi', 'id' => 'eval' ), array( 'full' => '~eval\("\\\\145\\\\166\\\\141\\\\154\\\\050\\\\142\\\\141\\\\163[^\)]+\)+;~msi', 'fast' => '~eval\("\\\\145\\\\166\\\\141\\\\154\\\\050\\\\142\\\\141\\\\163~msi', 'id' => 'evalHex' ), array( 'full' => '~eval\s*\("\\\\x?\d+[^\)]+\)+;(?:[\'"]\)+;)?~msi', 'fast' => '~eval\s*\("\\\\x?\d+~msi', 'id' => 'evalHex' ), array( 'full' => '~(\$\w+)\s=\s(["\']?[\w\/\+]+["\']?);\s(\$\w+)\s=\s((?:str_rot13\(|rawurldecode\(|convert_uudecode\(|gzinflate\(|str_rot13\(|base64_decode\(|rawurldecode\(|)+\1\)\)+);\secho\s(eval\(\3\);)~msi', 'fast' => '~(\$\w+)\s=\s(["\']?[\w\/\+]+["\']?);\s(\$\w+)\s=\s((?:str_rot13\(|rawurldecode\(|convert_uudecode\(|gzinflate\(|str_rot13\(|base64_decode\(|rawurldecode\(|)+\1\)\)+);\secho\s(eval\(\3\);)~msi', 'id' => 'echoEval' ), array( 'full' => '~\$\w+=\'printf\';(\s*\$\w+\s*=\s*\'[^\']+\'\s*;)+\s*(\$\w+\s*=\s*\$\w+\([^\)]+\);\s*)+(\$\w+\s*=\s*\'[^\']+\';\s*)?(\s*(\$\w+\s*=\s*)?\$\w+\([^)]*\)+;\s*)+(echo\s*\$\w+;)?~msi', 'fast' => '~\$\w+=\'printf\';(\s*\$\w+\s*=\s*\'[^\']+\'\s*;)+\s*(\$\w+\s*=\s*\$\w+\([^\)]+\);\s*)+(\$\w+\s*=\s*\'[^\']+\';\s*)?(\s*(\$\w+\s*=\s*)?\$\w+\([^)]*\)+;\s*)+(echo\s*\$\w+;)?~msi', 'id' => 'seolyzer' ), array( 'full' => '~(\$\w+)="((?:[^"]|(?<=\\\\)")*)";(\s*\$GLOBALS\[\'\w+\'\]\s*=\s*(?:\${)?(\1\[\d+\]}?\.?)+;\s*)+(.{0,400}\s*\1\[\d+\]\.?)+;\s*}~msi', 'fast' => '~(\$\w+)="((?:[^"]|(?<=\\\\)"){0,1000})";(\s*\$GLOBALS\[\'\w+\'\]\s*=\s*(?:\${)?(\1\[\d+\]}?\.?)+;\s*)+(.{0,400}\s*\1\[\d+\]\.?)+;\s*}~msi', 'id' => 'subst2', ), array( 'full' => '~(\$\w+\s*=\s*"[^"]+";\s*)+(\$\w+\s*=\s*\$?\w+\("\w+"\s*,\s*""\s*,\s*"\w+"\);\s*)+\$\w+\s*=\s*\$\w+\("",\s*\$\w+\(\$\w+\("\w+",\s*"",(\s*\$\w+\.?)+\)+;\$\w+\(\);~msi', 'fast' => '~(\$\w+\s*=\s*"[^"]+";\s*)+(\$\w+\s*=\s*\$?\w+\("\w+"\s*,\s*""\s*,\s*"\w+"\);\s*)+\$\w+\s*=\s*\$\w+\("",\s*\$\w+\(\$\w+\("\w+",\s*"",(\s*\$\w+\.?)+\)+;\$\w+\(\);~msi', 'id' => 'strreplace', ), array( 'full' => '~@?echo\s*([\'"?>.\s]+)?@?\s*(base64_decode\s*\(|stripslashes\s*\(|gzinflate\s*\(|strrev\s*\(|str_rot13\s*\(|gzuncompress\s*\(|urldecode\s*\(|rawurldecode\s*\(|eval\s*\()+.*?[^\'")]+((\s*\.?[\'"]([^\'";]+\s*)+)?\s*[\'"\);]+)+~msi', 'fast' => '~@?echo\s*([\'"?>.\s]+)?@?\s*(base64_decode\s*\(|stripslashes\s*\(|gzinflate\s*\(|strrev\s*\(|str_rot13\s*\(|gzuncompress\s*\(|urldecode\s*\(|rawurldecode\s*\(|eval\s*\()+.*?[^\'")]+((\s*\.?[\'"]([^\'";]+\s*)+)?\s*[\'"\);]+)+~msi', 'id' => 'echo', ), array( 'full' => '~(\$\w+)="([^"]+)";\s*(\$\w+)=strtoupper\s*\((\1\[\d+\]\s*\.?\s*)+\)\s*;\s*if\(\s*isset\s*\(\${\s*\3\s*}\[\d*\s*\'\w+\'\s*\]\s*\)\s*\)\s*{eval\(\${\3\s*}\[\'\w+\']\s*\)\s*;}~smi', 'fast' => '~(\$\w+)="([^"]+)";\s*(\$\w+)=strtoupper\s*\((\1\[\d+\]\s*\.?\s*)+\)\s*;\s*if\(\s*isset\s*\(\${\s*\3\s*}\[\d*\s*\'\w+\'\s*\]\s*\)\s*\)\s*{eval\(\${\3\s*}\[\'\w+\']\s*\)\s*;}~smi', 'id' => 'strtoupper', ), array( 'full' => '~(\$\w+)="[^"]+";\s*(\$\w+)=str_ireplace\("[^"]+","",\1\);(\$\w+)\s*=\s*"[^"]+";\s*function\s*(\w+)\((\$\w+,?)+\){\s*(\$\w+)=\s*create_function\(\'\',\$\w+\);\s*array_map\(\6,array\(\'\'\)+;\s*}\s*set_error_handler\(\'\4\'\);(\$\w+)=\2\(\3\);user_error\(\7,E_USER_ERROR\);\s*if\s*.+?}~msi', 'fast' => '~(\$\w+)="[^"]+";\s*(\$\w+)=str_ireplace\("[^"]+","",\1\);(\$\w+)\s*=\s*"[^"]+";\s*function\s*(\w+)\((\$\w+,?)+\){\s*(\$\w+)=\s*create_function\(\'\',\$\w+\);\s*array_map\(\6,array\(\'\'\)+;\s*}\s*set_error_handler\(\'\4\'\);(\$\w+)=\2\(\3\);user_error\(\7,E_USER_ERROR\);\s*if\s*.+?}~msi', 'id' => 'errorHandler', ), array( 'full' => '~(\$\w+)=strrev\(str_ireplace\("[^"]+","","[^"]+"\)\);(\$\w+)="([^"]+)";eval\(\1\(\2\)+;}~msi', 'fast' => '~(\$\w+)=strrev\(str_ireplace\("[^"]+","","[^"]+"\)\);(\$\w+)="([^"]+)";eval\(\1\(\2\)+;}~msi', 'id' => 'evalIReplace', ), array( 'full' => '~error_reporting\(0\);ini_set\("display_errors",\s*0\);if\(!defined\(\'(\w+)\'\)\){define\(\'\1\',__FILE__\);if\(!function_exists\("([^"]+)"\)\){function [^(]+\([^\)]+\).+?eval\(""\);.+?;eval\(\$[^\)]+\)\);[^\)]+\)+;return\s*\$[^;]+;\s*\?>([^;]+);~msi', 'fast' => '~error_reporting\(0\);ini_set\("display_errors",\s*0\);if\(!defined\(\'(\w+)\'\)\){define\(\'\1\',__FILE__\);if\(!function_exists\("([^"]+)"\)\){function [^(]+\([^\)]+\).+?eval\(""\);.+?;eval\(\$[^\)]+\)\);[^\)]+\)+;return\s*\$[^;]+;\s*\?>([^;]+);~msi', 'id' => 'PHPJiaMi', ), array( 'full' => '~\$\w+=0;(\$GLOBALS\[\'\w+\'\])\s*=\s*\'([^\']+)\';\s*(\$\w+)=pack\(\'H\*\',substr\(\1,\s*([-\d]+)\)\);if\s*\(!function_exists\(\'(\w+)\'\)\){function\s*\5\(\$\w+,\s*\$\w+\){\$\w+=\1;\s*\$d=pack\(\'H\*\',substr\(\1,\s*\4\)\);\s*return\s*\$\w+\(substr\(\$\w+,\s*\$\w+,\s*\$\w+\)\);}};eval\(\3\(\'[^\']+\'\)\);~msi', 'fast' => '~\$\w+=0;(\$GLOBALS\[\'\w+\'\])\s*=\s*\'([^\']+)\';\s*(\$\w+)=pack\(\'H\*\',substr\(\1,\s*([-\d]+)\)\);if\s*\(!function_exists\(\'(\w+)\'\)\){function\s*\5\(\$\w+,\s*\$\w+\){\$\w+=\1;\s*\$d=pack\(\'H\*\',substr\(\1,\s*\4\)\);\s*return\s*\$\w+\(substr\(\$\w+,\s*\$\w+,\s*\$\w+\)\);}};eval\(\3\(\'[^\']+\'\)\);~msi', 'id' => 'substr', ), array( 'full' => '~(function\s*(\w+)\((\$\w+)\){\s*return\s*(base64_decode|gzinflate|eval)\(\$\w+(,\d+)?\);}\s*)+(\$\w+)="([^"]+)";(\w+\()+\6\)+~msi', 'fast' => '~(function\s*(\w+)\((\$\w+)\){\s*return\s*(base64_decode|gzinflate|eval)\(\$\w+(,\d+)?\);}\s*)+(\$\w+)="([^"]+)";(\w+\()+\6\)+~msi', 'id' => 'funcs', ), array( 'full' => '~\$_F=__FILE__;\$_X=["\']([^\'"]+)[\'"];\s*(?:\$[_\w]+\.=[\'"][\w\+\/=]+[\'"];){0,30}\$_\w+=base64_decode\(\$_X\);\$_X=strtr\(\$_X,\'([^\']+)\',\'([^\']+)\'\);\$_R=@?(?:(str_replace)|(ereg_replace)|(preg_replace))\(\'\~?__FILE__\~?\',"\'".\$_F."\'",\$_X\);eval\(\$_R\);\$_R=0;\$_X=0;~msi', 'fast' => '~\$_F=__FILE__;\$_X=["\']([^\'"]+)[\'"];\s*(?:\$[_\w]+\.=[\'"][\w\+\/=]+[\'"];){0,30}\$_\w+=base64_decode\(\$_X\);\$_X=strtr\(\$_X,\'([^\']+)\',\'([^\']+)\'\);\$_R=@?(?:(str_replace)|(ereg_replace)|(preg_replace))\(\'\~?__FILE__\~?\',"\'".\$_F."\'",\$_X\);eval\(\$_R\);\$_R=0;\$_X=0;~msi', 'id' => 'LockIt2', ), array( 'full' => '~(?:@error_reporting\(\d+\);\s*@set_time_limit\(\d+\);)?\s*(\$\w+)=([\s\'\w\/+=]+);\s*(\$\w+)=(__FILE__);\s*\1=gzinflate\(str_rot13\(base64_decode\(\$tr\)\)\);\1=strtr\(\1,\'([^\']+)\'\s*,\'([^\']+)\'\);(\$_R)=@?ereg_replace\(\'\~?\4\~?\',"\'".\3."\'",\1\);eval\(\7\);\7=0;\1=0;~msi', 'fast' => '~(\$\w+)=([\s\'\w\/+=]+);\s*(\$\w+)=(__FILE__);\s*\1=\w+\(\w+\(\w+\(\$tr\)\)\);\1=\w+\(\1,\'([^\']+)\'\s*,\'([^\']+)\'\);(\$_R)=@?\w+\(\'\~?\4\~?\',"\'".\3."\'",\1\);\w+\(\7\);\7=0;\1=0;~msi', 'id' => 'anaski', ), array( 'full' => '~\$\w+="[^"]+";\$l+=0;\$l+=\'base64_decode\';\$l+=0;eval\(.+?;eval\(\$l+\);return;~msi', 'fast' => '~\$\w+="[^"]+";\$l+=0;\$l+=\'base64_decode\';\$l+=0;eval\(.+?;eval\(\$l+\);return;~msi', 'id' => 'custom1', ), array( 'full' => '~(\$\w+)\s*=\s*"(\w{32})";\s*(\$\w+)\s*=\s*array\s*\(\);\s*(\3\[\d+\]\s*=\s*"[^"]+";\s*)+\s*(\$\w+)\s*=\s*"base64_decode";\s*\$\w+\s*=\s*(\w+)\s*\(\3,\1\);function\s*\6\(\s*.{200,500}return\s*\$\w+;\s*}\s*eval\s*\(\5\s*\(\$\w+\)\);~msi', 'fast' => '~(\$\w+)\s*=\s*"(\w{32})";\s*(\$\w+)\s*=\s*array\s*\(\);\s*(\3\[\d+\]\s*=\s*"[^"]+";\s*)+\s*(\$\w+)\s*=\s*"base64_decode";\s*\$\w+\s*=\s*(\w+)\s*\(\3,\1\);function\s*\6\(\s*.{200,500}return\s*\$\w+;\s*}\s*eval\s*\(\5\s*\(\$\w+\)\);~msi', 'id' => 'custom2', ), array( 'full' => '~\$\w+=\'=+\s*Obfuscation provided by Unknowndevice64 - Free Online PHP Obfuscator\s*(?:http://www\.ud64\.com/)?\s*=+\';\s*(\$ud64_c[o0]m="[\\\\0-9a-z\."]+;)+\$\w+=(\$ud64_c[o0]m\()+"([^"]+)"\)+;@eval\(\$ud64_c[o0]m\(\'[^\']+\'\)+;~msi', 'fast' => '~\$\w+=\'=+\s*Obfuscation provided by Unknowndevice64 - Free Online PHP Obfuscator\s*(?:http://www\.ud64\.com/)?\s*=+\';\s*(\$ud64_c[o0]m="[\\\\0-9a-z\."]+;)+\$\w+=(\$ud64_c[o0]m\()+"([^"]+)"\)+;@eval\(\$ud64_c[o0]m\(\'[^\']+\'\)+;~msi', 'id' => 'ud64', ), array( 'full' => '~(\$[\w_]+=("[\\\\\\\\\w]+"\.?)+;)+\$\w+=(?:\$\w+\()+"([\w\/\+]+)"\)+;@eval\(\$\w+\(\'.*?\'\)+;~msi', 'fast' => '~(\$[\w_]+=("[\\\\\\\\\w]+"\.?)+;)+\$\w+=(?:\$\w+\()+"([\w\/\+]+)"\)+;@eval\(\$\w+\(\'.*?\'\)+;~msi', 'id' => 'ud64', ), array( 'full' => '~\$\w+=__FILE__;\$\w+=fopen\(\$\w+,\'rb\'\);fread\(\$\w+,(\d+)\);\$\w+=explode\("\\\\t",base64_decode\(fread\(\$\w+,(\d+)\)+;\$\w+=\$\w+\[[\d+]\];[\$l1=\d{}\.;\(\)\[\]]+eval\(\$\w+\(\'[^\']+\'\)+;\s*return\s*;\?>[\w=\+]+~msi', 'fast' => '~\$\w+=__FILE__;\$\w+=fopen\(\$\w+,\'rb\'\);fread\(\$\w+,(\d+)\);\$\w+=explode\("\\\\t",base64_decode\(fread\(\$\w+,(\d+)\)+;\$\w+=\$\w+\[[\d+]\];[\$l1=\d{}\.;\(\)\[\]]+eval\(\$\w+\(\'[^\']+\'\)+;\s*return\s*;\?>[\w=\+]+~msi', 'id' => 'qibosoft', ), array( 'full' => '~(\$\w+)=base64_decode\("([^"]+)"\);\s*eval\("return\s*eval\(\\\\"\1\\\\"\);"\)~msi', 'fast' => '~(\$\w+)=base64_decode\("([^"]+)"\);\s*eval\("return\s*eval\(\\\\"\1\\\\"\);"\)~msi', 'id' => 'evalReturn', ), array( 'full' => '~(?:\$[0O]+\[[\'"](\w+)[\'"]\]\.?="[\\\\\w]+";)+(?:\$[0O]+\[[\'"]\w+[\'"]\]\.?=\$[0O]+\[[\'"]\w+[\'"]\]\([\'"][\d\(]+[\'"](,__FILE__)?\);)+@eval\((?:\$[0O]+\[[\'"]\w+[\'"]\]\()+"([^"]+)"\)+;~mis', 'fast' => '~(?:\$[0O]+\[[\'"](\w+)[\'"]\]\.?="[\\\\\w]+";)+(?:\$[0O]+\[[\'"]\w+[\'"]\]\.?=\$[0O]+\[[\'"]\w+[\'"]\]\([\'"][\d\(]+[\'"](,__FILE__)?\);)+@eval\((?:\$[0O]+\[[\'"]\w+[\'"]\]\()+"([^"]+)"\)+;~mis', 'id' => 'evalChars', ), array( 'full' => '~<\?php\s+((\$GLOBALS\[\s*[\'"]\w+[\'"]\s*\])\s*=\s*base64_decode\("([^"]*)"\);)+\s*\?><\?php\s.+\2.+exit;\s}\sfunction\s\w+\(\)\s{\sreturn\sarray\(\s\'favicon\'\s=>\s\'[^\']+\',\s+\'sprites\'\s=>\s\'[^\']+\',\s\);\s}~msi', 'fast' => '~<\?php\s+((\$GLOBALS\[\s*[\'"]\w+[\'"]\s*\])\s*=\s*base64_decode\("([^"]*)"\);)+\s*\?><\?php\s.+\2.+exit;\s}\sfunction\s\w+\(\)\s{\sreturn\sarray\(\s\'favicon\'\s=>\s\'[^\']+\',\s+\'sprites\'\s=>\s\'[^\']+\',\s\);\s}~msi', 'id' => 'globalsBase64', ), array( 'full' => '~(\$\w+=(\w+)\(\'\d+\'\);\s*)+\$\w+=new\s\$\w+\(\2\(\'(\d+)\'\)+;error_reporting\(0\);eval\(\$\w+\(\$\w+->\$\w+\("[^"]+"\)+;.+?function \2.+?return\s\$\w+;\s}~msi', 'fast' => '~(\$\w+=(\w+)\(\'\d+\'\);\s*)+\$\w+=new\s\$\w+\(\2\(\'(\d+)\'\)+;error_reporting\(0\);eval\(\$\w+\(\$\w+->\$\w+\("[^"]+"\)+;.+?function \2.+?return\s\$\w+;\s}~msi', 'id' => 'aanKFM', ), array( 'full' => '~(\$\w+=strrev\("[^"]+"\);)+eval\((\$\w+\()+"[^"]+"\)+;~mis', 'fast' => '~(\$\w+=strrev\("[^"]+"\);)+eval\((\$\w+\()+"[^"]+"\)+;~mis', 'id' => 'strrevVarEval', ), array( 'full' => '~\$\w+=basename/\*\w+\*/\(/\*\w+\*/trim/\*\w+\*/\(.+?(\$\w+)=.+\1.+?;~msi', 'fast' => '~\$\w+=basename/\*\w+\*/\(/\*\w+\*/trim/\*\w+\*/\(.+?(\$\w+)=.+\1.+?;~msi', 'id' => 'comments', ), array( 'full' => '~(\$\w+)\s*=\s*(base64_decode\s*\(+|gzinflate\s*\(+|strrev\s*\(+|str_rot13\s*\(+|gzuncompress\s*\(+|convert_uudecode\s*\(+|urldecode\s*\(+|rawurldecode\s*\(+|htmlspecialchars_decode\s*\(+)+"([^"]+)"\)+;\s*@?eval\(([\'"?>.\s]+)?\1\);~', 'fast' => '~(\$\w+)\s*=\s*(base64_decode\s*\(+|gzinflate\s*\(+|strrev\s*\(+|str_rot13\s*\(+|gzuncompress\s*\(+|convert_uudecode\s*\(+|urldecode\s*\(+|rawurldecode\s*\(+|htmlspecialchars_decode\s*\(+)+"([^"]+)"\)+;\s*@?eval\(([\'"?>.\s]+)?\1\);~', 'id' => 'varFuncsEval', ), array( 'full' => '~((\$\w+)="";\$\w+\s*\.=\s*"[^;]+;\s*)+(?:="";)?eval\((\s*\$\w+\s*\.)+\s*"[^"]+(?:"\);)+~msi', 'fast' => '~((\$\w+)="";\$\w+\s*\.=\s*"[^;]+;\s*)+(?:="";)?eval\((\s*\$\w+\s*\.)+\s*"[^"]+(?:"\);)+~msi', 'id' => 'evalConcatVars', ), array( 'full' => '~<\?php\s*defined\(\'[^\']+\'\)\s*\|\|\s*define\(\'[^\']+\',__FILE__\);(global\s*\$[^;]+;)+\s*(if\(!function_exists\(\'([^\']+)\'\)\){\s*function\s*[^\)]+\(\$[^,]+,\$[^=]+=\'\'\){\s*if\(empty\(\$[^\)]+\)\)\s*return\s*\'\';\s*\$[^=]+=base64_decode\(\$[^\)]+\);\s*if\(\$[^=]+==\'\'\)\s*return\s*\~\$[^;]+;\s*if\(\$[^=]+==\'-1\'\)\s*@[^\(]+\(\);\s*\$[^=]+=\$GLOBALS\[\'[^\']+\'\]\[\'[^\']+\'\]\(\$[^\)]+\);\s*\$[^=]+=\$GLOBALS\[\'[^\']+\'\]\[\'[^\']+\'\]\(\$[^,]+,\$[^,]+,\$[^\)]+\);\s*return\s*\$[^^]+\^\$[^;]+;\s*}}\s*)+(\$[^\[]+\["[^"]+"]=[^\(]+\(\'[^\']+\',\'[^\']*\'\);\s*)+(\$[^\[]+\[\'[^\']+\'\]=\$GLOBALS\[\'[^\']+\'\]\[\'[^\']+\'\]\([^\)]*\)+;\s*)+return\(eval\(\$[^\[]+\[\'[^\']+\'\]\)+;\s*\?>\s*#!/usr/bin/php\s*-q\s*(\s*[^\s]+)+~msi', 'fast' => '~<\?php\s*defined\(\'[^\']{10,30}\'\)\s*\|\|\s*define\(\'[^\']{10,30}\',__FILE__\);(global\s*\$[^;]{10,30};)+\s*if\(!function_exists\(\'([^\']+)\'\)\){\s*function\s*[^\)]+\(\$[^,]{10,30},\$[^=]{10,30}=\'\'\){\s*if\(empty\(\$[^\)]+\)\)\s*return\s*\'\';\s*\$[^=]{10,30}=base64_decode~msi', 'id' => 'OELove', ), array( 'full' => '~\$\w+\s*=(\s*(\d+)\+)+\d+;(\$\w+="[^"]+";)+(\$\w+)\s*=\s*\w+\(\'[^\']+\',\s*\$\w+,\s*\'[^\']+\'\);.+\4\("[^"]+"\);\$\w+\s*=\s*\4;(\$\w+="[^"]+";)+.+\$\w+\(\$\w+,\$\w+\("",\s*\$\w+\(\$\w+\(\$\w+\(\$\w+\(\$\w+,\s*"(\d+)"\)+,\$\w+\);.+function \w+\((\$\w+),\s*\$\w+,\s(\$\w+)\)\s{\8\s=\s\8\s\.\s\8;.+return \7;}~msi', 'fast' => '~\$\w+\s*=(\s*(\d+)\+)+\d+;(\$\w+="[^"]+";)+(\$\w+)\s*=\s*\w+\(\'[^\']+\',\s*\$\w+,\s*\'[^\']+\'\);.+\4\("[^"]+"\);\$\w+\s*=\s*\4;(\$\w+="[^"]+";)+~msi', 'id' => 'Obf_20200402_1', ), array( 'full' => '~(?:\$\w+\s*=\s*"[^"]+";\s*)?function\s(\w+)\((\$\w+),\s*(\$\w+),\s*(\$\w+)\){\s*return\s*([\'\.]*(\2|\3|\4)[\'\.]*)+;\s*}\s*(?:\$\w+\s*=\s*"[^"]+";)?(\s*\$\w+\s*=\s*\1\((((\'\')|(\$\w+)|(\$\w+[\[\{]\d+[\]\}](\.\'\')?)|(\$\w+[\[\{]\d+[\]\}]\.\$\w+[\[\{]\d+[\]\}]))\s*,?\s*)+\);\s*)+\s*\$\w+\s*=\s*\1[^"]+"\'([^\']+)\'".+?array\(\'\',\'}\'.\$\w+\.\'//\'\)\);~msi', 'fast' => '~function\s(\w+)\((\$\w+),\s*(\$\w+),\s*(\$\w+)\){\s*return\s*([\'\.]*(\2|\3|\4)[\'\.]*)+;\s*}\s*(?:\$\w+\s*=\s*"[^"]+";)?(\s*\$\w+\s*=\s*\1\((((\'\')|(\$\w+)|(\$\w+[\[\{]\d+[\]\}](\.\'\')?)|(\$\w+[\[\{]\d+[\]\}]\.\$\w+[\[\{]\d+[\]\}]))\s*,?\s*)+\);\s*)+\s*\$\w+\s*=\s*\1[^"]+"\'([^\']+)\'".+?array\(\'\',\'}\'.\$\w+\.\'//\'\)\);~msi', 'id' => 'Obf_20200402_2', ), array( 'full' => '~function\s*(\w+)\((\$\w+),\s*(\$\w+)\)\s*\{\s*\3\s*=\s*md5\(\3\);\s*\$\w+\s*=\s*\d+;\s*\2\s*=\s*base64_decode\(\2\);\s*\$\w+\s*=\s*strlen\(\2\);\s*\$\w+\s*=\s*strlen\(\3\);\s*\$\w+\s*=\s*\'\';\s*for\s*\(\$\w+\s*=\s\d+;\s*\$\w+\s*<\s*\$len;\s*\$\w+\+\+\)\s*\{\s*if\s*\(\$\w+\s*==\s*\$\w+\)\s*\{\s*\$\w+\s*=\s*\d+;\s*}\s*\$\w+\s*\.=\s*substr\(\3,\s*\$\w+,\s*\d+\);\s*\$\w+\+\+;\s*\}\s*\$\w+\s*=\s*\'\';\s*for\s*\(\$\w+\s*=\s*\d+;\s*\$\w+\s*<\s*\$\w+;\s*\$\w+\+\+\)\s*{\s*if\s*\(ord\(substr\(\2,\s*\$\w+,\s*\d+\)\)\s*<\s*ord\(substr\(\$\w+,\s*\$\w+,\s*\d+\)\)\)\s*\{\s*\$\w+\s*\.=\s*chr\(\(ord\(substr\(\2,\s*\$\w+,\s*\d+\)\)\s*\+\s*\d+\)\s*-\s*ord\(substr\(\$\w+,\s*\$\w+,\s*\d+\)\)\);\s*}\s*else\s*{\s*\$\w+\s*\.=\s*chr\(ord\(substr\(\2,\s*\$\w+,\s*\d+\)\)\s*-\s*ord\(substr\(\$\w+,\s*\$\w+,\s*\d+\)\)\);\s*}\s*}\s*return\s*\$\w+;\s*\}\s*\2\s*=\s*"[^"]+";\s*\3\s*=\s*"[^"]+";\s*(\$\w+)\s*=\s*\1\(\2,\s*\3\);\s*eval\(\4\);~msi', 'fast' => '~function\s*(\w+)\((\$\w+),\s*(\$\w+)\)\s*\{\s*\3\s*=\s*md5\(\3\);\s*\$\w+\s*=\s*\d+;\s*\2\s*=\s*base64_decode\(\2\);\s*\$\w+\s*=\s*strlen\(\2\);\s*\$\w+\s*=\s*strlen\(\3\);\s*\$\w+\s*=\s*\'\';\s*for\s*\(\$\w+\s*=\s\d+;\s*\$\w+\s*<\s*\$len;\s*\$\w+\+\+\)\s*\{\s*if\s*\(\$\w+\s*==\s*\$\w+\)\s*\{\s*\$\w+\s*=\s*\d+;\s*}\s*\$\w+\s*\.=\s*substr\(\3,\s*\$\w+,\s*\d+\);\s*\$\w+\+\+;\s*\}\s*\$\w+\s*=\s*\'\';\s*for\s*\(\$\w+\s*=\s*\d+;\s*\$\w+\s*<\s*\$\w+;\s*\$\w+\+\+\)\s*{\s*if\s*\(ord\(substr\(\2,\s*\$\w+,\s*\d+\)\)\s*<\s*ord\(substr\(\$\w+,\s*\$\w+,\s*\d+\)\)\)\s*\{\s*\$\w+\s*\.=\s*chr\(\(ord\(substr\(\2,\s*\$\w+,\s*\d+\)\)\s*\+\s*\d+\)\s*-\s*ord\(substr\(\$\w+,\s*\$\w+,\s*\d+\)\)\);\s*}\s*else\s*{\s*\$\w+\s*\.=\s*chr\(ord\(substr\(\2,\s*\$\w+,\s*\d+\)\)\s*-\s*ord\(substr\(\$\w+,\s*\$\w+,\s*\d+\)\)\);\s*}\s*}\s*return\s*\$\w+;\s*\}\s*\2\s*=\s*"[^"]+";\s*\3\s*=\s*"[^"]+";\s*(\$\w+)\s*=\s*\1\(\2,\s*\3\);\s*eval\(\4\);~msi', 'id' => 'Obf_20200414_1', ), array( 'full' => '~(?:\$\w+\s*=\s*\'\w+\';)?\s*(\$\w+)\s*=\s*urldecode\(\'[%0-9a-f]+\'\);(\s*(\$\w+)\s*=(\s*\1\{\d+\}\.?)+;)+\s*(\$\w+)\s*=\s*"[^"]+"\.\3\("[^"]+"\);\s*eval\(\5\);~msi', 'fast' => '~(\$\w+)\s*=\s*urldecode\(\'[%0-9a-f]+\'\);(\s*(\$\w+)\s*=(\s*\1\{\d+\}\.?)+;)+\s*(\$\w+)\s*=\s*"[^"]+"\.\3\("[^"]+"\);\s*eval\(\5\);~msi', 'id' => 'Obf_20200421_1', ), array( 'full' => '~(\$\w+)=\'([^\']+)\';(\$\w+)=str_rot13\(gzinflate\(str_rot13\(base64_decode\(\1\)\)\)\);eval\(\3\);~msi', 'fast' => '~(\$\w+)=\'([^\']+)\';(\$\w+)=str_rot13\(gzinflate\(str_rot13\(base64_decode\(\1\)\)\)\);eval\(\3\);~msi', 'id' => 'SmartToolsShop', ), array( 'full' => '~(\$\w+)\s*=\s*\("\?>"\.gzuncompress\(base64_decode\("[^"]+"\)\)\);\s*@?eval\(\1\);~msi', 'fast' => '~(\$\w+)\s*=\s*\("\?>"\.gzuncompress\(base64_decode\("[^"]+"\)\)\);\s*@?eval\(\1\);~msi', 'id' => 'Obf_20200504_1', ), array( 'full' => '~(\$\w+)=base64_decode\(\'[^\']+\'\);\s*eval\(\1\);~mis', 'fast' => '~(\$\w+)=base64_decode\(\'[^\']+\'\);\s*eval\(\1\);~mis', 'id' => 'Obf_20200507_1', ), array( 'full' => '~@error_reporting\(0\);\s*@ini_set\(\'error_log\',NULL\);\s*@ini_set\(\'log_errors\',0\);\s*@ini_set\(\'display_errors\',\s*0\);\s*@(\$\w+)="[create_function"\.]+;\s*(\$\w+)=\1\("([^"]+)","[eval\."]+\(\'\?>\'\.[base64_decode"\.]+\(\3\)\);"\);\s*\2\("([^"]+)"\);exit;~msi', 'fast' => '~@error_reporting\(0\);\s*@ini_set\(\'error_log\',NULL\);\s*@ini_set\(\'log_errors\',0\);\s*@ini_set\(\'display_errors\',\s*0\);\s*@(\$\w+)="[create_function"\.]+;\s*(\$\w+)=\1\("([^"]+)","[eval\."]+\(\'\?>\'\.[base64_decode"\.]+\(\3\)\);"\);\s*\2\("([^"]+)"\);exit;~msi', 'id' => 'Obf_20200507_2', ), array( 'full' => '~@error_reporting\(0\);\s*@ini_set\(\'error_log\',NULL\);\s*@ini_set\(\'log_errors\',0\);\s*@ini_set\(\'output_buffering\',\s*0\);\s*@ini_set\(\'display_errors\',\s*0\);\s*\$\w+="(An0n_3xPloiTeR)";\$UeXploiT="([^"]+)";\$\1="([^"]+)";exit;~msi', 'fast' => '~@error_reporting\(0\);\s*@ini_set\(\'error_log\',NULL\);\s*@ini_set\(\'log_errors\',0\);\s*@ini_set\(\'output_buffering\',\s*0\);\s*@ini_set\(\'display_errors\',\s*0\);\s*\$\w+="(An0n_3xPloiTeR)";\$UeXploiT="([^"]+)";\$\1="([^"]+)";exit;~msi', 'id' => 'Obf_20200507_3', ), array( 'full' => '~(?:error_reporting\(0\);\s*ini_set\("max_execution_time",0\);\s*(?:/\*.*?\*/)?\s*)?(\$\w+)=\s*\[(("."=>".",?\s*)+)];\s*(\$\w+)=str_split\("([^"]+)"\);\s*(?:\$\w+="";)?\s*foreach\(\4\s*as\s*(\$\w+)\)\s*{\s*foreach\(\s*\1\s*as\s*(\$\w+)=>(\$\w+)\)\s*{\s*if\(\6==\(string\)\8\)\s*\{\s*\$\w+\.=\7;\s*break;\s*}\s*}\s*}~msi', 'fast' => '~(\$\w+)=\s*\[(("."=>".",?\s*)+)];\s*(\$\w+)=str_split\("([^"]+)"\);\s*(?:\$\w+="";)?\s*foreach\(\4\s*as\s*(\$\w+)\)\s*{\s*foreach\(\s*\1\s*as\s*(\$\w+)=>(\$\w+)\)\s*{\s*if\(\6==\(string\)\8\)\s*\{\s*\$\w+\.=\7;\s*break;\s*}\s*}\s*}~msi', 'id' => 'Obf_20200507_4', ), array( 'full' => '~assert\("[eval"\.]+\([base64_decode\."]+\(\'([^\']+)\'\)\)"\);~msi', 'fast' => '~assert\("[eval"\.]+\([base64_decode\."]+\(\'([^\']+)\'\)\)"\);~msi', 'id' => 'Obf_20200507_5', ), array( 'full' => '~parse_str\(\'([^\']+)\',(\$\w+)\);(\2\[\d+\]\()+\'[^\']+\'\),array\(\),array\(\'[^\']+\'\.(\2\[\d+\]\()+\'([^\']+)\'\)+\.\'//\'\)+;~msi', 'fast' => '~parse_str\(\'([^\']+)\',(\$\w+)\);(\2\[\d+\]\()+\'[^\']+\'\),array\(\),array\(\'[^\']+\'\.(\2\[\d+\]\()+\'([^\']+)\'\)+\.\'//\'\)+;~msi', 'id' => 'Obf_20200513_1', ), array( 'full' => '~function\s*(\w+)\((\$\w+)\)\{\2=substr\(\2,\(int\)\(hex2bin\(\'([0-9a-f]+)\'\)\)\);\2=substr\(\2,\(int\)\(hex2bin\(\'([0-9a-f]+)\'\)\),\(int\)\(hex2bin\(\'([0-9a-f]+)\'\)\)\);return\s*\2;\}(\$\w+)=\'[^\']+\';(\$\w+)=\'base64_decode\';function\s*\w+\((\$\w+)\)\{global\s*\6;global\s*\7;return\s*strrev\(gzinflate\(\7\(\1\(\8\)\)\)\);\}([^\']+)\'\)+~msi', 'fast' => '~function\s*(\w+)\((\$\w+)\)\{\2=substr\(\2,\(int\)\(hex2bin\(\'([0-9a-f]+)\'\)\)\);\2=substr\(\2,\(int\)\(hex2bin\(\'([0-9a-f]+)\'\)\),\(int\)\(hex2bin\(\'([0-9a-f]+)\'\)\)\);return\s*\2;\}(\$\w+)=\'[^\']+\';(\$\w+)=\'base64_decode\';function\s*\w+\((\$\w+)\)\{global\s*\6;global\s*\7;return\s*strrev\(gzinflate\(\7\(\1\(\8\)\)\)\);\}([^\']+)\'\)+~msi', 'id' => 'Obf_20200522_1', ), array( 'full' => '~(\$\w+)=strrev\("[base64_decode"\.]+\);eval\(\1\(\'([^\']+)\'\)\);~msi', 'fast' => '~(\$\w+)=strrev\("[base64_decode"\.]+\);eval\(\1\(\'([^\']+)\'\)\);~msi', 'id' => 'Obf_20200526_1', ), array( 'full' => '~error_reporting\(0\);define\(\'\w+\',\s*__FILE__\);define\(\'\w+\',\s*fopen\(__FILE__,\s*\'r\'\)\);fseek\(\w+,\s*__COMPILER_HALT_OFFSET__\);((\$\w+="\\\\x[0-9a-f]+";)+(\$\w+="[^"]+";)+eval\("\?>"\.(\$\w+\()+"([^"]+)"\)+;)+(?:/\*\w+\*/)?__halt_compiler\(\);[\w#|>^%\[\.\]\\\\/=]+~msi', 'fast' => '~error_reporting\(0\);define\(\'\w+\',\s*__FILE__\);define\(\'\w+\',\s*fopen\(__FILE__,\s*\'r\'\)\);fseek\(\w+,\s*__COMPILER_HALT_OFFSET__\);((\$\w+="\\\\x[0-9a-f]+";)+(\$\w+="[^"]+";)+eval\("\?>"\.(\$\w+\()+"([^"]+)"\)+;)+(?:/\*\w+\*/)?__halt_compiler\(\);[\w#|>^%\[\.\]\\\\/=]+~msi', 'id' => 'Obf_20200527_1', ), array( 'full' => '~(\$\w+)=strrev\("[base64_decode]+"\)\.str_replace\(\'(\w+)\',\'\',\'\w+\'\);\s*eval\(\1\(\$\w+\)\);~msi', 'fast' => '~(\$\w+)=strrev\("[base64_decode]+"\)\.str_replace\(\'(\w+)\',\'\',\'\w+\'\);\s*eval\(\1\(\$\w+\)\);~msi', 'id' => 'Obf_20200602_1', ), array( 'full' => '~(\$\w+)\s*=\s*"([^"]+)";\s*(\$\w+)\s*=\s*base64_decode\(\1\);\s*eval\(\3\);~msi', 'fast' => '~(\$\w+)\s*=\s*"([^"]+)";\s*(\$\w+)\s*=\s*base64_decode\(\1\);\s*eval\(\3\);~msi', 'id' => 'Obf_20200720_1', ), array( 'full' => '~[\'".]+(\$\w+\s*=\s*[\'"]\w+[\'"];)+(\$\w+=\$\w+[\'.]+\$\w+;)+(\$\w+=(str_rot13|base64_decode|gzinflate)\(\$\w+\);)+eval\(\$\w+\);~msi', 'fast' => '~[\'".]+(\$\w+\s*=\s*[\'"]\w+[\'"];)+(\$\w+=\$\w+[\'.]+\$\w+;)+(\$\w+=(str_rot13|base64_decode|gzinflate)\(\$\w+\);)+eval\(\$\w+\);~msi', 'id' => 'flamux', ), array( 'full' => '~function\s*(\w+)\(\)\{\s*return\s*"([^"]+)";\s*\}\s*eval\("([^"]+)"\.\1\(\)\."([^"]+)"\);~msi', 'fast' => '~function\s*(\w+)\(\)\{\s*return\s*"([^"]+)";\s*\}\s*eval\("([^"]+)"\.\1\(\)\."([^"]+)"\);~msi', 'id' => 'bypass', ), array( 'full' => '~(\$\{"[\\\\x47c2153fGLOBALS]+"\}\["[\w\\\\]+"\]="[\w\\\\]+";(\$\w+="\w+";)?){5,}.+\$\{"[\\\\x47c2153fGLOBALS]+"\}\["[\w\\\\]+"\].+}+~msi', 'fast' => '~(\$\{"[\\\\x47c2153fGLOBALS]+"\}\["[\w\\\\]+"\]="[\w\\\\]+";(\$\w+="\w+";)?){5,}.+\$\{"[\\\\x47c2153fGLOBALS]+"\}\["[\w\\\\]+"\].+}+~msi', 'id' => 'Obf_20200618_1', ), array( 'full' => '~(?:\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";)+(echo)\s*"(?:[<\w\\\\>\/\s={:}#]+);(?:[\\\\\w\-:]+;)+(?:[\\\\\w}:{\s#]+;)+(?:[\\\\\w}:{#\-\s]+;)+[\\\\\w}<\/]+";\$\w+=["\\\\\w]+;(?:\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";)+\$\w+=["\\\\\w]+;\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";error_reporting\(\d\);\$\w+=["\\\\\w]+;\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\$\w+=["\\\\\w]+;set_time_limit\(\d\);\$\w+=["\\\\\w]+;(?:\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";)+(if\(empty\()[\$_\w\["\\\\\]]+\)\){\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=[\w()]+;(}else{)\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=[\$_\w\["\\\\\]]+;}chdir\(\${\$\w+}\);\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=htmlentities\(\$[_\w\["\\\\\].?]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\);\1[<\\\\\w>\/"]+;\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";(?:\$\w+=["\w\\\\]+;)+(?:\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;)+\$\w+=["\w\\\\]+;\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\1["\\\\\w<>=\s\'.]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."\\\\\w=\s\/<>]+;(?:\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";)+\1["<\\\\\w\s\'.\${}>\/]+;\1["<\\\\\w>\s\'.]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."&\w\\\\\'<\/]+;\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\$\w+=["\\\\\w]+;\1["<\\\\\w>\s=\'.\${}&\/]+;(?:\1["<\\\\\w>\/]+;)+\$\w+=["\\\\\w]+;\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=[\$_\w\["\\\\\]]+;\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";switch\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\){case"[\w\\\\\s]+":(?:\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=[\$_\w\["\\\\\]]+;)+\2\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){(?:\$\w+=["\\\\\w]+;)+(?:\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";)+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=fopen\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]},"\w"\);\$\w+=["\\\\\w]+;\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=(?:(?|fread|filesize)\(\${\$\w+},?)+\)\);\${\$\w+}=str_replace\("[\w\\\\\s]+",[<\w\\\\>"]+,\${\$\w+}\);\1["\\\\\w<>=\s\'.]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."\\\\\w=\s\/<>&\${}\']+;\1["\\\\\w\s.:]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\."[\w\\\\\s]+";\1["\\\\\w\s\'=]+\.\${\$\w+}\.["<\w\\\\>]+;\1["<\\\\\w>\s=\'\/;]+\3\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";(?:\$\w+=["\w\\\\]+;)+\${\$\w+}=fopen\(\${\$\w+},"\w"\);if\(fwrite\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]},\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\1\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."\s\\\\\w]+;\3\1["\\\\\w\s.]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."<\\\\\w]+;}}fclose\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\);(break;case")[\w\\\\\s]+":\${\$\w+}=[\$_\w\["\]\\\\]+;if\(unlink\([\${}\w]+\)\){\1\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\.["\s\w\\\\.>]+;\3\$\w+=["\w\\\\]+;\1["\\\\\w\s.${}<]+;}\4[\w\\\\\s]+":(?:\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=[\$_\w\["\\\\\]]+;)+\2\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\1["<\w\\\\\s=.]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}.["\\\\\w&.]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."\\\\\w\s=]+;(?:\1["\w\\\\:\s\'><=\/]+;)+\3(?:\$\w+=["\w\\\\]+;)+if\(copy\(\${\$\w+},\${\$\w+}\)\){\1"[\w\\\\\s]+";\3\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\1"[\w\\\\\s]+"\.\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."<\w>\\\\=&]+;}}\4[\w\\\\\s]+":(?:\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=[\$_\w\["\\\\\]]+;)+\2\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){\1"[\w\\\\\s]+"\.\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."<\w>\\\\=&]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."\'\\\\\w\s=>]+;\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;\1["\\\\\w\s\'=>\/;]+\3if\(rename\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]},\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;\3\$\w+=["\w\\\\]+;\1"[\w\\\\\s]+"\.\${\$\w+}[."\\\\\w>;]+}}\4[\w\\\\\s]+":\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=[\$_\w\["\\\\\]]+;\${\$\w+}=[\$_\w\["\]\\\\]+;\2\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\1["\\\\\w\s\'.]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\.["\\\\\w=.]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\.["\\\\\w\s>]+;(?:\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;)+\1["\\\\\w\s=\'<\/;]+\3if\(rename\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]},\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;\3\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\1"[\w\\\\\s]+"\.\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."<\w>\\\\=&]+;}}\4[\w\\\\\s]+":\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=[\$_\w\["\\\\\]]+;if\(rmdir\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;\3\$\w+=["\\\\\w]+;\1"[\w\\\\\s]+"\.\${\$\w+}[."\\\\\w]+;}\4[\w\\\\\s]+":\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=[\$_\w\["\\\\\]]+;\2\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){(?:\1["\\\\\w\s=.\${}\[\]&\':\/<>]+;)+\3\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";system\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\);}\4[\w\\\\\s]+":\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=[\$_\w\["\\\\\]]+;\2\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){\$\w+=["\w\\\\]+;(?:\1["\\\\\w\s=.\${}\[\]&\':\/<>]+;)+\3\$\w+=["\w\\\\]+;if\(\${\$\w+}=fopen\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]},"\w"\)\){\1["\\\\\w\s=.\${}\[\]&\':\/<>]+;\3\$\w+=["\w\\\\]+;\1["\\\\\w\s=.\${}\[\]&\':\/<>]+;}\$\w+=["\w\\\\]+;fclose\(\${\$\w+}\);}\4[\w\\\\\s]+":\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=[\$_\w\["\\\\\]]+;\${\$\w+}=basename\([\$_\w\["\\\\\]]+\);\2\${\$\w+}\)\){\1["<\\\\\w\s=\'.]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\.["&\w\\\\\s=\/\-\'>]+;(?:\1["\\\\\w\s=.\${}\[\]&\':\/<>]+;)+\3\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";if\(move_uploaded_file\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]},\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;unlink\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\);\3\1"[\w\\\\\s]+"\.\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."<\w>\\\\=&]+;}}\4[\w\\\\\s]+":\${\$\w+}=[\$_\w\["\]\\\\]+;\2\${\$\w+}\)\){(?:\1["\\\\\w\s=.\${}\[\]&\':\/<>]+;)+\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;\1["\\\\\w\s=.\${}\[\]&\':\/<>]+;\3\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\$\w+=["\\\\\w]+;\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=explode\(":",\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\);if\(\(!is_numeric\(\${\$\w+}\[\d\]\)\)or\(!is_numeric\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\[\d\]\)\)\){\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;\3(?:\$\w+=["\w\\\\]+;)+\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\$\w+=["\w\\\\]+;(?:\${\$\w+}=\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\[\d\];)+\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;while\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}<=\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\){\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\$\w+=["\\\\\w]+;\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=\d;\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=fsockopen\(\$\w+,\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)or\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=\d;if\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}==\d\){\$\w+=["\\\\\w]+;echo\${\$\w+}\.["\\\\\w>]+;}\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\+\+;fclose\(\${\$\w+}\);}}}break;}clearstatcache\(\);(?:\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;){2}\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=scandir\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\);foreach\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\s\w+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\){if\(is_file\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){(?:\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";)+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=round\(filesize\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\/\d+,\d\);\$\w+=["\w\\\\]+;\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\1["<\\\\\w>.\s=]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."<\/\w\\\\>;]+\$\w+=["\\\\\w]+;\1["<\\\\\w>.\s=]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."\\\\\w\s<\/>]+;\1["<\\\\\w>.\s=]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."\\\\\w=&]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."\\\\\w\/<>;]+\$\w+=["\\\\\w]+;\1"[\w\\\\\s]+"\.\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."<\w>\\\\=&]+\${\$\w+}[.">\w\\\\\/<]+;(?:\1["\\\\\w\s=.\${}\[\]&\':\/<>]+;)+\3(?:\$\w+=["\\\\\w]+;){2}\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=scandir\(\${\$\w+}\);(?:\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";){2}\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=count\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\-\d;\1"[\w\\\\\s]+"\.\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."<\w>\\\\=&]+\/\w+>";\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\1["<\\\\\w>.\s=]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."\\\\\w\s=<\/]+;(?:\1["\\\\\w\s=.\${}\[\]&\':\/<>]+;){3}}}\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;~msi', 'fast' => '~(?:\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";)+(echo)\s*"(?:[<\w\\\\>\/\s={:}#]+);(?:[\\\\\w\-:]+;)+(?:[\\\\\w}:{\s#]+;)+(?:[\\\\\w}:{#\-\s]+;)+[\\\\\w}<\/]+";\$\w+=["\\\\\w]+;(?:\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";)+\$\w+=["\\\\\w]+;\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";error_reporting\(\d\);\$\w+=["\\\\\w]+;\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\$\w+=["\\\\\w]+;set_time_limit\(\d\);\$\w+=["\\\\\w]+;(?:\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";)+(if\(empty\()[\$_\w\["\\\\\]]+\)\){\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=[\w()]+;(}else{)\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=[\$_\w\["\\\\\]]+;}chdir\(\${\$\w+}\);\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=htmlentities\(\$[_\w\["\\\\\].?]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\);\1[<\\\\\w>\/"]+;\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";(?:\$\w+=["\w\\\\]+;)+(?:\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;)+\$\w+=["\w\\\\]+;\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\1["\\\\\w<>=\s\'.]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."\\\\\w=\s\/<>]+;(?:\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";)+\1["<\\\\\w\s\'.\${}>\/]+;\1["<\\\\\w>\s\'.]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."&\w\\\\\'<\/]+;\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\$\w+=["\\\\\w]+;\1["<\\\\\w>\s=\'.\${}&\/]+;(?:\1["<\\\\\w>\/]+;)+\$\w+=["\\\\\w]+;\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=[\$_\w\["\\\\\]]+;\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";switch\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\){case"[\w\\\\\s]+":(?:\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=[\$_\w\["\\\\\]]+;)+\2\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){(?:\$\w+=["\\\\\w]+;)+(?:\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";)+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=fopen\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]},"\w"\);\$\w+=["\\\\\w]+;\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=(?:(?|fread|filesize)\(\${\$\w+},?)+\)\);\${\$\w+}=str_replace\("[\w\\\\\s]+",[<\w\\\\>"]+,\${\$\w+}\);\1["\\\\\w<>=\s\'.]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."\\\\\w=\s\/<>&\${}\']+;\1["\\\\\w\s.:]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\."[\w\\\\\s]+";\1["\\\\\w\s\'=]+\.\${\$\w+}\.["<\w\\\\>]+;\1["<\\\\\w>\s=\'\/;]+\3\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";(?:\$\w+=["\w\\\\]+;)+\${\$\w+}=fopen\(\${\$\w+},"\w"\);if\(fwrite\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]},\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\1\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."\s\\\\\w]+;\3\1["\\\\\w\s.]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."<\\\\\w]+;}}fclose\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\);(break;case")[\w\\\\\s]+":\${\$\w+}=[\$_\w\["\]\\\\]+;if\(unlink\([\${}\w]+\)\){\1\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\.["\s\w\\\\.>]+;\3\$\w+=["\w\\\\]+;\1["\\\\\w\s.${}<]+;}\4[\w\\\\\s]+":(?:\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=[\$_\w\["\\\\\]]+;)+\2\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\1["<\w\\\\\s=.]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}.["\\\\\w&.]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."\\\\\w\s=]+;(?:\1["\w\\\\:\s\'><=\/]+;)+\3(?:\$\w+=["\w\\\\]+;)+if\(copy\(\${\$\w+},\${\$\w+}\)\){\1"[\w\\\\\s]+";\3\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\1"[\w\\\\\s]+"\.\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."<\w>\\\\=&]+;}}\4[\w\\\\\s]+":(?:\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=[\$_\w\["\\\\\]]+;)+\2\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){\1"[\w\\\\\s]+"\.\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."<\w>\\\\=&]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."\'\\\\\w\s=>]+;\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;\1["\\\\\w\s\'=>\/;]+\3if\(rename\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]},\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;\3\$\w+=["\w\\\\]+;\1"[\w\\\\\s]+"\.\${\$\w+}[."\\\\\w>;]+}}\4[\w\\\\\s]+":\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=[\$_\w\["\\\\\]]+;\${\$\w+}=[\$_\w\["\]\\\\]+;\2\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\1["\\\\\w\s\'.]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\.["\\\\\w=.]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\.["\\\\\w\s>]+;(?:\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;)+\1["\\\\\w\s=\'<\/;]+\3if\(rename\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]},\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;\3\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\1"[\w\\\\\s]+"\.\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."<\w>\\\\=&]+;}}\4[\w\\\\\s]+":\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=[\$_\w\["\\\\\]]+;if\(rmdir\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;\3\$\w+=["\\\\\w]+;\1"[\w\\\\\s]+"\.\${\$\w+}[."\\\\\w]+;}\4[\w\\\\\s]+":\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=[\$_\w\["\\\\\]]+;\2\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){(?:\1["\\\\\w\s=.\${}\[\]&\':\/<>]+;)+\3\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";system\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\);}\4[\w\\\\\s]+":\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=[\$_\w\["\\\\\]]+;\2\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){\$\w+=["\w\\\\]+;(?:\1["\\\\\w\s=.\${}\[\]&\':\/<>]+;)+\3\$\w+=["\w\\\\]+;if\(\${\$\w+}=fopen\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]},"\w"\)\){\1["\\\\\w\s=.\${}\[\]&\':\/<>]+;\3\$\w+=["\w\\\\]+;\1["\\\\\w\s=.\${}\[\]&\':\/<>]+;}\$\w+=["\w\\\\]+;fclose\(\${\$\w+}\);}\4[\w\\\\\s]+":\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=[\$_\w\["\\\\\]]+;\${\$\w+}=basename\([\$_\w\["\\\\\]]+\);\2\${\$\w+}\)\){\1["<\\\\\w\s=\'.]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\.["&\w\\\\\s=\/\-\'>]+;(?:\1["\\\\\w\s=.\${}\[\]&\':\/<>]+;)+\3\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";if\(move_uploaded_file\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]},\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;unlink\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\);\3\1"[\w\\\\\s]+"\.\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."<\w>\\\\=&]+;}}\4[\w\\\\\s]+":\${\$\w+}=[\$_\w\["\]\\\\]+;\2\${\$\w+}\)\){(?:\1["\\\\\w\s=.\${}\[\]&\':\/<>]+;)+\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;\1["\\\\\w\s=.\${}\[\]&\':\/<>]+;\3\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\$\w+=["\\\\\w]+;\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=explode\(":",\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\);if\(\(!is_numeric\(\${\$\w+}\[\d\]\)\)or\(!is_numeric\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\[\d\]\)\)\){\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;\3(?:\$\w+=["\w\\\\]+;)+\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\$\w+=["\w\\\\]+;(?:\${\$\w+}=\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\[\d\];)+\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;while\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}<=\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\){\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\$\w+=["\\\\\w]+;\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=\d;\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=fsockopen\(\$\w+,\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)or\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=\d;if\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}==\d\){\$\w+=["\\\\\w]+;echo\${\$\w+}\.["\\\\\w>]+;}\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\+\+;fclose\(\${\$\w+}\);}}}break;}clearstatcache\(\);(?:\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;){2}\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=scandir\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\);foreach\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\s\w+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\){if\(is_file\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\){(?:\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";)+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=round\(filesize\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\/\d+,\d\);\$\w+=["\w\\\\]+;\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\1["<\\\\\w>.\s=]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."<\/\w\\\\>;]+\$\w+=["\\\\\w]+;\1["<\\\\\w>.\s=]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."\\\\\w\s<\/>]+;\1["<\\\\\w>.\s=]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."\\\\\w=&]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."\\\\\w\/<>;]+\$\w+=["\\\\\w]+;\1"[\w\\\\\s]+"\.\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."<\w>\\\\=&]+\${\$\w+}[.">\w\\\\\/<]+;(?:\1["\\\\\w\s=.\${}\[\]&\':\/<>]+;)+\3(?:\$\w+=["\\\\\w]+;){2}\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=scandir\(\${\$\w+}\);(?:\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";){2}\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}=count\(\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}\)\-\d;\1"[\w\\\\\s]+"\.\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."<\w>\\\\=&]+\/\w+>";\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]="[\w\\\\\s]+";\1["<\\\\\w>.\s=]+\${\${"[\w\\\\\s]+"}\["[\w\\\\\s]+"\]}[."\\\\\w\s=<\/]+;(?:\1["\\\\\w\s=.\${}\[\]&\':\/<>]+;){3}}}\1["\\\\\w:\s.\$\[\]>()_\'<\/%]+;~msi', 'id' => 'darkShell', ), array( 'full' => '~(\$\w+)=\'([\w\(;\$\)=\s\[\/\]."*]+)\';(\$\w+)=(?:\1\[[-+\(\d*\/\)]+\]\.?)+;(\$\w+)=(?:\1\[[-+\(\d*\/\)]+\]\.?)+;(\$\w+)=(?:\1\[[-+\(\d*\/\)]+\]\.?)+;(\$\w+)=\s+"([\'\w\/+]+)";(\$\w+)\.=\4;\8\.=\6;\8\.=\5;@(\$\w+)=\3\(\(\'+\),\s+\(\8\)\);@\9\(\);~msi', 'fast' => '~(\$\w+)=\'([\w\(;\$\)=\s\[\/\]."*]+)\';(\$\w+)=(?:\1\[[-+\(\d*\/\)]+\]\.?)+;(\$\w+)=(?:\1\[[-+\(\d*\/\)]+\]\.?)+;(\$\w+)=(?:\1\[[-+\(\d*\/\)]+\]\.?)+;(\$\w+)=\s+"([\'\w\/+]+)";(\$\w+)\.=\4;\8\.=\6;\8\.=\5;@(\$\w+)=\3\(\(\'+\),\s+\(\8\)\);@\9\(\);~msi', 'id' => 'wso' ), array( 'full' => '~error_reporting\(\d+\);\s*function\s*class_uc_key\((\$\w+)\){\s*(\$\w+)\s*=\s*strlen\s*\(trim\(\1\)\);\s*(\$\w+)\s*=\s*\'\';\s*for\((\$\w+)\s*=\s*0;\4\s*<\s*\2;\4\+=2\)\s*{\s*\3\s*\.=\s*pack\s*\("C",hexdec\s*\(substr\s\(\1,\4,2\)\)\);\s*}\s*return\s*\3;\s*}\s*header\("\w+-\w+:\s\w+\/\w+;\s*charset=(\w+)"\);\s*(\$\w+)=class_uc_key\("(6576616C28677A756E636F6D7072657373286261736536345F6465636F64652827)"\)\.\'([\w\/\+=\\\\]+\'\)\)\);)\';\s*(\$\w+)=create_function\(\'\',\6\);\9\(\);~msi', 'fast' => '~\w+\(\d+\);\s*function\s*class_uc_key\((\$\w+)\){\s*(\$\w+)\s*=\s*strlen\s*\(trim\(\1\)\);\s*(\$\w+)\s*=\s*\'\';\s*for\((\$\w+)\s*=\s*0;\4\s*<\s*\2;\4\+=2\)\s*{\s*\3\s*\.=\s*pack\s*\("C",hexdec\s*\(substr\s\(\1,\4,2\)\)\);\s*}\s*return\s*\3;\s*}\s*header\("\w+-\w+:\s\w+\/\w+;\s*charset=(\w+)"\);\s*(\$\w+)=class_uc_key\("(6576616C28677A756E636F6D7072657373286261736536345F6465636F64652827)"\)\.\'([\w\/\+=\\\\]+\'\)\)\);)\';\s*(\$\w+)=\w+\(\'\',\6\);\9\(\);~msi', 'id' => 'anonymousFox' ), array( 'full' => '~<\?php\s\$\w+=urldecode\(\'[%\w]+\'\);(?:\$\w+\.?=(?:\$\w+\{\d+\}\.?)+;)+\?><\?php\s(eval\(\$GLOBALS\[\'\w+\'\]\(\'(\w+)\'\)\);)\s\?><\?php\s\/\*\sBizden\soncekiler\sdemo\s\*\/(?:\$\w+\.?=(?:\$\w+\{?\d+\}?\.?)+;)+\$\w+=__FILE__;\$\w+=\w+;(eval\(\$\w+\(\'(\w+=)\'\)\);)return;\?[>\w|@[`\~=\+\/]+~msi', 'fast' => '~<\?php\s\$\w+=urldecode\(\'[%\w]+\'\);(?:\$\w+\.?=(?:\$\w+\{\d+\}\.?)+;)+\?><\?php\s(eval\(\$GLOBALS\[\'\w+\'\]\(\'(\w+)\'\)\);)\s\?><\?php\s(?:\/\*\sBizden\soncekiler\sdemo\s\*\/)?(?:\$\w+\.?=(?:\$\w+\{?\d+\}?\.?)+;)+\$\w+=__FILE__;\$\w+=\w+;(eval\(\$\w+\(\'(\w+=)\'\)\);)return;\?[>\w|@[`\~=\+\/]+~msi', 'id' => 'bizden' ), array( 'full' => '~(\$my_sucuri_encoding)\s{0,10}=\s{0,10}[\'"]([^\'"]+)[\'"];\s{0,10}(\$tempb64)\s{0,10}=\s{0,10}base64_decode\(\s{0,10}\1\);\s{0,10}eval\(\s{0,10}\3\s{0,10}\);~msi', 'fast' => '~(\$my_sucuri_encoding)\s{0,10}=\s{0,10}[\'"]([^\'"]+)[\'"];\s{0,10}(\$tempb64)\s{0,10}=\s{0,10}base64_decode\(\s{0,10}\1\);\s{0,10}eval\(\s{0,10}\3\s{0,10}\);~msi', 'id' => 'wsoEval' ), array( 'full' => '~\$fun\s=\s\'ass\';\$fun\s\.=\s\'ert\';@\$fun\(str_rot13\(\'(.*;)\'\)\);~msi', 'fast' => '~\$fun\s=\s\'ass\';\$fun\s\.=\s\'ert\';@\$fun\(str_rot13\(\'(.*;)\'\)\);~msi', 'id' => 'assertStr' ), array( 'full' => '~(function\s\w+\(\$\w+,\$\w+,\$\w+\){return\sstr_replace\(\$\w+,\$\w+,\$\w+\);}\s?){3}(\$\w+)\s=\s\'(\w+)\';\s\2\s=\s(\w+)\(\'(\w+)\',\'\',\2\);\s(\$\w+)\s=\s\'(\w+)\';\s\6\s=\s\4\(\'(\w+)\',\'\',\6\);\s(\$\w+)\s=\s\'(\w+)\';\s\9\s=\s\4\(\'(\w+)\',\'\',\9\);\s(\$\w+)\s=\s\'(\$\w+)\';\s(\$\w+)\s=\s\6\(\12,\9\.\'\(\'\.\2\.\'\(\'\.\12\.\'\)\);\'\);\s\14\(\'(\w+)\'\);~msi', 'fast' => '~(function\s\w+\(\$\w+,\$\w+,\$\w+\){return\sstr_replace\(\$\w+,\$\w+,\$\w+\);}\s?){3}(\$\w+)\s=\s\'(\w+)\';\s\2\s=\s(\w+)\(\'(\w+)\',\'\',\2\);\s(\$\w+)\s=\s\'(\w+)\';\s\6\s=\s\4\(\'(\w+)\',\'\',\6\);\s(\$\w+)\s=\s\'(\w+)\';\s\9\s=\s\4\(\'(\w+)\',\'\',\9\);\s(\$\w+)\s=\s\'(\$\w+)\';\s(\$\w+)\s=\s\6\(\12,\9\.\'\(\'\.\2\.\'\(\'\.\12\.\'\)\);\'\);\s\14\(\'(\w+)\'\);~msi', 'id' => 'funcVar' ), array( 'full' => '~(\$\w+)=[\'"](\w+)[\'"];(\$\w+=(?:\s?\1\[\d+\](?:\s?\.?))+;)+((?:\$\w+\(\d+\);)?(\$\w+=(\$\w+)\(["\']{2},(\$\w+\(\$\w+\(["\'][=\w\+\/]+[\'"]\)\))\);\$\w+\(\);))~msi', 'fast' => '~(\$\w+)=[\'"](\w+)[\'"];(\$\w+=(?:\s?\1\[\d+\](?:\s?\.?))+;)+((?:\$\w+\(\d+\);)?(\$\w+=(\$\w+)\(["\']{2},(\$\w+\(\$\w+\(["\'][=\w\+\/]+[\'"]\)\))\);\$\w+\(\);))~msi', 'id' => 'dictionaryVars' ), array( 'full' => '~(?:(?<concatVar>\$\w+)\s?=\s?""\s?;((?:\s?(?P=concatVar)\s?\.=\s?"[\w]+"\s?;\s?)+))?(\$\w+)\s?=\s?(?:(?P=concatVar)|"(?<strVal>[\w]+)")\s?;\s?if\s?\(\s?!function_exists\s?\(\s?"(\w+)"\)\){function\s\5\(\s?(\$\w+)\){\s?(?:\$\w+=\s?""\s?;)?\s?(\$\w+)\s?=\s?strlen\s?\(\s?\6\s?\)\s?\/\s?2\s?;\s?for\s?\(\s?(\$\w+)\s?=0\s?;\s?\8\s?<\s?\7\s?;\s?\8\+\+\s?\)\s?{\s?\$\w+\s?\.=\s?chr\s?\(\s?base_convert\s?\(\s?substr\s?\(\s?\6\s?,\s?\8\s?\*\s?2\s?,\s?2\s?\)\s?,\s?16\s?,\s?10\s?\)\s?\)\s?;\s?}\s?return\s?\$\w+;\s?}\s?}\s?\$\w+\s?=\s?create_function\s?\(\s?null\s?,\s?\5\(\s?\3\)\)\s?;\s?\3\(\)\s?;~msi', 'fast' => '~(?:(?<concatVar>\$\w+)\s?=\s?""\s?;((?:\s?(?P=concatVar)\s?\.=\s?"[\w]+"\s?;\s?)+))?(\$\w+)\s?=\s?(?:(?P=concatVar)|"(?<strVal>[\w]+)")\s?;\s?if\s?\(\s?!function_exists\s?\(\s?"(\w+)"\)\){function\s\5\(\s?(\$\w+)\){\s?(?:\$\w+=\s?""\s?;)?\s?(\$\w+)\s?=\s?strlen\s?\(\s?\6\s?\)\s?\/\s?2\s?;\s?for\s?\(\s?(\$\w+)\s?=0\s?;\s?\8\s?<\s?\7\s?;\s?\8\+\+\s?\)\s?{\s?\$\w+\s?\.=\s?chr\s?\(\s?base_convert\s?\(\s?substr\s?\(\s?\6\s?,\s?\8\s?\*\s?2\s?,\s?2\s?\)\s?,\s?16\s?,\s?10\s?\)\s?\)\s?;\s?}\s?return\s?\$\w+;\s?}\s?}\s?\$\w+\s?=\s?create_function\s?\(\s?null\s?,\s?\5\(\s?\3\)\)\s?;\s?\3\(\)\s?;~msi', 'id' => 'concatVarFunc' ), array( 'full' => '~function\s?(\w+)\(\){(((\$\w+)\.?="\w+";)+)return\seval\(\4\(\w+\(\)\)\);}function\s(\w+)\((\$\w+)\){((?:(\$\w+)\.?="\w+";)+)return\s\8\(\6\);}function\s?(\w+)\(\){((\$\w+)\.?="([\w\/+=]+)";)return\s(\w+)\(\11\);}function\s\13\((\$\w+)\){(\$\w+)=(\w+)\((\w+)\((\w+)\(\14\)\)\);return\s\15;}function\s\17\(\14\){(((\$\w+)\.?="\w+";)+)return\s\21\(\14\);}\1\(\);function\s\16\(\14\){(((\$\w+)\.?="\w+";)+)return\s\24\(\14\);}~msi', 'fast' => '~function\s?(\w+)\(\){(((\$\w+)\.?="\w+";)+)return\seval\(\4\(\w+\(\)\)\);}function\s(\w+)\((\$\w+)\){((?:(\$\w+)\.?="\w+";)+)return\s\8\(\6\);}function\s?(\w+)\(\){((\$\w+)\.?="([\w\/+=]+)";)return\s(\w+)\(\11\);}function\s\13\((\$\w+)\){(\$\w+)=(\w+)\((\w+)\((\w+)\(\14\)\)\);return\s\15;}function\s\17\(\14\){(((\$\w+)\.?="\w+";)+)return\s\21\(\14\);}\1\(\);function\s\16\(\14\){(((\$\w+)\.?="\w+";)+)return\s\24\(\14\);}~msi', 'id' => 'concatVarFuncFunc' ), array( 'full' => '~(?:(?:\s?\$\w+\s?=\s?strrev\("\w+"\);\s?)|(?:\s?\$\w+\s?=\s?strrev\("\w+"\);\s?)|(?:\s?eval\((?:\$\w+)?\([\'"][\w=]+[\'"]\)\);\s?)|(?:\s?eval\(\$\w+\(\$\w+\(\'[\w\/+=]+\'\)\)\);\s?)){3,4}~msi', 'fast' => '~(?:(?:\s?\$\w+\s?=\s?strrev\("\w+"\);\s?)|(?:\s?\$\w+\s?=\s?strrev\("\w+"\);\s?)|(?:\s?eval\((?:\$\w+)?\([\'"][\w=]+[\'"]\)\);\s?)|(?:\s?eval\(\$\w+\(\$\w+\(\'[\w\/+=]+\'\)\)\);\s?)){3,4}~msi', 'id' => 'evalVarDoubled' ), array( 'full' => '~(\$\w+)\s?=\s?(\w+)\("([\w+\/=]+)"\);\s?echo\s?\1;~msi', 'fast' => '~(\$\w+)\s?=\s?(\w+)\("([\w+\/=]+)"\);\s?echo\s?\1;~msi', 'id' => 'varFuncsEcho' ), array( 'full' => '~(\$\w+)="";\s?(\$\w+)=(\d+);\s?(\$\w+)=((?:\'[\w%]+\'\.?)+);\s(\$\w+)=((?:\4\[\d+\]\.?)+);\s?function\s\w+\(\){(?:.*?);\s}\s?\1=\w+\(\1,"\w+"\);\s?\$\w+=array\((?:\'\w+\',?)+\);\s\1=\w+\(\1,\sjoin\(\'\',\s\$\w+\)\s?\);\s?\$\w+\+=\d+;\s?\1=\w+\(\1,\w+\(\)\);\sfunction\s\w+\(\){(?:.*?);\s}\s\$\w+=\w+\(\);\s\$\w+=\w+\(\);\s\1\s?\.=\s?\$\w+\(\s?\$\w+\(\$\w+{\d+}\.\$\w+{\d+},\s?\d+\),\s?(?:\d+\,?\s?)+\);(?:.*?)if\(\$\w+==\d+\)(?:.*?)while\s\(\d+>\d\);(?:.*?)\s?if\s?\(216<230\)(?:.*?)while\s\(4>10\);\s\$\w+\s=\s\$\w+\("",\s\$\w+\(\$\w+\)\s\);\s\$\w+\(\);\s(?:(?:\s?function\s\w+\(\)(?:.*?);\s})|(?:\s?class\s\w+\s?{(?:.*?);(?:\s}){1,2}))+~msi', 'fast' => '~(\$\w+)="";\s?(\$\w+)=(\d+);\s?(\$\w+)=((?:\'[\w%]+\'\.?)+);\s(\$\w+)=((?:\4\[\d+\]\.?)+);\s?function\s\w+\(\){(?:.*?);\s}\s?\1=\w+\(\1,"\w+"\);\s?\$\w+=array\((?:\'\w+\',?)+\);\s\1=\w+\(\1,\sjoin\(\'\',\s\$\w+\)\s?\);\s?\$\w+\+=\d+;\s?\1=\w+\(\1,\w+\(\)\);\sfunction\s\w+\(\){(?:.*?);\s}\s\$\w+=\w+\(\);\s\$\w+=\w+\(\);\s\1\s?\.=\s?\$\w+\(\s?\$\w+\(\$\w+{\d+}\.\$\w+{\d+},\s?\d+\),\s?(?:\d+\,?\s?)+\);(?:.*?)if\(\$\w+==\d+\)(?:.*?)while\s\(\d+>\d\);(?:.*?)\s?if\s?\(216<230\)(?:.*?)while\s\(4>10\);\s\$\w+\s=\s\$\w+\("",\s\$\w+\(\$\w+\)\s\);\s\$\w+\(\);\s(?:(?:\s?function\s\w+\(\)(?:.*?);\s})|(?:\s?class\s\w+\s?{(?:.*?);(?:\s}){1,2}))+~msi', 'id' => 'varFuncsMany' ), array( 'full' => '~((\$(?:GLOBALS|{"[\\\\\w]+"})\[[\'"]\w+["\']\])\s?=\s?[\'"]+([\\\\\w]+)["\'];)\s?(?:(\$GLOBALS\[?(\s?(?:\2|\$GLOBALS\[\'\w+\'\])\[\d+\]\.?)+\])\s?=\s?\g<5>+;\s?)+(?:\g<4>\s?=\s[\$_\w]+;\s)+(?:@\g<4>\(\g<5>+\s?,\s?\w+\s?\);\s?)+@\g<4>\(\d+\);\s{0,50}(?:if\s?\(!\g<4>\s?\(\g<5>+\)\)\s{\s{0,50}\g<4>\(\g<5>+,\s\g<5>*\d*\);\s{0,50}}?\s{0,50})*(?:\$\w+\s?=\s?\w+;\s?)*\g<4>\s?=\s\g<5>+;\s?global\s?\$\w+;\s?function\s\w+\(\$\w+,\s\$\w+\)\s{\s?\$\w+\s?=\s?["\']{2};\s?for\s?\(\$\w+\s?=\d+;\s?\$\w+\s?<\s?\g<4>\(\$\w+\)\s?;\s?\)\s?{\s?for\s?\(\s?\$\w+=\d+;\s?\$\w+\s?<\s?\g<4>\(\$\w+\)\s?&&\s?\$\w+\s?<\g<4>\(\$\w+\);\s?\$\w+\+{2},\s?\$\w+\+{2}\)\s?{\s?\$\w+\s?\.=\s?\g<4>\(\g<4>\(\$\w+\[\$\w+\]\)\s?\^\s?\g<4>\(\$\w+\[\$\w+\]\)\);\s?}\s?}\s?return\s\$\w+;\s?}\s?function\s?\w+\(\$\w+,\s?\$\w+\)\s?{\s?global\s?\$\w+;\s?return\s\g<4>\(\g<4>\(\$\w+,\s?\$\w+\),\s?\$\w+\)\s?;\s?}\s?foreach\s?\(\g<4>\sas\s\$\w+=>\$\w+\)\s?{\s?\$\w+\s?=\s?\$\w+;\s?\$\w+\s?=\s?\$\w+;\s?}\s?if\s?\(!\$\w+\)\s?{\s?foreach\s?\(\g<4>\sas\s\$\w+\s?=>\s?\$\w+\)\s?{\s?\$\w+\s?=\s?\$\w+;\s?\$\w+\s?=\s?\$\w+;\s?}\s?}\s?\$\w+\s?=\s?@\g<4>\(\g<4>\(@?\g<4>\(\$\w+\),\s?\$\w+\)\);\s?if\s?\(isset\(\$\w+\[\g<5>+\]\)\s?&&\s?\$\w+==\$\w+\[\g<5>+\]\)\s?{\s?if\s?\(\$\w+\[\g<5>\]\s?==\s?\g<5>\)\s?{\s?\$\w+\s?=\s?array\(\s?\g<5>+\s?=>\s?@\g<4>\(\),\s?\g<5>+\s?=>\s?\g<5>+,\s?\);\s?echo\s?@\g<4>\(\$\w+\);\s?}\s?elseif\s?\(\$\w+\[\g<5>\]\s?==\s?\g<5>\)\s?{\s?eval\(\$\w+\[\g<5>\]\);\s?}\s?(?:exit\(\);)?\s?}\s?}?~msi', 'fast' => '~((\$(?:GLOBALS|{"[\\\\\w]+"})\[[\'"]\w+["\']\])\s?=\s?[\'"]+([\\\\\w]+)["\'];)\s?(?:(\$GLOBALS\[?(\s?(?:\2|\$GLOBALS\[\'\w+\'\])\[\d+\]\.?)+\])\s?=\s?\g<5>+;\s?)+(?:\g<4>\s?=\s[\$_\w]+;\s)+(?:@\g<4>\(\g<5>+\s?,\s?\w+\s?\);\s?)+@\g<4>\(\d+\);\s{0,50}(?:if\s?\(!\g<4>\s?\(\g<5>+\)\)\s{\s{0,50}\g<4>\(\g<5>+,\s\g<5>*\d*\);\s{0,50}}?\s{0,50})*(?:\$\w+\s?=\s?\w+;\s?)*\g<4>\s?=\s\g<5>+;\s?global\s?\$\w+;\s?function\s\w+\(\$\w+,\s\$\w+\)\s{\s?\$\w+\s?=\s?["\']{2};\s?for\s?\(\$\w+\s?=\d+;\s?\$\w+\s?<\s?\g<4>\(\$\w+\)\s?;\s?\)\s?{\s?for\s?\(\s?\$\w+=\d+;\s?\$\w+\s?<\s?\g<4>\(\$\w+\)\s?&&\s?\$\w+\s?<\g<4>\(\$\w+\);\s?\$\w+\+{2},\s?\$\w+\+{2}\)\s?{\s?\$\w+\s?\.=\s?\g<4>\(\g<4>\(\$\w+\[\$\w+\]\)\s?\^\s?\g<4>\(\$\w+\[\$\w+\]\)\);\s?}\s?}\s?return\s\$\w+;\s?}\s?function\s?\w+\(\$\w+,\s?\$\w+\)\s?{\s?global\s?\$\w+;\s?return\s\g<4>\(\g<4>\(\$\w+,\s?\$\w+\),\s?\$\w+\)\s?;\s?}\s?foreach\s?\(\g<4>\sas\s\$\w+=>\$\w+\)\s?{\s?\$\w+\s?=\s?\$\w+;\s?\$\w+\s?=\s?\$\w+;\s?}\s?if\s?\(!\$\w+\)\s?{\s?foreach\s?\(\g<4>\sas\s\$\w+\s?=>\s?\$\w+\)\s?{\s?\$\w+\s?=\s?\$\w+;\s?\$\w+\s?=\s?\$\w+;\s?}\s?}\s?\$\w+\s?=\s?@\g<4>\(\g<4>\(@?\g<4>\(\$\w+\),\s?\$\w+\)\);\s?if\s?\(isset\(\$\w+\[\g<5>+\]\)\s?&&\s?\$\w+==\$\w+\[\g<5>+\]\)\s?{\s?if\s?\(\$\w+\[\g<5>\]\s?==\s?\g<5>\)\s?{\s?\$\w+\s?=\s?array\(\s?\g<5>+\s?=>\s?@\g<4>\(\),\s?\g<5>+\s?=>\s?\g<5>+,\s?\);\s?echo\s?@\g<4>\(\$\w+\);\s?}\s?elseif\s?\(\$\w+\[\g<5>\]\s?==\s?\g<5>\)\s?{\s?eval\(\$\w+\[\g<5>\]\);\s?}\s?(?:exit\(\);)?\s?}\s?}?~msi', 'id' => 'globalArrayEval' ), array( 'full' => '~<\?php\s{0,30}(\$\w+)\s{0,30}=\s{0,30}"(.+?)";\s{0,30}((?:\$\w+\s{0,30}=\s{0,30}(?:\1\[\'\w\s{0,30}\'\s{0,30}\+\s{0,30}\d+\s{0,30}\+\s{0,30}\'\s{0,30}\w\'\]\s{0,30}\.?\s{0,30})+;\s{0,30})+)(\$\w+)\s{0,30}=\s{0,30}"(\d+)";\s{0,30}(?:\$\w+\s{0,30}=\s{0,30}\$\w+\(\s{0,30}\$\w+\s{0,30},\s{0,30}\$\w+\(\s{0,30}"\s{0,30}"\)\s{0,30},\s{0,30}"[\w\+]+"\)\s{0,30};\s{0,30})+(?:\$\w+\s{0,30}=\s{0,30}\$\w+\(\s{0,30}\$\w+\(\s{0,30}\$\w+\)\s{0,30},\s{0,30}\$\w+\(\s{0,30}?\$\w+\)\s{0,30}\)\s{0,30};\s{0,30})+\$\w+\((?:\s{0,30}\$\w+\(\s{0,30}"\s{0,20}\w\s{0,20}"\)\s{0,30}\.?\s{0,30})+"\(\\\\"\w+\\\\"\s{0,30},\s{0,30}"\s{0,30}\.\s{0,30}\$\w+\(\s{0,30}\$\w+\(\s{0,30}"\d+"\s{0,30},\s{0,30}\$\w+\(\s{0,30}"\s{0,20}"\)\s{0,30},\s{0,30}"[\d\w=]+"\)\s{0,30}\)\s{0,30}\.\s{0,30}"\s{0,30}\)\s{0,30};"\)\s{0,30};\s{0,30}\$\w+\s{0,30}=\s{0,30}\$\w+\(\w+\)\s{0,30};\s{0,30}\$\w+\(\s{0,30}(?:\$\w+\(\s{0,30}"\s{0,30}[?>]\s{0,30}"\)\s{0,30}\.\s{0,30})+(\$\w+)\(\s{0,30}(\$\w+)\(\s{0,30}(\$\w+),\s{0,30}(\$\w+)\(\s{0,30}"\s{0,30}"\)\s{0,30},\s{0,30}(\$\w+)\(\s{0,30}"([()\w@|*#\[\]&\/\+=]+)"\s{0,30},\s{0,30}(\$\w+),\s{0,30}(\$\w+)\)\s{0,30}\)\)\s{0,30}\)\s{0,30};\s{0,30}\$\w+\s?=\s?\d+\s?;\s{0,30}\?>~msi', 'fast' => '~<\?php\s{0,30}(\$\w+)\s{0,30}=\s{0,30}"(.+?)";\s{0,30}((?:\$\w+\s{0,30}=\s{0,30}(?:\1\[\'\w\s{0,30}\'\s{0,30}\+\s{0,30}\d+\s{0,30}\+\s{0,30}\'\s{0,30}\w\'\]\s{0,30}\.?\s{0,30})+;\s{0,30})+)(\$\w+)\s{0,30}=\s{0,30}"(\d+)";\s{0,30}(?:\$\w+\s{0,30}=\s{0,30}\$\w+\(\s{0,30}\$\w+\s{0,30},\s{0,30}\$\w+\(\s{0,30}"\s{0,30}"\)\s{0,30},\s{0,30}"[\w\+]+"\)\s{0,30};\s{0,30})+(?:\$\w+\s{0,30}=\s{0,30}\$\w+\(\s{0,30}\$\w+\(\s{0,30}\$\w+\)\s{0,30},\s{0,30}\$\w+\(\s{0,30}?\$\w+\)\s{0,30}\)\s{0,30};\s{0,30})+\$\w+\((?:\s{0,30}\$\w+\(\s{0,30}"\s{0,20}\w\s{0,20}"\)\s{0,30}\.?\s{0,30})+"\(\\\\"\w+\\\\"\s{0,30},\s{0,30}"\s{0,30}\.\s{0,30}\$\w+\(\s{0,30}\$\w+\(\s{0,30}"\d+"\s{0,30},\s{0,30}\$\w+\(\s{0,30}"\s{0,20}"\)\s{0,30},\s{0,30}"[\d\w=]+"\)\s{0,30}\)\s{0,30}\.\s{0,30}"\s{0,30}\)\s{0,30};"\)\s{0,30};\s{0,30}\$\w+\s{0,30}=\s{0,30}\$\w+\(\w+\)\s{0,30};\s{0,30}\$\w+\(\s{0,30}(?:\$\w+\(\s{0,30}"\s{0,30}[?>]\s{0,30}"\)\s{0,30}\.\s{0,30})+(\$\w+)\(\s{0,30}(\$\w+)\(\s{0,30}(\$\w+),\s{0,30}(\$\w+)\(\s{0,30}"\s{0,30}"\)\s{0,30},\s{0,30}(\$\w+)\(\s{0,30}"([()\w@|*#\[\]&\/\+=]+)"\s{0,30},\s{0,30}(\$\w+),\s{0,30}(\$\w+)\)\s{0,30}\)\)\s{0,30}\)\s{0,30};\s{0,30}\$\w+\s?=\s?\d+\s?;\s{0,30}\?>~msi', 'id' => 'tinkleShell' ), array( 'full' => '~(?:\$\w+="\w+";)+(\$\w+)="([\w_)(;\/\.*]+)";\$\w+="\w+";function\s(\w+)\((?:\$\w+,?){3}\){return\s?""(?:\.\$\w+\.""){3};}(?:\$\w+=(?:(?:"\w+")|(?:\3\((?:\1\[\d+\],?\.?)+\))|(?:(?:\3\()+(?:\$\w+\,?(?:\)\,)?)+)(?:(?:(?:\3\()+)*(?:(?:\$\w+,?)+)*(?:\),)*(?:\)*))+);)+\$\w+=\3\((?:\1\[\d+\]\.?)+(?:,"")+\);(?:\$\w+=\3\(\3\(\$\w+,\$\w+,\$\w+\),\3\((?:\$\w+,?)+\),\3\(\$\w+,\3\(\$\w+,\$\w+,""\),\$\w+\)\)\."\'(?<str>[\w\/\+]+)\'")\.\3\((?:\1\[\d+\],?\.?)+\);\$\w+\(\$\w+,array\("","}"\.\$\w+\."\/+"\)\);~msi', 'fast' => '~(?:\$\w+="\w+";)+(\$\w+)="([\w_)(;\/\.*]+)";\$\w+="\w+";function\s(\w+)\((?:\$\w+,?){3}\){return\s?""(?:\.\$\w+\.""){3};}(?:\$\w+=(?:(?:"\w+")|(?:\3\((?:\1\[\d+\],?\.?)+\))|(?:(?:\3\()+(?:\$\w+\,?(?:\)\,)?)+)(?:(?:(?:\3\()+)*(?:(?:\$\w+,?)+)*(?:\),)*(?:\)*))+);)+\$\w+=\3\((?:\1\[\d+\]\.?)+(?:,"")+\);(?:\$\w+=\3\(\3\(\$\w+,\$\w+,\$\w+\),\3\((?:\$\w+,?)+\),\3\(\$\w+,\3\(\$\w+,\$\w+,""\),\$\w+\)\)\."\'(?<str>[\w\/\+]+)\'")\.\3\((?:\1\[\d+\],?\.?)+\);\$\w+\(\$\w+,array\("","}"\.\$\w+\."\/+"\)\);~msi', 'id' => 'wsoFunc' ), array( 'full' => '~\$\w+\[\'\w+\'\]\s?=\s?"[\w;\/\.*)(]+";\s?\$\w+\[\'\w+\'\]\s?=\s?(?:\$\w+\[\'\w+\'\]\[\d+\]\.?)+;\s?\$\w+\s?=\s?(?:"[\w()]*"\.chr\([\d-]+\)\.?)+"\(";\s?\$\w+\s?=\s?"[)\\\\\w;]+";\s?\$\w+\s?=\s?\$\w+\."\'(?<str>[\w\/\+]+)\'"\.\$\w+;\s?\$\w+\[\'\w+\'\]\((?:\$\w+\[\'\w+\'\]\[\d+\]\.?)+,\s?\$\w+\s?,"\d+"\);~msi', 'fast' => '~\$\w+\[\'\w+\'\]\s?=\s?"[\w;\/\.*)(]+";\s?\$\w+\[\'\w+\'\]\s?=\s?(?:\$\w+\[\'\w+\'\]\[\d+\]\.?)+;\s?\$\w+\s?=\s?(?:"[\w()]*"\.chr\([\d-]+\)\.?)+"\(";\s?\$\w+\s?=\s?"[)\\\\\w;]+";\s?\$\w+\s?=\s?\$\w+\."\'(?<str>[\w\/\+]+)\'"\.\$\w+;\s?\$\w+\[\'\w+\'\]\((?:\$\w+\[\'\w+\'\]\[\d+\]\.?)+,\s?\$\w+\s?,"\d+"\);~msi', 'id' => 'wsoFunc' ), array( 'full' => '~function\s(\w+)\((\$\w+)\)\s?{\s?\2=gzinflate\(base64_decode\(\2\)\);\s?for\((\$\w+)=\d+;\3<strlen\(\2\);\3\+\+\)\s?{\s?\2\[\3\]\s?=\s?chr\(ord\(\2\[\3\]\)-\d+\);\s?}\s?return\s\2;\s?}eval\(\1\("([\w\+\/=]+)"\)\);~msi', 'fast' => '~function\s(\w+)\((\$\w+)\)\s?{\s?\2=gzinflate\(base64_decode\(\2\)\);\s?for\((\$\w+)=\d+;\3<strlen\(\2\);\3\+\+\)\s?{\s?\2\[\3\]\s?=\s?chr\(ord\(\2\[\3\]\)-\d+\);\s?}\s?return\s\2;\s?}eval\(\1\("([\w\+\/=]+)"\)\);~msi', 'id' => 'evalWanFunc', ), array( 'full' => '~if\s\(file_exists\("(\w+)"\)\){\s?}\s?else\s?{\s?(\$\w+)\s?=\s?fopen\(\'\1\.php\',\s?\'w\'\);\s?(\$\w+)\s?=\s?base64_decode\("([\w\+\/=]+)"\);\s?fwrite\(\2\s?,\3\);\s?fclose\(\2\);\s?}~msi', 'fast' => '~if\s\(file_exists\("(\w+)"\)\){\s?}\s?else\s?{\s?(\$\w+)\s?=\s?fopen\(\'\1\.php\',\s?\'w\'\);\s?(\$\w+)\s?=\s?base64_decode\("([\w\+\/=]+)"\);\s?fwrite\(\2\s?,\3\);\s?fclose\(\2\);\s?}~msi', 'id' => 'funcFile', ), array( 'full' => '~(\$GLOBALS\[\'\w+\'\]\s=\sarray\((?:\s\'\w+\'\s=>\s\'?\w+\'?,)+\s\);\s((?:\$\w+=(?:\'\w+\'\.?)+;)+)(?:if\(!\$\w+\((?:\'\w*\'\.?)+\)\){function\s\w+\(\$\w+\){.*?else{function\s\w+\(\$\w+\){.*?return\s\$\w+\(\$\w+\);}}){2})\$\w+=(?:\'\w*\'\.?)+;(\$\w+)\s?=\s?\$\w+\(\'\$\w+\',\$\w+\.\'\(.\.\$\w+\.(?:\'[\w(\$);]*\'\.?)+\);\3\("([\w\/\+=]+)"\);~msi', 'fast' => '~(\$GLOBALS\[\'\w+\'\]\s=\sarray\((?:\s\'\w+\'\s=>\s\'?\w+\'?,)+\s\);\s((?:\$\w+=(?:\'\w+\'\.?)+;)+)(?:if\(!\$\w+\((?:\'\w*\'\.?)+\)\){function\s\w+\(\$\w+\){.*?else{function\s\w+\(\$\w+\){.*?return\s\$\w+\(\$\w+\);}}){2})\$\w+=(?:\'\w*\'\.?)+;(\$\w+)\s?=\s?\$\w+\(\'\$\w+\',\$\w+\.\'\(.\.\$\w+\.(?:\'[\w(\$);]*\'\.?)+\);\3\("([\w\/\+=]+)"\);~msi', 'id' => 'gulf', ), array( 'full' => '~(\$\w+)=(\w+);(\$\w+)="(.+?)";(\$\w+)=\3;(\$\w+)=strlen\(\5\);(\$\w+)=\'\';for\((\$\w+)=\d+;\8<\6;\8\+\+\)\7\s?\.=\s?chr\(ord\(\5\[\8\]\)\s?\^\s?\1\);eval\("\?>"\.\7\."<\?"\);~msi', 'fast' => '~(\$\w+)=(\w+);(\$\w+)="(.+?)";(\$\w+)=\3;(\$\w+)=strlen\(\5\);(\$\w+)=\'\';for\((\$\w+)=\d+;\8<\6;\8\+\+\)\7\s?\.=\s?chr\(ord\(\5\[\8\]\)\s?\^\s?\1\);eval\("\?>"\.\7\."<\?"\);~msi', 'id' => 'evalConcatAsciiChars', ), /*array( 'full' => '~goto \w+;\s*(\w+:\s*(\w+:\s*)?.*?goto\s*\w+;\s*(}\s*goto\s*\w+;)?(goto\s*\w+;)?\s*)+\w+:\s*[^;]+;(\s*goto\s*\w+;\s*\w+:\s*\w+:)?~msi', 'fast' => '~goto \w+;\s*(\w+:\s*(\w+:\s*)?.*?goto\s*\w+;\s*(}\s*goto\s*\w+;)?(goto\s*\w+;)?\s*)+\w+:\s*[^;]+;(\s*goto\s*\w+;\s*\w+:\s*\w+:)?~msi', 'id' => 'goto', ),*/ /*array( 'full' => '~if\(isset\(\$_POST\[\'\w+\'\]\)\){echo[\s\'\w]+;\s*exit\(\);}\s*if\(isset\(\$_COOKIE\)\){(\$\w+)=\$_COOKIE;\(count\(\1\)==\d+&&in_array\(gettype\(\1\)\.count\(\1\),\1\)\)\?\(\(\1\[\d+\]=\1\[\d+\]\.\1\[\d+\]\)&&\(\1\[\d+\]=\1\[\d+\]\(\1\[\d+\]\)\)&&\(\1=\1\[\d+\]\(\1\[\d+\],\1\[\d+\]\(\1\[\d+\]\)\)\)&&\1\(\)\):\1;}\s*if\(!isset\(\$_POST\[\'\w+\'\]\)&&!isset\(\$_GET\[\'\w+\'\]\)\){exit\(\);}\s*(?:(\$\w+)\[\d+\]=\'\w+\';)+\s*if\(isset\(\$_POST\[\'\w+\'\]\)\){\$\w+=\$_POST\[\'\w+\'\];}else{\$\w+=\$_GET\[\'\w+\'\];}\s*\$\w+\s*=\s*array_flip\(str_split\(\'(\w+)\'\)\);\$\w+\s*=\s*str_split\(md5\(\$\w+\)\.md5\(\$\w+\)\);\$\w+\s*=\s*array\(\);\$\w+\s*=\s*\'\';\s*foreach\s*\(\$\w+\s*as\s*\$\w+\s*=>\s*\$\w+\)\s*{while\s*\(1\)\s*{if\(isset\(\$\w+\[\$\w+\[\$\w+\]\]\)\){\$\w+\[\$\w+\]\+\+;}else\{\$\w+\[\$\w+\[\$\w+\]\]=\'\';break;}}}\s*foreach\s*\(\$\w+\s*as\s*\$\w+\s*=>\s*\$\w+\)\s*{\$\w+\s*\.=\s*\$\w+\[\$\w+\];}\s*eval\(trim\(base64_decode\(base64_decode\(\$\w+\)\)\)\);~mis', 'fast' => '~if\(isset\(\$_POST\[\'\w+\'\]\)\){echo[\s\'\w]+;\s*exit\(\);}\s*if\(isset\(\$_COOKIE\)\){(\$\w+)=\$_COOKIE;\(count\(\1\)==\d+&&in_array\(gettype\(\1\)\.count\(\1\),\1\)\)\?\(\(\1\[\d+\]=\1\[\d+\]\.\1\[\d+\]\)&&\(\1\[\d+\]=\1\[\d+\]\(\1\[\d+\]\)\)&&\(\1=\1\[\d+\]\(\1\[\d+\],\1\[\d+\]\(\1\[\d+\]\)\)\)&&\1\(\)\):\1;}\s*if\(!isset\(\$_POST\[\'\w+\'\]\)&&!isset\(\$_GET\[\'\w+\'\]\)\){exit\(\);}\s*(?:(\$\w+)\[\d+\]=\'\w+\';)+\s*if\(isset\(\$_POST\[\'\w+\'\]\)\){\$\w+=\$_POST\[\'\w+\'\];}else{\$\w+=\$_GET\[\'\w+\'\];}\s*\$\w+\s*=\s*array_flip\(str_split\(\'(\w+)\'\)\);\$\w+\s*=\s*str_split\(md5\(\$\w+\)\.md5\(\$\w+\)\);\$\w+\s*=\s*array\(\);\$\w+\s*=\s*\'\';\s*foreach\s*\(\$\w+\s*as\s*\$\w+\s*=>\s*\$\w+\)\s*{while\s*\(1\)\s*{if\(isset\(\$\w+\[\$\w+\[\$\w+\]\]\)\){\$\w+\[\$\w+\]\+\+;}else\{\$\w+\[\$\w+\[\$\w+\]\]=\'\';break;}}}\s*foreach\s*\(\$\w+\s*as\s*\$\w+\s*=>\s*\$\w+\)\s*{\$\w+\s*\.=\s*\$\w+\[\$\w+\];}\s*eval\(trim\(base64_decode\(base64_decode\(\$\w+\)\)\)\);~mis', 'id' => 'scriptWithPass', ),*/ ); private $full_source; private $prev_step; private $cur; private $obfuscated; private $max_level; private $max_time; private $run_time; private $fragments; private $grabed_signature_ids; public function __construct($text, $text2 = '', $max_level = 30, $max_time = 5) { $temp = str_replace(' ', '', $text); if ( (strpos($temp, '=file(__FILE__);eval(base64_decode(') //zeura hack && strpos($temp, '1)));__halt_compiler();')) || (strpos($temp, 'define(\'__LOCALFILE__\',__FILE__);') //obf_20200527_1 && strpos($temp, '__halt_compiler();')) || (strpos($text2, '* Bizden oncekiler demo *')) //bizden || (strpos($temp, '");$cvsu=$gg')) //TinkleShell ) { $this->text = $text2; $this->full_source = $text2; } else { $this->text = $text; $this->full_source = $text; } $this->max_level = $max_level; $this->max_time = $max_time; $this->fragments = []; $this->grabed_signature_ids = []; } public function getObfuscateType($str) { $str = preg_replace('~\s+~', ' ', $str); $l_UnicodeContent = Helpers::detect_utf_encoding($str); if ($l_UnicodeContent !== false) { if (function_exists('iconv')) { $str = iconv($l_UnicodeContent, "CP1251//IGNORE", $str); } } if(strpos($str, '# Malware list detected by AI-Bolit (http') !== false) { return ''; } if(strpos($str, '#Malware list detected by AI-Bolit(http') !== false) { return ''; } if(strpos($str, '<div class="header">Отчет сканера AI-Bolit</div>') !== false) { return ''; } if (strpos($str, '$default_action="FilesMan"') !== false) { return ''; } foreach ($this->signatures as $signature) { if (preg_match($signature['fast'], $str, $matches)) { if ($signature['id'] === 'echo') { if (preg_match('~\$_(POST|GET|REQUEST|COOKIE)~ms', $matches[0])) { return ''; } if (!isset($matches[5]) || $matches[5] === '') { return ''; } } if ($signature['id'] === 'eval') { if (strpos($matches[0], 'file_get_contents') !== false) { return ''; } if (preg_match('~\$_(POST|GET|REQUEST|COOKIE)~ms', $matches[0])) { return ''; } if (strpos($matches[0], '=> array(\'eval(base64_decode(\')') !== false) { return ''; } if (@$matches[6] == '\'";') { return ''; } } return $signature['id']; } } return ''; } private function getObfuscateFragment($str) { foreach ($this->signatures as $signature) { if (preg_match($signature['full'], $str, $matches)) { return $matches; } } return ''; } public function getFragments() { if (count($this->fragments) > 0) { return $this->fragments; } return false; } public function getGrabedSignatureIDs() { return array_keys($this->grabed_signature_ids); } private function grabFragments() { if ($this->cur == null) { $this->cur = $this->text; } $str = $this->cur; reset($this->signatures); while ($sign = current($this->signatures)) { $regex = $sign['full']; if (preg_match($regex, $str, $matches)) { $this->grabed_signature_ids[$sign['id']] = 1; $this->fragments[$matches[0]] = $matches[0]; $str = str_replace($matches[0], '', $str); } else { next($this->signatures); } } } private function deobfuscateFragments() { $prev_step = ''; if (count($this->fragments) > 0) { $i = 0; foreach ($this->fragments as $frag => $value) { if ($frag !== $value) { continue; } $type = $this->getObfuscateType($value); while ($type !== '' && $i < 50) { $match = $this->getObfuscateFragment($value); $find = $match[0] ?? ''; $func = 'deobfuscate' . ucfirst($type); $temp = @$this->$func($find, $match); $value = str_replace($find, $temp, $value); $this->fragments[$frag] = $value; $type = $this->getObfuscateType($value); if ($prev_step == hash('sha256', $value)) { break; } else { $prev_step = hash('sha256', $value); } $i++; } } } } public function deobfuscate($hangs = 0, $prev_step = '') { $deobfuscated = ''; $this->run_time = microtime(true); $this->cur = $this->text; $this->grabFragments(); $this->deobfuscateFragments(); $deobfuscated = $this->cur; if (count($this->fragments) > 0 ) { foreach ($this->fragments as $fragment => $text) { $deobfuscated = str_replace($fragment, $text, $deobfuscated); } } $deobfuscated = preg_replace_callback('~"[\w\\\\\s=;_<>&/\.-]+"~msi', function ($matches) { return preg_match('~\\\\x[2-7][0-9a-f]|\\\\1[0-2][0-9]|\\\\[3-9][0-9]|\\\\0[0-4][0-9]|\\\\1[0-7][0-9]~msi', $matches[0]) ? stripcslashes($matches[0]) : $matches[0]; }, $deobfuscated); $deobfuscated = preg_replace_callback('~echo\s*"((.*?[^\\\\])??((\\\\\\\\)+)?+)"~msi', function ($matches) { return preg_match('~\\\\x[2-7][0-9a-f]|\\\\1[0-2][0-9]|\\\\[3-9][0-9]|\\\\0[0-4][0-9]|\\\\1[0-7][0-9]~msi', $matches[0]) ? stripcslashes($matches[0]) : $matches[0]; }, $deobfuscated); preg_match_all('~(global\s*(\$[\w_]+);)\2\s*=\s*"[^"]+";~msi', $deobfuscated, $matches, PREG_SET_ORDER); foreach ($matches as $match) { $deobfuscated = str_replace($match[0], '', $deobfuscated); $deobfuscated = str_replace($match[1], '', $deobfuscated); } preg_match_all('~\$\{"GLOBALS"\}\[[\'"](\w+)[\'"]\]=["\'](\w+)[\'"];~msi', $deobfuscated, $matches, PREG_SET_ORDER); foreach ($matches as $match) { $deobfuscated = preg_replace_callback('~\$\{\$\{"GLOBALS"\}\[[\'"]' . $match[1] . '[\'"]\]\}~msi', function ($matches) use ($match) { return '$' . $match[2]; }, $deobfuscated); $deobfuscated = str_replace($match[0], '', $deobfuscated); } $deobfuscated = preg_replace_callback('~\$\{(\$\w+)\}~msi', function ($matches) use ($deobfuscated) { if (isset($matches[1])) { preg_match('~\\' . $matches[1] . '\s*=\s*["\'](\w+)[\'"];~msi', $deobfuscated, $matches2); if (isset($matches2[1])) { return '$' . $matches2[1]; } return $matches[0]; } }, $deobfuscated); if (strpos($deobfuscated, 'chr(')) { $deobfuscated = preg_replace_callback('~chr\((\d+)\)~msi', function ($matches) { return "'" . chr($matches[1]) . "'"; }, $deobfuscated); } if (substr_count(substr($deobfuscated, 0, 200), 'base64_decode(\'') > 3) { $deobfuscated = preg_replace_callback('~base64_decode\(\'([^\']+)\'\)~msi', function ($matches) { return "'" . base64_decode($matches[1]) . "'"; }, $deobfuscated); } if ($this->getObfuscateType($deobfuscated) !== '' && $hangs < 5) { $this->text = $deobfuscated; if ($prev_step == hash('sha256', $deobfuscated)) { return $deobfuscated; } $deobfuscated = $this->deobfuscate(++$hangs, hash('sha256', $deobfuscated)); } return $deobfuscated; } private function deobfuscateObf_20200618_1($str) { preg_match('~(\$\{"[\\\\x47c2153fGLOBALS]+"\}\["[\w\\\\]+"\]="[\w\\\\]+";(\$\w+="\w+";)?)+.+\$\{"[\\\\x47c2153fGLOBALS]+"\}\["[\w\\\\]+"\].+}+~msi', $str, $matches); $find = $matches[0]; $res = stripcslashes($str); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateBypass($str, $matches) { $find = $matches[0]; $bypass = stripcslashes($matches[2]); $eval = $matches[3] . $bypass . $matches[4]; $res = str_replace($find, $eval, $str); return $res; } private function deobfuscateObf_20200720_1($str, $matches) { $find = $matches[0]; $res = base64_decode($matches[2]); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateGoto($str) { preg_match('~goto \w+;\s*(\w+:\s*(\w+:\s*)?.*?goto\s*\w+;\s*(}\s*goto\s*\w+;)?(goto\s*\w+;)?\s*)+\w+:\s*[^;]+;(\s*goto\s*\w+;\s*\w+:\s*\w+:)?~msi', $str, $matches); $find = $matches[0]; $res = $str; $labels = []; preg_match_all('~((\w+):\s*((\w+):\s*)?(.*?goto\s*\w+;))(\s*goto\s*\w+;)?~msi', $str, $matches, PREG_SET_ORDER); foreach($matches as $item) { if (isset($item[4]) && $item[4] != '') { $labels[$item[4]] = $item[5]; } $labels[$item[2]] = $item[5]; $res = str_replace($item[1], '', $res); } while(preg_match('~goto\s*(\w+);~msi', $res, $matches) && isset($labels[$matches[1]])) { $res = str_replace($matches[0], PHP_EOL . $labels[$matches[1]] . PHP_EOL, $res); } $res = str_replace($find, $res, $str); return $res; } private function deobfuscateObf_20200527_1($str) { preg_match('~error_reporting\(0\);define\(\'\w+\',\s*__FILE__\);define\(\'\w+\',\s*fopen\(__FILE__,\s*\'r\'\)\);fseek\(\w+,\s*__COMPILER_HALT_OFFSET__\);((\$\w+="\\\\x[0-9a-f]+";)+(\$\w+="[^"]+";)+eval\("\?>"\.(\$\w+\()+"([^"]+)"\)+;)+(?:/\*\w+\*/)?__halt_compiler\(\);([\w#|>^%\[\.\]\\\\/=]+)~msi', $str, $matches); $find = $matches[0]; $res = $str; $encoded = $matches[6]; $res = preg_replace_callback('~(\$\w+="\\\\x[0-9a-f]+";)+(\$\w+="[^"]+";)+eval\("\?>"\.(\$\w+\()+"([^"]+)"\)+;~msi', function ($m) use ($str) { $layer1 = hex2bin(str_rot13(gzinflate(str_rot13(base64_decode($m[4]))))); if (preg_match('~(\$\w+="[^"]+";)+eval\(\$\w\.(\$\w+\()+"([^"]+)"\)+;~msi', $layer1, $matches)) { $temp = "?>" . hex2bin(str_rot13(gzinflate(str_rot13(base64_decode($matches[3]))))); while (preg_match('~(\$\w+)=strrev\(\1\);(\1=\s*str_replace\([\'"]([^"\']+)[\'"],"[^"]+",\1\);)+@?eval\("\?\>"\.\$\w+\(\1\)+;~msi', $temp, $matches)) { if (preg_match('~\\' . $matches[1] . '="([^"]+)";~msi', $layer1, $matches1)) { $code = $matches1[1]; $code = strrev($code); if (preg_match_all('~str_replace\([\'"]([^"\']+)[\'"],"([^"]+)"~msi', $temp, $m, PREG_SET_ORDER)) { foreach($m as $item) { $code = str_replace($item[1], $item[2], $code); } $temp = base64_decode($code); } } } return $temp; } }, $res); if (preg_match_all('~str_replace\([\'"]([^"\']+)[\'"],[\'"]([^"\']+)[\'"]~msi', $res, $m, PREG_SET_ORDER)) { foreach($m as $item) { $encoded = str_replace($item[1], $item[2], $encoded); } $res = base64_decode($encoded); } $res = str_replace($find, $res, $str); return $res; } private function deobfuscateObf_20200602_1($str) { preg_match('~(\$\w+)=strrev\("[base64_decode]+"\)\.str_replace\(\'(\w+)\',\'\',\'\w+\'\);\s*eval\(\1\((\$\w+)\)\);~msi', $str, $matches); $find = $matches[0]; $res = 'eval(base64_decode(' . $matches[3] . '));'; $res = str_replace($find, $res, $str); return $res; } private function deobfuscateObf_20200526_1($str, $matches) { $find = $matches[0]; $res = base64_decode($matches[2]); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateObf_20200522_1($str, $matches) { $find = $matches[0]; $res = strrev(gzinflate(base64_decode(substr($matches[9], (int)hex2bin($matches[3]), (int)hex2bin($matches[5]))))); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateObf_20200507_5($str, $matches) { $find = $matches[0]; $res = base64_decode($matches[1]); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateObf_20200507_4($str, $matches) { $find = $matches[0]; $ar = $matches[2]; $ar = explode(",\n", $ar); $array = []; foreach ($ar as $v) { $array[substr(trim($v),1,1)] = substr(trim($v), -2, 1); } unset($ar); $res = ''; $split = str_split($matches[5]); foreach ($split as $x) { foreach ($array as $main => $val) { if ($x == (string)$val) { $res .= $main; break; } } } $res = gzinflate(base64_decode($res)); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateObf_20200513_1($str, $matches) { $find = $matches[0]; $res = gzuncompress(base64_decode(strrev($matches[5]))); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateObf_20200507_3($str, $matches) { $find = $matches[0]; $decode = htmlspecialchars_decode(gzinflate(base64_decode($matches[2]))); $res = str_replace('$An0n_3xPloiTeR', "'" . $matches[3] . "'", $decode); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateObf_20200507_2($str, $matches) { $find = $matches[0]; $res = base64_decode($matches[4]); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateObf_20200507_1($str) { preg_match('~(\$\w+)=base64_decode\(\'([^\']+)\'\);\s*eval\(\1\);~mis', $str, $matches); $find = $matches[0]; $res = base64_decode($matches[2]); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateObf_20200504_1($str) { preg_match('~(\$\w+)\s*=\s*\("\?>"\.gzuncompress\(base64_decode\("([^"]+)"\)\)\);\s*@?eval\(\1\);~msi', $str, $matches); $find = $matches[0]; $res = ' ?>' . gzuncompress(base64_decode($matches[2])); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateSmartToolsShop($str, $matches) { $find = $matches[0]; $res = str_rot13(gzinflate(str_rot13(base64_decode($matches[2])))); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateObf_20200421_1($str) { preg_match('~(?:\$\w+\s*=\s*\'\w+\';)?\s*(\$\w+)\s*=\s*urldecode\(\'[%0-9a-f]+\'\);(\s*(\$\w+)\s*=(\s*\1\{\d+\}\.?)+;)+\s*(\$\w+)\s*=\s*"[^"]+"\.\3\("([^"]+)"\);\s*eval\(\5\);~msi', $str, $matches); $find = $matches[0]; $res = ' ?>' . base64_decode($matches[6]); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateObf_20200414_1($str) { preg_match('~function\s*(\w+)\((\$\w+),\s*(\$\w+)\)\s*\{\s*\3\s*=\s*md5\(\3\);\s*\$\w+\s*=\s*\d+;\s*\2\s*=\s*base64_decode\(\2\);\s*\$\w+\s*=\s*strlen\(\2\);\s*\$\w+\s*=\s*strlen\(\3\);\s*\$\w+\s*=\s*\'\';\s*for\s*\(\$\w+\s*=\s\d+;\s*\$\w+\s*<\s*\$len;\s*\$\w+\+\+\)\s*\{\s*if\s*\(\$\w+\s*==\s*\$\w+\)\s*\{\s*\$\w+\s*=\s*\d+;\s*}\s*\$\w+\s*\.=\s*substr\(\3,\s*\$\w+,\s*\d+\);\s*\$\w+\+\+;\s*\}\s*\$\w+\s*=\s*\'\';\s*for\s*\(\$\w+\s*=\s*\d+;\s*\$\w+\s*<\s*\$\w+;\s*\$\w+\+\+\)\s*{\s*if\s*\(ord\(substr\(\2,\s*\$\w+,\s*\d+\)\)\s*<\s*ord\(substr\(\$\w+,\s*\$\w+,\s*\d+\)\)\)\s*\{\s*\$\w+\s*\.=\s*chr\(\(ord\(substr\(\2,\s*\$\w+,\s*\d+\)\)\s*\+\s*\d+\)\s*-\s*ord\(substr\(\$\w+,\s*\$\w+,\s*\d+\)\)\);\s*}\s*else\s*{\s*\$\w+\s*\.=\s*chr\(ord\(substr\(\2,\s*\$\w+,\s*\d+\)\)\s*-\s*ord\(substr\(\$\w+,\s*\$\w+,\s*\d+\)\)\);\s*}\s*}\s*return\s*\$\w+;\s*\}\s*\2\s*=\s*"([^"]+)";\s*\3\s*=\s*"([^"]+)";\s*(\$\w+)\s*=\s*\1\(\2,\s*\3\);\s*eval\(\6\);~msi', $str, $matches); $find = $matches[0]; $data = $matches[4]; $key = $matches[5]; $res = Helpers::obf20200414_1_decrypt($data, $key); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateObf_20200402_2($str, $matches) { $find = $matches[0]; $code = $matches[15]; $code = preg_replace_callback('~\s*"\s*\.((?:min|max|round)?\(\s*\d+[\.\,\|\s\|+\|\-\|\*\|\/]([\d\s\.\,\+\-\*\/]+)?\))\s*\.\s*"~msi', function($m) { return substr(Helpers::calc($m[1]), 1, -1); }, $code); $res = gzinflate(base64_decode($code)) ?:base64_decode($code); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateObf_20200402_1($str, $matches) { $find = $matches[0]; $res = gzinflate(hex2bin(pack('H*',$matches[6]))); $res = preg_replace('~//.+$~m', '', $res); preg_match('~\$\w+\(\$\w+,\$\w+\("",\s*\$\w+\(\$\w+\(\$\w+\(\$\w+\(\$\w+,\s*"(\d+)"\)+,\$\w+\);.+function \w+\((\$\w+),\s*\$\w+,\s(\$\w+)\)\s{\3\s=\s\3\s\.\s\3;.+return \2;}~msi', $res, $matches); $res = gzinflate(hex2bin(pack('H*',$matches[1]))); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateOELove($str) { preg_match('~<\?php\s*defined\(\'[^\']+\'\)\s*\|\|\s*define\(\'[^\']+\',__FILE__\);(global\s*\$[^;]+;)+\s*(if\(!function_exists\(\'([^\']+)\'\)\){\s*function\s*[^\)]+\(\$[^,]+,\$[^=]+=\'\'\){\s*if\(empty\(\$[^\)]+\)\)\s*return\s*\'\';\s*\$[^=]+=base64_decode\(\$[^\)]+\);\s*if\(\$[^=]+==\'\'\)\s*return\s*\~\$[^;]+;\s*if\(\$[^=]+==\'-1\'\)\s*@[^\(]+\(\);\s*\$[^=]+=\$GLOBALS\[\'[^\']+\'\]\[\'[^\']+\'\]\(\$[^\)]+\);\s*\$[^=]+=\$GLOBALS\[\'[^\']+\'\]\[\'[^\']+\'\]\(\$[^,]+,\$[^,]+,\$[^\)]+\);\s*return\s*\$[^^]+\^\$[^;]+;\s*}}\s*)+(\$[^\[]+\["[^"]+"]=[^\(]+\(\'[^\']+\',\'[^\']*\'\);\s*)+(\$[^\[]+\[\'[^\']+\'\]=\$GLOBALS\[\'[^\']+\'\]\[\'[^\']+\'\]\([^\)]*\)+;\s*)+return\(eval\(\$[^\[]+\[\'[^\']+\'\]\)+;\s*\?>\s*#!/usr/bin/php\s*-q\s*((\s*[^\s]+)+)~msi', $str, $matches); $find = $matches[0]; $res = $str; $code = $matches[6]; $res = iconv('UTF-8', 'ASCII//IGNORE', $res); preg_match('~\$GLOBALS\[\'[^\']+\'\]\[\'[^\']+\'\]\(\'([\da-f]{32})\'\);~msi', $res, $hash); $hash = strrev($hash[1]); preg_match_all('~\$GLOBALS\[\'[^\']+\'\]\[\'[^\']+\'\]\(\'([\d]{10})\'\)~msi', $res, $substr_offsets); $substr_offsets = $substr_offsets[1]; $substr_offsets = array_map('strrev', $substr_offsets); $substr_offsets = array_map('intval', $substr_offsets); preg_match_all('~if\s*\(\!function_exists\(\'([^\']+)\'\)~msi', $res, $decoders); $decoders = $decoders[1]; $var_array = []; preg_match_all('~\$([^\[]{3,20})\["([^"]+)"\]=(?:' . $decoders[0] . '|' . $decoders[1] . ')\(\'([^\']*)\',\'([^\']*)\'\);~msi', $res, $vars, PREG_SET_ORDER); $var_name = $vars[0][1]; foreach ($vars as $var) { $var_array[$var[2]] = Helpers::OELoveDecoder($var[3], $var[4]); $res = str_replace($var[0], '', $res); } $layer1 = substr($code, 0, $substr_offsets[3] + 96); $layer1_dec = iconv('UTF-8', 'ASCII//IGNORE', gzuncompress(base64_decode($layer1))); $code = str_replace($layer1, $layer1_dec, $code); preg_match_all('~\$([^\[]{3,20})\["([^"]+)"\]=(?:' . $decoders[0] . '|' . $decoders[1] . ')\(\'([^\']*)\',\'([^\']*)\'\);~msi', $code, $vars, PREG_SET_ORDER); foreach ($vars as $var) { $var_array[$var[2]] = Helpers::OELoveDecoder($var[3], $var[4]); $code = str_replace($var[0], '', $code); } $layer2_start = strpos($code, '?>') + 2; $layer2 = substr($code, $layer2_start + $substr_offsets[2]); $layer2_dec = iconv('UTF-8', 'ASCII//IGNORE', gzuncompress(base64_decode(str_rot13($layer2)))); $res = $layer2_dec; foreach($var_array as $k => $v) { $res = str_replace('$GLOBALS[\'' . $var_name . '\'][\'' . $k . '\'](', $v . '(', $res); $res = str_replace('$GLOBALS[\'' . $var_name . '\'][\'' . $k . '\']', '\'' . $v . '\'', $res); } $res = preg_replace_callback('~(?:' . $decoders[0] . '|' . $decoders[1] . ')\(\'([^\']*)\',\'([^\']*)\'\)~msi', function ($m) { return '\'' . Helpers::OELoveDecoder($m[1], $m[2]) . '\''; }, $res); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateEvalConcatVars($str) { preg_match('~((\$\w+="";\$\w+\s*\.=\s*"[^;]+;\s*)+)(?:="";)?(eval\((\s*(\$\w+)\s*\.)+\s*"([^"]+)(?:"\);)+)~msi', $str, $matches); $find = $matches[0]; $res = $str; $parts = []; preg_match_all('~(\$\w+)="";\1\s*\.=\s*"([^"]+)"~msi', $matches[1], $matches1, PREG_SET_ORDER); foreach($matches1 as $match) { $parts[$match[1]] = stripcslashes(stripcslashes($match[2])); } $res = stripcslashes(stripcslashes($matches[3])); foreach($parts as $k => $v) { $res = str_replace($k, "'" . $v . "'", $res); } $res = preg_replace_callback('/[\'"]\s*?\.+\s*?[\'"]/smi', function($m) { return ''; }, $res); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateVarFuncsEval($str) { preg_match('~((\$\w+)\s*=\s*)(base64_decode\s*\(+|gzinflate\s*\(+|strrev\s*\(+|str_rot13\s*\(+|gzuncompress\s*\(+|convert_uudecode\s*\(+|urldecode\s*\(+|rawurldecode\s*\(+|htmlspecialchars_decode\s*\(+)+"([^"]+)"\)+(;\s*@?eval\(([\'"?>.\s]+)?\2\);)~', $str, $matches); $find = $matches[0]; $res = $str; $res = str_replace($matches[5], ');', $res); $res = str_replace($matches[1], 'eval(', $res); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateComments($str, $matches) { $find = $matches[0]; $res = preg_replace('~/\*\w+\*/~msi', '', $str); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateStrrevVarEval($str) { preg_match('~(\$\w+=strrev\("[^"]+"\);)+eval\((\$\w+\()+"([^"]+)"\)+;~mis', $str, $matches); $find = $matches[0]; $res = gzinflate(base64_decode($matches[3])); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateAanKFM($str) { preg_match('~(\$\w+=(\w+)\(\'\d+\'\);\s*)+\$\w+=new\s\$\w+\(\2\(\'(\d+)\'\)+;error_reporting\(0\);eval\(\$\w+\(\$\w+->\$\w+\("([^"]+)"\)+;.+?function \2.+?return\s\$\w+;\s}~msi', $str, $matches); $find = $matches[0]; $res = $str; $key = Helpers::aanKFMDigitsDecode($matches[3]); $res = Helpers::Xtea_decrypt($matches[4], $key); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateEvalChars($str, $matches) { $find = $matches[0]; $res = $str; while(preg_match_all('~(?:@eval((?:\(\$[0O]+\[[\'"]\w+[\'"]\])+)\("([^"]+)"\)+;)|("\)\?\$[O0]+)~msi', $res, $matches, PREG_SET_ORDER)) { $match = $matches[0]; if (isset($matches[1])) $match = $matches[1]; $count = ($match[1] !== '') ? substr_count($match[1], '(') : 0; if ($count == 2) { $res = gzinflate(base64_decode($match[2])); } else if ($count == 3) { $res = gzinflate(base64_decode(str_rot13($match[2]))); } if (isset($match[3]) && ($match[3] !== '')) { $res = preg_replace_callback('~(\$[0O]+\["\w+"\]\()+"([^"]+)"\)+;?~msi', function($m) { return gzinflate(base64_decode(str_rot13($m[2]))); }, $res); } } $res = str_replace($find, $res, $str); return $res; } private function deobfuscateGlobalsBase64($str) { preg_match('~<\?php\s+((\$GLOBALS\[\s*[\'"]\w+[\'"]\s*\])\s*=\s*base64_decode\("([^"]*)"\);)+\s*\?>(<\?php\s.+\2.+exit;\s}\sfunction\s\w+\(\)\s{\sreturn\sarray\(\s\'favicon\'\s=>\s\'[^\']+\',\s+\'sprites\'\s=>\s\'[^\']+\',\s\);\s})~msi', $str, $matches); $find = $matches[0]; $vars = []; preg_match_all('~(\$GLOBALS\[\s*[\'"]\w+[\'"]\s*\])\s*=\s*base64_decode\("([^"]*)"\);~msi', $matches[0], $matches1, PREG_SET_ORDER); foreach($matches1 as $match) { $vars[$match[1]] = base64_decode($match[2]); } $code = $matches[4]; foreach ($vars as $var => $value) { $code = str_replace($var . '(', $value . '(', $code); $code = str_replace($var, "'" . $value . "'", $code); } $res = $code; $res = str_replace($find, $res, $str); return $res; } private function deobfuscateEvalReturn($str, $matches) { $find = $matches[0]; $res = stripcslashes(base64_decode($matches[2])); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateQibosoft($str) { preg_match('~\$\w+=__FILE__;\$\w+=fopen\(\$\w+,\'rb\'\);fread\(\$\w+,(\d+)\);\$\w+=explode\("\\\\t",base64_decode\(fread\(\$\w+,(\d+)\)+;\$\w+=\$\w+\[[\d+]\];[\$l1=\d{}\.;\(\)\[\]]+eval\(\$\w+\(\'([^\']+)\'\)+;\s*return\s*;\?>[\w=\+]+~msi', $str, $matches); $find = $matches[0]; $res = $str; $hangs = 15; $obfPHP = explode('?>', $str); $obfPHP = $obfPHP[1]; preg_match('~eval\(\$\w+\(\'([^\']+)\'\)+;~msi', $res, $temp); $res = str_replace($temp[0], base64_decode($temp[1]), $res); $offset = $matches[2]; while (preg_match('~\$\w+\(\$\w+,(\d+)\);\s*eval\(\$\w+\(\$\w+\(\$\w+,(\d+)\)+;~msi', $res, $temp2) && $hangs--) { $offset += $temp2[1]; $decode_loop = base64_decode(substr($obfPHP, $offset, $temp2[2])); $offset += $temp2[2]; if (preg_match('~eval\(\$\w+\(\'([^\']+)\'\)+;~msi', $decode_loop, $temp)) { $res = str_replace($temp2[0], base64_decode($temp[1]), $res); } else { $res = $decode_loop; } } $res = str_replace($find, $res, $str); return $res; } private function deobfuscateUd64($str) { preg_match('~(\$ud64_c[o0]m="[\\\\0-9a-z\."]+;)+\$\w+=(\$ud64_c[o0]m\()+"([^"]+)"\)+;@eval\(\$ud64_c[o0]m\(\'[^\']+\'\)+;~msi', $str, $matches); $find = $matches[0]; $res = gzinflate(convert_uudecode(base64_decode(gzinflate(base64_decode(str_rot13($matches[3])))))); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateCustom1($str) { preg_match('~\$\w+="([^"]+)";\$l+=0;\$l+=\'base64_decode\';\$l+=0;eval\(.+?;eval\(\$l+\);return;~msi', $str, $matches); $find = $matches[0]; $res = Helpers::someDecoder3($matches[1]); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateCustom2($str, $matches) { $find = $matches[0]; $key = $matches[2]; $var = $matches[3]; preg_match_all('~\\' . $var . '\[\d+\]\s*=\s*"([^"]+)";~msi', $str, $matches); $res = base64_decode(Helpers::someDecoder4($matches[1], $key)); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateLockIt2($str, $matches) { $find = $matches[0]; $res = $matches[1]; if(strpos($str, '$_X="') !== false && strpos($res, '\\x') !== false) { $res = stripcslashes($res); } if (preg_match_all('~\$[_\w]+\.=[\'"]([\w\+\/=]+)[\'"];~', $matches[0], $concatVars)) { foreach ($concatVars[1] as $concatVar) { $res .= $concatVar; } } $res = base64_decode($res); $res = strtr($res, $matches[2], $matches[3]); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateAnaski($str, $matches) { $find = $matches[0]; $res = gzinflate(str_rot13(base64_decode($matches[2]))); $res = strtr($res, $matches[5], $matches[6]); return $res; } private function deobfuscateFuncs($str, $matches) { $find = $matches[0]; $funcs = []; $payload = $matches[7]; $var = $matches[6]; $res = $str; $res = preg_replace_callback('~function\s*(\w+)\((\$\w+)\){\s*return\s*(\w+)\(\2(,\d+)?\);}\s*~msi', function($matches2) use (&$funcs){ $funcs[$matches2[1]] = $matches2[3]; return ''; }, $res); foreach ($funcs as $k => $v) { $res = str_replace($k . '(', $v . '(', $res); } $res = str_replace($var . '="' . $payload . '";', '', $res); $res = str_replace($var, '"' . $payload . '"', $res); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateSubstr($str) { preg_match('~\$\w+=0;(\$GLOBALS\[\'\w+\'\])\s*=\s*\'([^\']+)\';\s*(\$\w+)=pack\(\'H\*\',substr\(\1,\s*([-\d]+)\)\);if\s*\(!function_exists\(\'(\w+)\'\)\){function\s*\5\(\$\w+,\s*\$\w+\){\$\w+=\1;\s*\$d=pack\(\'H\*\',substr\(\1,\s*\4\)\);\s*return\s*\$\w+\(substr\(\$\w+,\s*\$\w+,\s*\$\w+\)\);}};eval\(\3\(\'([^\']+)\'\)\);~msi', $str, $matches); $find = $matches[0]; $substr_array = $matches[2]; $offset = intval($matches[4]); $func = $matches[5]; $eval = pack('H*',substr($substr_array, $offset)); $res = Helpers::isSafeFunc($eval) ? @$eval($matches[6]) : $matches[6]; $res = preg_replace_callback('~' . $func . '\(([-\d]+),\s*([-\d]+)\)~mis', function ($matches) use ($eval, $substr_array) { $res = Helpers::isSafeFunc($eval) ? @$eval(substr($substr_array, $matches[1], $matches[2])) : $matches[0]; return '\'' . $res . '\''; }, $res); $res = str_replace($find, $res, $str); return $res; } private function deobfuscatePHPJiaMi($str, $matches) { $find = $matches[0]; $bin = bin2hex($str); preg_match('~6257513127293b24[a-z0-9]{2,30}3d24[a-z0-9]{2,30}2827([a-z0-9]{2,30})27293b~', $bin, $hash); preg_match('~2827([a-z0-9]{2})27293a24~', $bin, $rand); $hash = hex2bin($hash[1]); $rand = hex2bin($rand[1]); $res = Helpers::PHPJiaMi_decoder(substr($matches[3], 0, -46), $hash, $rand); $res = str_rot13(@gzuncompress($res) ? @gzuncompress($res) : $res); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateEvalIReplace($str, $matches) { $find = $matches[0]; $res = $str; $res = base64_decode($matches[3]); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateErrorHandler($str) { preg_match('~(\$\w+)="[^"]+";\s*(\$\w+)=str_ireplace\("[^"]+","",\1\);(\$\w+)\s*=\s*"([^"]+)";\s*function\s*(\w+)\((\$\w+,?)+\){\s*(\$\w+)=\s*create_function\(\'\',\$\w+\);\s*array_map\(\7,array\(\'\'\)+;\s*}\s*set_error_handler\(\'\5\'\);(\$\w+)=\2\(\3\);user_error\(\8,E_USER_ERROR\);\s*if\s*.+?}~msi', $str, $matches); $find = $matches[0]; $res = $str; $res = base64_decode($matches[4]); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateStrtoupper($str, $matches) { $find = $matches[0]; $res = $str; $alph = $matches[2]; $var = $matches[1]; $res = str_replace("{$var}=\"{$alph}\";", '', $res); for ($i = 0, $iMax = strlen($alph); $i < $iMax; $i++) { $res = str_replace($var . '[' . $i . '].', "'" . $alph[$i] . "'", $res); $res = str_replace($var . '[' . $i . ']', "'" . $alph[$i] . "'", $res); } $res = str_replace("''", '', $res); $res = str_replace("' . '", '', $res); $res = str_replace("' '", '', $res); preg_match('~(\$\w+)\s*=\s*strtoupper\s*\(\s*\'(\w+)\'\s*\)\s*;~msi', $res, $matches); $matches[2] = strtoupper($matches[2]); $res = str_replace($matches[0], '', $res); $res = preg_replace_callback('~\${\s*\\'. $matches[1] .'\s*}~msi', function ($params) use ($matches) { return '$' . $matches[2]; }, $res); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateEval2($str) { preg_match('~(\$\w+)\s*=\s*"((?:[^"]|(?<=\\\\)")*)";(\$\w+)\s*=\s*(\1\[\d+\]\.?)+;(\$\w+)\s*=\s*[^;]+;(\$\w+)\s*=\s*"[^"]+";\$\w+\s*=\s*\5\."([^"]+)"\.\6;\3\((\1\[\d+\]\.?)+,\s*\$\w+\s*,"\d+"\);~smi', $str, $matches); $res = $str; $find = $matches[0]; $alph = $matches[2]; $var = $matches[1]; for ($i = 0, $iMax = strlen($alph); $i < $iMax; $i++) { $res = str_replace($var . '[' . $i . '].', "'" . $alph[$i] . "'", $res); $res = str_replace($var . '[' . $i . ']', "'" . $alph[$i] . "'", $res); } $res = str_replace("''", '', $res); $res = gzinflate(base64_decode(substr($matches[7], 1, -1))); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateEvalEregReplace($str, $matches) { $find = $matches[0]; $res = base64_decode($matches[2]); preg_match_all('~(\$\w+)\s*=\s*ereg_replace\("([^"]+)","([^"]+)",\1\);~smi', $str, $matches, PREG_SET_ORDER); foreach ($matches as $match) { $res = preg_replace('/' . $match[2] . '/', $match[3], $res); } $res = base64_decode($res); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateStrreplace($str, $matches) { $find = $matches[0]; $res = $str; $str_replace = ''; $base64_decode = ''; $layer = ''; preg_match_all('~(\$\w+)\s*=\s*\"([^"]+)\"\s*;~msi', $str, $matches, PREG_SET_ORDER); foreach ($matches as $i => $match) { $vars[$match[1]] = $match[2]; } $res = preg_replace_callback('~(\$\w+)\s*=\s*str_replace\("(\w+)",\s*"",\s*"(\w+)"\)~msi', function ($matches) use (&$vars, &$str_replace) { $vars[$matches[1]] = str_replace($matches[2], "", $matches[3]); if ($vars[$matches[1]] == 'str_replace') { $str_replace = $matches[1]; } $tmp = $matches[1] . ' = "' . $vars[$matches[1]] . '"'; return $tmp; }, $res); $res = preg_replace_callback('~(\$\w+)\s*=\s*\\' . $str_replace . '\("(\w+)",\s*"",\s*"(\w+)"\)~msi', function ($matches) use (&$vars, &$base64_decode) { $vars[$matches[1]] = str_replace($matches[2], "", $matches[3]); if ($vars[$matches[1]] == 'base64_decode') { $base64_decode = $matches[1]; } $tmp = $matches[1] . ' = "' . $vars[$matches[1]] . '"'; return $tmp; }, $res); $res = preg_replace_callback('~\\' . $base64_decode . '\(\\' . $str_replace . '\("(\w+)",\s*"",\s*([\$\w\.]+)\)~msi', function ($matches) use (&$vars, &$layer) { $tmp = explode('.', $matches[2]); foreach ($tmp as &$item) { $item = $vars[$item]; } $tmp = implode('', $tmp); $layer = base64_decode(str_replace($matches[1], "", $tmp)); return $matches[0]; }, $res); $res = $layer; $res = str_replace($find, $res, $str); return $res; } private function deobfuscateSeolyzer($str, $matches) { $find = $matches[0]; $res = $str; $vars = array(); $base64_decode = ''; $layer = ''; $gzuncompress = ''; preg_match_all('~(\$\w+)\s*=\s*\'([^\']+)\'\s*;~msi', $str, $matches, PREG_SET_ORDER); foreach ($matches as $i => $match) { $vars[$match[1]] = $match[2]; if ($match[2] == 'base64_decode') { $base64_decode = $match[1]; } } $res = preg_replace_callback('~\s*=\s*\\' . $base64_decode . '\((\$\w+)\)~msi', function ($matches) use (&$vars, &$gzuncompress, &$layer) { if (isset($vars[$matches[1]])) { $tmp = base64_decode($vars[$matches[1]]); if ($tmp == 'gzuncompress') { $gzuncompress = $matches[1]; } $vars[$matches[1]] = $tmp; $tmp = " = '{$tmp}'"; } else { $tmp = $matches[1]; } return $tmp; }, $res); if ($gzuncompress !== '') { $res = preg_replace_callback('~\\' . $gzuncompress . '\(\s*\\' . $base64_decode . '\((\$\w+)\)~msi', function ($matches) use (&$vars, $gzuncompress, &$layer) { if (isset($vars[$matches[1]])) { $tmp = gzuncompress(base64_decode($vars[$matches[1]])); $layer = $matches[1]; $vars[$matches[1]] = $tmp; $tmp = "'{$tmp}'"; } else { $tmp = $matches[1]; } return $tmp; }, $res); $res = $vars[$layer]; } else if (preg_match('~\$\w+\(\s*\\' . $base64_decode . '\((\$\w+)\)~msi', $res)) { $res = preg_replace_callback('~\$\w+\(\s*\\' . $base64_decode . '\((\$\w+)\)~msi', function ($matches) use (&$vars, &$layer) { if (isset($vars[$matches[1]])) { $tmp = base64_decode($vars[$matches[1]]); $layer = $matches[1]; $vars[$matches[1]] = $tmp; $tmp = "'{$tmp}'"; } else { $tmp = $matches[1]; } return $tmp; }, $res); $res = $vars[$layer]; } $res = str_replace($find, $res, $str); return $res; } private function deobfuscateCreateFunc($str, $matches) { $find = $matches[0]; $res = ' ?>' . gzinflate(base64_decode($matches[3])); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateCreateFuncConcat($str, $matches) { $find = $matches[0]; $res = $str; $vars = array(); $res = preg_replace_callback('~(?|(\$\w+)\s*=\s*(([base64_decode\'\.\s]+)|([eval\'\.\s]+)|([create_function\'\.\s]+)|([stripslashes\'\.\s]+)|([gzinflate\'\.\s]+)|([strrev\'\.\s]+)|([str_rot13\'\.\s]+)|([gzuncompress\'\.\s]+)|([urldecode\'\.\s]+)([rawurldecode\'\.\s]+));)~', function($matches) use (&$vars) { $tmp = str_replace("' . '", '', $matches[0]); $tmp = str_replace("'.'", '', $tmp); $value = str_replace("' . '", '', $matches[2]); $value = str_replace("'.'", '', $value); $vars[$matches[1]] = substr($value, 1, -1); return $tmp; }, $res); foreach($vars as $key => $var) { $res = str_replace($key, $var, $res); $res = str_replace($var . " = '" . $var . "';", '', $res); $res = str_replace($var . ' = "";', '', $res); } $res = str_replace($find, $res, $str); return $res; } private function deobfuscateEvalWrapVar($str, $matches) { $find = $matches[0]; $res = $str; $vars = array(); $res = preg_replace_callback('~(?|(\$\w+)\s*=\s*(([base64_decode"\'\.\s]+)|([eval"\'\.\s]+)|([create_function"\'\.\s]+)|([stripslashes"\'\.\s]+)|([gzinflate"\'\.\s]+)|([strrev"\'\.\s]+)|([str_rot13"\'\.\s]+)|([gzuncompress"\'\.\s]+)|([urldecode"\'\.\s]+)([rawurldecode"\'\.\s]+));)~msi', function($matches) use (&$vars) { $tmp = str_replace("' . '", '', $matches[0]); $tmp = str_replace("'.'", '', $tmp); $value = str_replace("' . '", '', $matches[2]); $value = str_replace("'.'", '', $value); $vars[$matches[1]] = substr($value, 1, -1); return $tmp; }, $res); $temp = substr($res, strpos($res, '@eval')); $temp1 = $temp; foreach($vars as $key => $var) { $temp = str_replace($key, $var, $temp); } $res = str_replace($temp1, $temp, $res); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateForEach($str, $matches) { $find = $matches[0]; $alph = $matches[3]; $vars = array(); $res = $str; preg_replace('~\s*/\*\w+\*/\s*~msi', '', $res); $res = preg_replace_callback('~foreach\(\[([\d,]+)\]\s*as\s*\$\w+\)\s*\{\s*(\$\w+)\s*\.=\s*\$\w+\[\$\w+\];\s*\}~mis', function($matches) use ($alph, &$vars) { $chars = explode(',', $matches[1]); $value = ''; foreach ($chars as $char) { $value .= $alph[$char]; } $vars[$matches[2]] = $value; return "{$matches[2]} = '{$value}';"; }, $res); foreach($vars as $key => $var) { $res = str_replace($key, $var, $res); $res = str_replace($var . " = '" . $var . "';", '', $res); $res = str_replace($var . ' = "";', '', $res); } preg_match('~(\$\w+)\s*=\s*strrev\([create_function\.\']+\);~ms', $res, $matches); $res = str_replace($matches[0], '', $res); $res = str_replace($matches[1], 'create_function', $res); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateSubst2($str) { preg_match('~(\$\w+)="([^"])+(.{0,70}\1.{0,400})+;\s*}~msi', $str, $matches); $find = $matches[0]; $res = $str; preg_match('~(\$\w+)="(.+?)";~msi', $str, $matches); $alph = stripcslashes($matches[2]); $var = $matches[1]; for ($i = 0, $iMax = strlen($alph); $i < $iMax; $i++) { $res = str_replace($var . '[' . $i . '].', "'" . $alph[$i] . "'", $res); $res = str_replace($var . '[' . $i . ']', "'" . $alph[$i] . "'", $res); } $res = str_replace("''", '', $res); preg_match_all('~(\$GLOBALS\[\'\w{1,40}\'\])\s*=\s*\'(([^\'\\\\]++|\\\\.)*)\';~msi', $res, $matches, PREG_SET_ORDER); foreach ($matches as $index => $var) { $res = str_replace($var[1], $var[2], $res); $res = str_replace($var[2] . " = '" . $var[2] . "';", '', $res); } $res = str_replace($find, $res, $str); return $res; } private function deobfuscateAssert($str, $matches) { $find = $matches[0]; $res = base64_decode($matches[3]); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateUrlDecode2($str) { preg_match('~(\$[\w{1,40}]+)=(urldecode|base64_decode)\(?[\'"]([\w+%=-]+)[\'"]\);(\s*\$\w+\.?=(\$\w+\{\d+\}\s*[\.;]?\s*)+)+((\$\w+=["\']([^\'"]+)[\'"];\s*eval\(\'\?>\'\.[\$\w\(\)\*,\s]+);|(eval\(\$\w+\([\'"]([^\'"]+)[\'"]\)+;))~msi', $str, $matches); $find = $matches[0]; $res = $str; if (isset($matches[10])) { $res = base64_decode($matches[10]); } if (preg_match('~\$\w+=["\']([^\'"]+)[\'"];\s*eval\(\'\?>\'\.[\$\w\(\)\*,\s]+;~msi', $res, $matches)) { $res = base64_decode(strtr(substr($matches[1], 52*2), substr($matches[1], 52, 52), substr($matches[1], 0, 52))); } if (preg_match('~function\s*(\w+)\(\$\w+\)[\w{\$=\s*();<+\[\]\-]+\}\s+return[\$\s\w;]+}eval\(\1\("([\w\/+=]+)?"\)\);~', $res, $match)) { $res = gzinflate(base64_decode($match[2])); for ($i=0; $i < strlen($res); $i++) { $res[$i] = chr(ord($res[$i])-1); } $res = str_replace($find, $res, $str); return $res; } $res = str_replace($find, ' ?>' . $res, $str); return $res; } private function deobfuscatePHPMyLicense($str) { preg_match('~\$\w+\s*=\s*base64_decode\s*\([\'"][^\'"]+[\'"]\);\s*if\s*\(!function_exists\s*\("rotencode"\)\).{0,1000}eval\s*\(\$\w+\s*\(base64_decode\s*\([\'"]([^"\']+)[\'"]\)+;~msi', $str, $matches); $find = $matches[0]; $res = $str; $hang = 10; while(preg_match('~eval\s*\(\$\w+\s*\(base64_decode\s*\([\'"]([^"\']+)[\'"]\)+;~msi', $res, $matches) && $hang--) { $res = gzinflate(base64_decode($matches[1])); } $res = str_replace($find, $res, $str); return $res; } private function deobfuscateEdoced_46esab($str) { preg_match('~(\$\w+)=[\'"]([^"\']+)[\'"];(\$\w+)=strrev\(\'edoced_46esab\'\);eval\(\3\([\'"]([^\'"]+)[\'"]\)+;~msi', $str, $matches); $find = $matches[0]; $res = ''; $decoder = base64_decode($matches[4]); preg_match('~(\$\w+)=base64_decode\(\$\w+\);\1=strtr\(\1,[\'"]([^\'"]+)[\'"],[\'"]([^\'"]+)[\'"]\);~msi', $decoder, $matches2); $res = base64_decode($matches[2]); $res = strtr($res, $matches2[2], $matches2[3]); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateEdoced_46esab_etalfnizg($str, $matches) { return gzinflate(base64_decode($matches[3])); } private function deobfuscateEvalVarVar($str) { preg_match('~\$\{"GLOBALS"\}\[[\'"](\w+)[\'"]\]=["\'](\w+)[\'"];\$\{"GLOBALS"\}\[[\'"](\w+)[\'"]\]=["\']\2[\'"];(\${\$\{"GLOBALS"\}\[[\'"]\3[\'"]\]})=[\'"]([^\'"]+)[\'"];eval.{10,50}?(\$\{\$\{"GLOBALS"\}\[[\'"]\1[\'"]\]\})\)+;~msi', $str, $matches); $find = $matches[0]; $res = str_replace($matches[4], '$' . $matches[2], $str); $res = str_replace($matches[6], '$' . $matches[2], $res); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateEscapes($str, $matches) { $find = $matches[0]; $res = stripcslashes($str); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateparenthesesString($str) { $hangs = 5; $res = $str; $find = ''; while (preg_match('~for\((\$\w+)=\d+,(\$\w+)=\'([^\$]+)\',(\$\w+)=\'\';@?ord\(\2\[\1\]\);\1\+\+\)\{if\(\1<\d+\)\{(\$\w+)\[\2\[\1\]\]=\1;\}else\{\$\w+\.\=@?chr\(\(\5\[\2\[\1\]\]<<\d+\)\+\(\5\[\2\[\+\+\1\]\]\)\);\}\}\s*.{0,500}eval\(\4\);(if\(isset\(\$_(GET|REQUEST|POST|COOKIE)\[[\'"][^\'"]+[\'"]\]\)\)\{[^}]+;\})?~msi', $res, $matches) && $hangs--) { if($hangs == 4) { $find = $matches[0]; } $res = ''; $temp = array(); $matches[3] = stripcslashes($matches[3]); for($i=0, $iMax = strlen($matches[3]); $i < $iMax; $i++) { if($i < 16) $temp[$matches[3][$i]] = $i; else $res .= @chr(($temp[$matches[3][$i]]<<4) + ($temp[$matches[3][++$i]])); } } if(!isset($matches[6])) { //$xor_key = 'SjJVkE6rkRYj'; $xor_key = $res^"\n//adjust sy"; //\n//adjust system variables"; $res = $res ^ substr(str_repeat($xor_key, (strlen($res) / strlen($xor_key)) + 1), 0, strlen($res)); } if(substr($res,0,12)=="\n//adjust sy") { $res = str_replace($find, $res, $str); return $res; } else return $str; } private function deobfuscateEvalInject($str, $matches) { $res = $str; $find = $matches[0]; $alph = $matches[2]; for ($i = 0, $iMax = strlen($alph); $i < $iMax; $i++) { $res = str_replace($matches[1] . '[' . $i . '].', "'" . $alph[$i] . "'", $res); $res = str_replace($matches[1] . '[' . $i . ']', "'" . $alph[$i] . "'", $res); } $res = str_replace("''", '', $res); $res = str_replace("' '", '', $res); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateWebshellObf($str) { $res = $str; preg_match('~function\s*(\w{1,40})\s*\(\s*(\$\w{1,40})\s*,\s*(\$\w{1,40})\s*\)\s*\{\s*(\$\w{1,40})\s*=\s*str_rot13\s*\(\s*gzinflate\s*\(\s*str_rot13\s*\(\s*base64_decode\s*\(\s*[\'"]([^\'"]*)[\'"]\s*\)\s*\)\s*\)\s*\)\s*;\s*(if\s*\(\s*\$\w+\s*==[\'"][^\'"]*[\'"]\s*\)\s*\{\s*(\$\w{1,40})\s*=(\$\w+[\{\[]\d+[\}\]]\.?)+;return\s*(\$\w+)\(\3\);\s*\}\s*else\s*)+\s*if\s*\(\s*\$\w+\s*==[\'"][^\'"]*[\'"]\s*\)\s*\{\s*return\s*eval\(\3\);\s*\}\s*\};\s*(\$\w{1,40})\s*=\s*[\'"][^\'"]*[\'"];(\s*\10\([\'"][^\'"]*[\'"],)+\s*[\'"]([^\'"]*)[\'"]\s*\)+;~msi',$str, $matches); $find = $matches[0]; $alph = str_rot13(gzinflate(str_rot13(base64_decode($matches[5])))); for ($i = 0, $iMax = strlen($alph); $i < $iMax; $i++) { $res = str_replace($matches[4] . '{' . $i . '}.', "'" . $alph[$i] . "'", $res); $res = str_replace($matches[4] . '{' . $i . '}', "'" . $alph[$i] . "'", $res); } $res = str_replace("''", '', $res); $res = base64_decode(gzinflate(str_rot13(convert_uudecode(gzinflate(base64_decode(strrev($matches[12]))))))); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateXorFName($str, $matches) { $find = $matches[0]; $xored = rawurldecode($matches[3]); $xor_key = $xored ^ 'if (!defined('; $php = $xored ^ substr(str_repeat($xor_key, (strlen($matches[3]) / strlen($xor_key)) + 1), 0, strlen($matches[3])); preg_match('~\$\w{1,40}\s*=\s*((\'[^\']+\'\s*\.?\s*)+);\s*\$\w+\s*=\s*Array\(((\'\w\'=>\'\w\',?\s*)+)\);~msi', $php, $matches); $matches[1] = str_replace(array(" ", "\r", "\n", "\t", "'.'"), '', $matches[1]); $matches[3] = str_replace(array(" ", "'", ">"), '', $matches[3]); $temp = explode(',', $matches[3]); $array = array(); foreach ($temp as $value) { $temp = explode("=", $value); $array[$temp[0]] = $temp[1]; } $res = ''; for ($i=0, $iMax = strlen($matches[1]); $i < $iMax; $i++) { $res .= isset($array[$matches[1][$i]]) ? $array[$matches[1][$i]] : $matches[1][$i]; } $res = substr(rawurldecode($res), 1, -2); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateSubstCreateFunc($str) { preg_match('~(\$\w{1,40})=\'(([^\'\\\\]|\\\\.)*)\';\s*((\$\w{1,40})=(\1\[\d+].?)+;\s*)+(\$\w{1,40})=\'\';\s*(\$\w{1,40})\(\7,\$\w{1,40}\.\"([^\"]+)\"\.\$\w{1,40}\.\5\);~msi', $str, $matches); $find = $matches[0]; $php = base64_decode($matches[9]); preg_match('~(\$\w{1,40})=(\$\w{1,40})\("([^\']+)"\)~msi', $php, $matches); $matches[3] = base64_decode($matches[3]); $php = ''; for ($i = 1, $iMax = strlen($matches[3]); $i < $iMax; $i++) { if ($i % 2) { $php .= substr($matches[3], $i, 1); } } $php = str_replace($find, $php, $str); return $php; } private function deobfuscateZeura($str, $matches) { $offset = intval($matches[8]) + intval($matches[9]); $obfPHP = explode('__halt_compiler();', $str); $obfPHP = end($obfPHP); $php = gzinflate(base64_decode(substr(trim($obfPHP), $offset))); $php = stripcslashes($php); $php = str_replace($matches[0], $php, $str); return $php; } private function deobfuscateSourceCop($str, $matches) { $key = $matches[2]; $obfPHP = $matches[1]; $res = ''; $index = 0; $len = strlen($key); $temp = hexdec('&H' . substr($obfPHP, 0, 2)); for ($i = 2, $iMax = strlen($obfPHP); $i < $iMax; $i += 2) { $bytes = hexdec(trim(substr($obfPHP, $i, 2))); $index = (($index < $len) ? $index + 1 : 1); $decoded = $bytes ^ ord(substr($key, $index - 1, 1)); if ($decoded <= $temp) { $decoded = 255 + $decoded - $temp; } else { $decoded = $decoded - $temp; } $res = $res . chr($decoded); $temp = $bytes; } $res = str_replace($matches[0], $res, $str); return $res; } private function deobfuscateGlobalsArray($str, $matches) { $res = $str; $alph = stripcslashes($matches[3]); $res = preg_replace('~\${"[\\\\x0-9a-f]+"}\[\'\w+\'\]\s*=\s*"[\\\\x0-9a-f]+";~msi', '', $res); for ($i = 0, $iMax = strlen($alph); $i < $iMax; $i++) { $res = str_replace($matches[1] .'[' . $matches[2] . ']' . '[' . $i . '].', "'" . $alph[$i] . "'", $res); $res = str_replace($matches[1] .'[' . $matches[2] . ']' . '[' . $i . ']', "'" . $alph[$i] . "'", $res); } $res = str_replace("''", '', $res); preg_match_all('~\\' . $matches[1] . '\[(\'\w+\')]\s*=\s*\'(\w+)\';~msi', $res, $funcs); $vars = $funcs[1]; $func = $funcs[2]; foreach ($vars as $index => $var) { $res = str_replace($matches[1] . '[' . $var . ']', $func[$index], $res); } foreach ($func as $remove) { $res = str_replace($remove . " = '" . $remove . "';", '', $res); $res = str_replace($remove . "='" . $remove . "';", '', $res); } $res = str_replace($matches[0], $res, $str); return $res; } private function deobfuscateXbrangwolf($str, $match) { return $match[0]; } private function deobfuscateObfB64($str, $matches) { $res = base64_decode($matches[3]); $res = str_replace($matches[0], $res, $str); return $res; } private function deobfuscateArrayOffsets($str) { $vars = array(); preg_match('~(\$\w{1,40})\s*=\s*\'([^\']*)\';\s*(\$\w{1,40})\s*=\s*explode\s*\((chr\s*\(\s*\(\d+\-\d+\)\)),substr\s*\(\1,\s*\((\d+\-\d+)\),\s*\(\s*(\d+\-\d+)\)\)\);.+\1\s*=\s*\$\w+[+\-\*]\d+;~msi', $str, $matches); $find = $matches[0]; $obfPHP = $matches[2]; $matches[4] = Helpers::calc($matches[4]); $matches[5] = intval(Helpers::calc($matches[5])); $matches[6] = intval(Helpers::calc($matches[6])); $func = explode($matches[4], strtolower(substr($obfPHP, $matches[5], $matches[6]))); $func[1] = strrev($func[1]); $func[2] = strrev($func[2]); preg_match('~\$\w{1,40}\s=\sexplode\((chr\(\(\d+\-\d+\)\)),\'([^\']+)\'\);~msi', $str, $matches); $matches[1] = Helpers::calc($matches[1]); $offsets = explode($matches[1], $matches[2]); $res = ''; for ($i = 0; $i < (sizeof($offsets) / 2); $i++) { $res .= substr($obfPHP, $offsets[$i * 2], $offsets[($i * 2) + 1]); } preg_match('~return\s*\$\w{1,40}\((chr\(\(\d+\-\d+\)\)),(chr\(\(\d+\-\d+\)\)),\$\w{1,40}\);~msi', $str, $matches); $matches[1] = Helpers::calc($matches[1]); $matches[2] = Helpers::calc($matches[2]); $res = Helpers::stripsquoteslashes(str_replace($matches[1], $matches[2], $res)); $res = "<?php\n" . $res . "?>"; preg_match('~(\$\w{1,40})\s=\simplode\(array_map\(\"[^\"]+\",str_split\(\"(([^\"\\\\]++|\\\\.)*)\"\)\)\);(\$\w{1,40})\s=\s\$\w{1,40}\(\"\",\s\1\);\s\4\(\);~msi', $res, $matches); $matches[2] = stripcslashes($matches[2]); for ($i=0, $iMax = strlen($matches[2]); $i < $iMax; $i++) { $matches[2][$i] = chr(ord($matches[2][$i])-1); } $res = str_replace($matches[0], $matches[2], $res); preg_match_all('~(\$\w{1,40})\s*=\s*\"(([^\"\\\\]++|\\\\.)*)\";~msi', $res, $matches, PREG_SET_ORDER); foreach ($matches as $match) { $vars[$match[1]] = stripcslashes($match[2]); } preg_match_all('~(\$\w{1,40})\s*=\s*\'(([^\'\\\\]++|\\\\.)*)\';~msi', $res, $matches, PREG_SET_ORDER); foreach ($matches as $match) { $vars[$match[1]] = Helpers::stripsquoteslashes($match[2]); } preg_match('~(\$\w{1,40})\s*=\s*\"\\\\x73\\\\164\\\\x72\\\\137\\\\x72\\\\145\\\\x70\\\\154\\\\x61\\\\143\\\\x65";\s(\$\w{1,40})\s=\s\'(([^\'\\\\]++|\\\\.)*)\';\seval\(\1\(\"(([^\"\\\\]++|\\\\.)*)\",\s\"(([^\"\\\\]++|\\\\.)*)\",\s\2\)\);~msi', $res, $matches); $matches[7] = stripcslashes($matches[7]); $matches[3] = Helpers::stripsquoteslashes(str_replace($matches[5], $matches[7], $matches[3])); $res = str_replace($matches[0], $matches[3], $res); preg_match_all('~(\$\w{1,40})\s*=\s*\"(([^\"\\\\]++|\\\\.)*)\";~msi', $res, $matches, PREG_SET_ORDER); foreach ($matches as $match) { $vars[$match[1]] = stripcslashes($match[2]); } preg_match_all('~(\$\w{1,40})\s*=\s*\'(([^\'\\\\]++|\\\\.)*)\';~msi', $res, $matches, PREG_SET_ORDER); foreach ($matches as $match) { $vars[$match[1]] = Helpers::stripsquoteslashes($match[2]); } preg_match('~\$\w{1,40}\s=\sarray\(((\'(([^\'\\\\]++|\\\\.)*)\',?(\.(\$\w{1,40})\.)?)+)\);~msi', $res, $matches); foreach ($vars as $var => $value) { $matches[1] = str_replace("'." . $var . ".'", $value, $matches[1]); } $array2 = explode("','", substr($matches[1], 1, -1)); preg_match('~eval\(\$\w{1,40}\(array\((((\"[^\"]\"+),?+)+)\),\s(\$\w{1,40}),\s(\$\w{1,40})\)\);~msi', $res, $matches); $array1 = explode('","', substr($matches[1], 1, -1)); $temp = array_keys($vars); $temp = $temp[9]; $arr = explode('|', $vars[$temp]); $off=0; $funcs=array(); for ($i = 0, $iMax = sizeof($arr); $i < $iMax; $i++) { if ($i == 0) { $off = 0; } else { $off = $arr[$i - 1] + $off; } $len = $arr[$i]; $temp = array_keys($vars); $temp = $temp[7]; $funcs[]= substr($vars[$temp], $off, $len); } for ($i = 0; $i < 5; $i++) { if ($i % 2 == 0) { $funcs[$i] = strrev($funcs[$i]); $g = substr($funcs[$i], strpos($funcs[$i], "9") + 1); $g = stripcslashes($g); $v = explode(":", substr($funcs[$i], 0, strpos($funcs[$i], "9"))); for ($j = 0, $jMax = sizeof($v); $j < $jMax; $j++) { $q = explode("|", $v[$j]); $g = str_replace($q[0], $q[1], $g); } $funcs[$i] = $g; } else { $h = explode("|", strrev($funcs[$i])); $d = explode("*", $h[0]); $b = $h[1]; for ($j = 0, $jMax = sizeof($d); $j < $jMax; $j++) { $b = str_replace($j, $d[$j], $b); } $funcs[$i] = $b; } } $temp = array_keys($vars); $temp = $temp[8]; $funcs[] = str_replace('9', ' ', strrev($vars[$temp])); $funcs = implode("\n", $funcs); preg_match('~\$\w{1,40}\s=\s\'.+?eval\([^;]+;~msi', $res, $matches); $res = str_replace($matches[0], $funcs, $res); $res = stripcslashes($res); $res = str_replace('}//}}', '}}', $res); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateXoredVar($str, $matches) { $res = $str; $find = $matches[0]; preg_match_all('~(\$\w{1,40})\s*=\s*\'((\\\\.|[^\'])*)\';~msi', $str, $matches, PREG_SET_ORDER); $vars = array(); foreach ($matches as $match) { $vars[$match[1]]=$match[2]; } preg_match_all('~(\$\w{1,40})\s*=\s*\'((\\\\.|[^\'])*)\'\^(\$\w+);~msi', $str, $matches, PREG_SET_ORDER); foreach ($matches as $match) { if (isset($vars[$match[4]])) { $vars[$match[1]]=$match[2]^$vars[$match[4]]; $res = str_replace($match[0], $match[1] . "='" . $vars[$match[1]] . "';", $res); } } preg_match_all('~(\$\w{1,40})\s*=\s*(\$\w+)\^\'((\\\\.|[^\'])*)\';~msi', $res, $matches, PREG_SET_ORDER); foreach ($matches as $match) { if (isset($vars[$match[2]])) { $vars[$match[1]]=$match[4]^$vars[$match[2]]; $res = str_replace($match[0], $match[1] . "='" . $vars[$match[1]] . "';", $res); } } preg_match_all('~\'((\\\\.|[^\'])*)\'\^(\$\w+)~msi', $res, $matches, PREG_SET_ORDER); foreach ($matches as $match) { if (isset($vars[$match[3]])) { $res = str_replace($match[0], "'" . addcslashes($match[1]^$vars[$match[3]], '\\\'') . "'", $res); } } foreach ($vars as $var => $value) { $res = str_replace($var, $value, $res); $res = str_replace($value . "='" . $value . "';", '', $res); } $res = str_replace($find, $res, $str); return $res; } private function deobfuscatePhpMess($str, $matches) { $res = base64_decode(gzuncompress(base64_decode(base64_decode($matches[4])))); $res = str_replace($matches[0], $res, $str); return $res; } private function deobfuscatePregReplaceSample05($str) { $res = ''; preg_match('~(\$\w{1,40})\s*=\s*\"([^\"]+)\";\s*\$\w+\s*=\s*\$\w+\(\1,\"([^\"]+)\",\"([^\"]+)\"\);\s*\$\w+\(\"[^\"]+\",\"[^\"]+\",\"\.\"\);~msi', $str, $matches); $res = strtr($matches[2], $matches[3], $matches[4]); $res = base64_decode($res); $res = str_replace($matches[0], $res, $str); return $res; } private function deobfuscatePregReplaceB64($str, $matches) { $find = $matches[0]; $res = str_replace($find, base64_decode($matches[4]), $str); $res = stripcslashes($res); preg_match('~eval\(\${\$\{"GLOBALS"\}\[\"\w+\"\]}\(\${\$\{"GLOBALS"\}\[\"\w+\"]}\(\"([^\"]+)\"\)\)\);~msi', $res, $matches); $res = gzuncompress(base64_decode($matches[1])); preg_match('~eval\(\$\w+\(\$\w+\("([^"]+)"\)\)\);~msi', $res, $matches); $res = gzuncompress(base64_decode($matches[1])); preg_match('~eval\(\$\w+\(\$\w+\("([^"]+)"\)\)\);~msi', $res, $matches); $res = gzuncompress(base64_decode($matches[1])); preg_match_all('~\$(\w+)\s*(\.)?=\s*("[^"]*"|\$\w+);~msi', $res, $matches, PREG_SET_ORDER); $var = $matches[0][1]; $vars = array(); foreach ($matches as $match) { if($match[2]!=='.') { $vars[$match[1]] = substr($match[3], 1, -1); } else { $vars[$match[1]] .= $vars[substr($match[3], 1)]; } } $res = str_replace("srrKePJUwrMZ", "=", $vars[$var]); $res = gzuncompress(base64_decode($res)); preg_match_all('~function\s*(\w+)\(\$\w+,\$\w+\)\{.+?}\s*};\s*eval\(((\1\(\'(\w+)\',)+)\s*"([\w/\+]+)"\)\)\)\)\)\)\)\);~msi', $res, $matches); $decode = array_reverse(explode("',", str_replace($matches[1][0] . "('", '', $matches[2][0]))); array_shift($decode); $arg = $matches[5][0]; foreach ($decode as $val) { $arg = Helpers::someDecoder2($val, $arg); } $res = $arg; $res = str_replace($find, $res, $str); return $res; } private function deobfuscateDecoder($str) { preg_match('~if\(!function_exists\(\"(\w+)\"\)\){function \1\(.+eval\(\1\(\"([^\"]+)\"\)\);~msi', $str, $matches); $res = Helpers::someDecoder($matches[2]); $res = str_replace($matches[0], $res, $str); return $res; } private function deobfuscateGBE($str) { preg_match('~(\$\w{1,40})=\'([^\']+)\';\1=gzinflate\(base64_decode\(\1\)\);\1=str_replace\(\"__FILE__\",\"\'\$\w+\'\",\1\);eval\(\1\);~msi', $str, $matches); $res = str_replace($matches[0], gzinflate(base64_decode($matches[2])), $str); return $res; } private function deobfuscateGBZ($str, $matches) { $res = str_replace($matches[0], base64_decode(str_rot13($matches[4])), $str); return $res; } private function deobfuscateBitrix($str, $matches) { $find = $matches[0]; $res = $str; $funclist = array(); $strlist = array(); $res = preg_replace("|[\"']\s*\.\s*['\"]|smi", '', $res); $hangs = 0; while (preg_match('~(?:min|max|round)?\(\s*\d+[\.\,\|\s\|+\|\-\|\*\|\/]([\d\s\.\,\+\-\*\/]+)?\)~msi', $res) && $hangs < 15) { $res = preg_replace_callback('~(?:min|max|round)?\(\s*\d+[\.\,\|\s\|+\|\-\|\*\|\/]([\d\s\.\,\+\-\*\/]+)?\)~msi', array("Helpers","calc"), $res); $hangs++; } $res = preg_replace_callback( '|base64_decode\(["\'](.*?)["\']\)|smi', function ($matches) { return '"' . base64_decode($matches[1]) . '"'; }, $res ); if (preg_match_all('|\$GLOBALS\[[\'"](.+?)[\'"]\]\s*=\s*Array\((.+?)\);|smi', $res, $founds, PREG_SET_ORDER)) { foreach ($founds as $found) { $varname = $found[1]; $funclist[$varname] = explode(',', $found[2]); $funclist[$varname] = array_map(function ($value) { return trim($value, "'\""); }, $funclist[$varname]); $res = preg_replace_callback( '|\$GLOBALS\[[\'"]' . $varname . '[\'"]\]\[(\d+)\]|smi', function ($matches) use ($varname, $funclist) { return str_replace(array('"',"'"), '', $funclist[$varname][$matches[1]]); }, $res ); $res = str_replace($found[0], '', $res); } } $array_temp = []; if (preg_match_all('~function\s*(\w{1,60})\(\$\w+\){\$\w{1,60}\s*=\s*Array\((.{1,30000}?)\);\s*return\s*base64_decode[^}]+}~msi', $res, $founds, PREG_SET_ORDER)) { foreach ($founds as $found) { $strlist = explode(',', $found[2]); $array_temp[$found[1]] = array_map('base64_decode', $strlist); $res = preg_replace_callback( '|' . $found[1] . '\((\d+)\)|smi', function ($matches) use ($strlist) { return "'" . base64_decode($strlist[$matches[1]]) . "'"; }, $res ); $res = str_replace($found[0], '', $res); } } $res = preg_replace('~\'\s*\.\s*\'~', '', $res); if (preg_match_all('~\s*function\s*(_+(.{1,60}?))\(\$[_0-9]+\)\s*\{\s*static\s*\$([_0-9]+)\s*=\s*(true|false);.{1,30000}?\$\3\s*=\s*array\((.*?)\);\s*return\s*base64_decode\(\$\3~smi', $res, $founds, PREG_SET_ORDER)) { foreach ($founds as $found) { $strlist = explode('",', $found[5]); $strlist = implode("',", $strlist); $strlist = explode("',", $strlist); $res = preg_replace_callback( '|' . $found[1] . '\((\d+(\.\d+)?)\)|sm', function ($matches) use ($strlist) { $ret = base64_decode($strlist[$matches[1]]); if (!$ret) { $ret = $strlist[$matches[1]]; } return '\'' . $ret . '\''; }, $res ); } } $res = str_replace($find, $res, $str); return $res; } private function deobfuscateLockIt($str) { preg_match('~(\$[O0]*=__FILE__;)?\$[O0]*=urldecode\(\'[%a-f0-9]+\'\);(\$(GLOBALS\[\')?[O0]*(\'\])?=(\d+);)?\s*(\$(GLOBALS\[\')?[O0]*(\'\])?\.?=(\$(GLOBALS\[\')?[O0]*(\'\])?([\{\[]\d+[\}\]])?\.?)+;)+[^\?]+\?\>[\s\w\~\=\/\+\\\\\^\{\`\%]+~msi', $str, $matches); $find = $matches[0]; $prefix = $matches[1]; $obfPHP = $str; $phpcode = base64_decode(Helpers::getTextInsideQuotes(Helpers::getEvalCode($obfPHP))); $hexvalues = Helpers::getHexValues($phpcode); $tmp_point = Helpers::getHexValues($obfPHP); if (isset($tmp_point[0]) && $tmp_point[0]!=='') { $pointer1 = hexdec($tmp_point[0]); } if (isset($matches[5]) && $matches[5]!=='') { $pointer1 = $matches[5]; } $needles = Helpers::getNeedles($phpcode); if ($needles[2]=='__FILE__') { $needle = $needles[0]; $before_needle = $needles[1]; preg_match('~\$_F=__FILE__;\$_X=\'([^\']+)\';\s*eval\s*\(\s*\$?\w{1,60}\s*\(\s*[\'"][^\'"]+[\'"]\s*\)\s*\)\s*;~msi', $str, $matches); $res = base64_decode($matches[1]); $phpcode = strtr($res, $needle, $before_needle); } else { $needle = $needles[count($needles) - 2]; $before_needle = end($needles); if (preg_match('~\$\w{1,40}\s*=\s*__FILE__;\s*\$\w{1,40}\s*=\s*([\da-fx]+);\s*eval\s*\(\$?\w+\s*\([\'"][^\'"]+[\'"]\)\);\s*return\s*;\s*\?>(.+)~msi', $str, $matches)) { $pointer1 = $matches[1]; if (strpos($pointer1, '0x')!==false) { $pointer1 = hexdec($pointer1); } } $temp = strtr($obfPHP, $needle, $before_needle); $end = 8; for ($i = strlen($temp) - 1; $i > strlen($temp) - 15; $i--) { if ($temp[$i] == '=') { $end = strlen($temp) - 1 - $i; } } $phpcode = base64_decode(substr($temp, strlen($temp) - $pointer1 - $end, $pointer1)); } $phpcode = str_replace($find, $prefix . $phpcode, $str); return $phpcode; } private function deobfuscateB64inHTML($str, $matches) { $obfPHP = $str; $phpcode = base64_decode(Helpers::getTextInsideQuotes(Helpers::getEvalCode($obfPHP))); $needles = Helpers::getNeedles($phpcode); $needle = $needles[count($needles) - 2]; $before_needle = end($needles); $pointer1 = $matches[2]; $temp = strtr($obfPHP, $needle, $before_needle); $end = 8; for ($i = strlen($temp) - 1; $i > strlen($temp) - 15; $i--) { if ($temp[$i] == '=') { $end = strlen($temp) - 1 - $i; } } $phpcode = base64_decode(substr($temp, strlen($temp) - $pointer1 - ($end-1), $pointer1)); $phpcode = str_replace($matches[0], $phpcode, $str); return $phpcode; } private function deobfuscateStrtrFread($str, $layer2) { $str = explode('?>', $str); $str = end($str); $res = substr($str, $layer2[1], strlen($str)); $res = base64_decode(strtr($res, $layer2[2], $layer2[3])); $res = str_replace($layer2[0], $res, $str); return $res; } private function deobfuscateStrtrBase64($str, $matches) { $str = strtr($matches[2], $matches[3], $matches[4]); $res = base64_decode($str); $res = str_replace($matches[0], $res, $str); return $res; } private function deobfuscateByteRun($str) { preg_match('~\$_F=__FILE__;\$_X=\'([^\']+)\';\s*eval\s*\(\s*\$?\w{1,60}\s*\(\s*[\'"][^\'"]+[\'"]\s*\)\s*\)\s*;~msi', $str, $matches); $res = base64_decode($matches[1]); $res = strtr($res, '123456aouie', 'aouie123456'); $res = str_replace($matches[0], $res, $str); return $res; } private function deobfuscateExplodeSubst($str, $matches) { $find = $matches[0]; $res = $str; preg_match_all('~function ([\w_]+)\(~msi', $res, $funcs); preg_match('~(\$_\w+\[\w+\])\s*=\s*explode\(\'([^\']+)\',\s*\'([^\']+)\'\);.+?(\1\[[a-fx\d]+\])\(\);~msi', $res, $matches); $subst_array = explode($matches[2], $matches[3]); $subst_var = $matches[1]; $res = preg_replace_callback('~((\$_GET\[[O0]+\])|(\$[O0]+))\[([a-fx\d]+)\]~msi', function ($matches) use ($subst_array, $funcs) { if (function_exists($subst_array[hexdec($matches[4])]) || in_array($subst_array[hexdec($matches[4])], $funcs[1])) { return $subst_array[hexdec($matches[4])]; } else { return "'" . $subst_array[hexdec($matches[4])] . "'"; } }, $res); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateSubst($str, $matches) { $find = $matches[0]; $res = $str; $alph = stripcslashes($matches[2]); $funcs = $matches[4]; for ($i = 0, $iMax = strlen($alph); $i < $iMax; $i++) { $res = str_replace($matches[1] . '[' . $i . '].', "'" . $alph[$i] . "'", $res); $res = str_replace($matches[1] . '[' . $i . ']', "'" . $alph[$i] . "'", $res); } $res = str_replace("''", '', $res); $var = $matches[3]; preg_match_all('~\\' . $var . '\[\]\s*=\s*\'([\w\*\-\#]+)\'~msi', $res, $matches); for ($i = 0, $iMax = count($matches[1]); $i <= $iMax; $i++) { if (@function_exists($matches[1][$i])) { $res = str_replace($var . '[' . $i . ']', $matches[1][$i], $res); } else { $res = @str_replace($var . '[' . $i . ']', "'" . $matches[1][$i] . "'", $res); } } $res = str_replace($find, $res, $str); return $res; } private function deobfuscateUrldecode($str) { preg_match('~(\$\w+=\'[^\']+\';\s*)+(\$[\w{1,40}]+)=(urldecode|base64_decode){0,1}\(?[\'"]([\w+%=-]+)[\'"]\)?;(\$[\w+]+=(\$(\w+\[\')?[O_0]*(\'\])?([\{\[]\d+[\}\]])?\.?)+;)+[^\?]+(\?\>[\w\~\=\/\+]+|.+\\\\x[^;]+;)~msi', $str, $matches); $find = $matches[0]; $res = $str; $res = stripcslashes($res); if ($matches[3] == "urldecode") { $alph = urldecode($matches[4]); $res = str_replace('urldecode(\'' . $matches[4] . '\')', "'" . $alph . "'", $res); } elseif ($matches[3] == 'base64_decode') { $alph = base64_decode($matches[4]); $res = str_replace('base64_decode(\'' . $matches[4] . '\')', "'" . $alph . "'", $res); } else { $alph = $matches[4]; } for ($i = 0, $iMax = strlen($alph); $i < $iMax; $i++) { $res = str_replace($matches[2] . '[' . $i . '].', "'" . $alph[$i] . "'", $res); $res = str_replace($matches[2] . '[' . $i . ']', "'" . $alph[$i] . "'", $res); $res = str_replace($matches[2] . '{' . $i . '}.', "'" . $alph[$i] . "'", $res); $res = str_replace($matches[2] . '{' . $i . '}', "'" . $alph[$i] . "'", $res); } $res = str_replace("''", '', $res); preg_match_all('~\$(\w+)\s*=\s*\'([\w\*\-\#]+)\'~msi', $res, $matches, PREG_SET_ORDER); for ($i = 0, $iMax = count($matches); $i < $iMax; $i++) { if (@function_exists($matches[$i][2])) { $res = str_replace('$' . $matches[$i][1], $matches[$i][2], $res); $res = str_replace('${"GLOBALS"}["' . $matches[$i][1] . '"]', $matches[$i][2], $res); } else { $res = str_replace('$' . $matches[$i][1], "'" . $matches[$i][2] . "'", $res); $res = str_replace('${"GLOBALS"}["' . $matches[$i][1] . '"]', "'" . $matches[$i][2] . "'", $res); } $res = str_replace("'" . $matches[$i][2] . "'='" . $matches[$i][2] . "';", '', $res); $res = str_replace($matches[$i][2] . "='" . $matches[$i][2] . "';", '', $res); $res = str_replace($matches[$i][2] . "=" . $matches[$i][2] . ';', '', $res); } $res = Helpers::replaceCreateFunction($res); preg_match('~\$([0_O]+)\s*=\s*function\s*\((\$\w+)\)\s*\{\s*\$[O_0]+\s*=\s*substr\s*\(\2,(\d+),(\d+)\);\s*\$[O_0]+\s*=\s*substr\s*\(\2,([\d-]+)\);\s*\$[O_0]+\s*=\s*substr\s*\(\2,(\d+),strlen\s*\(\2\)-(\d+)\);\s*return\s*gzinflate\s*\(base64_decode\s*\(\$[O_0]+\s*\.\s*\$[O_0]+\s*\.\s*\$[O_0]+\)+;~msi', $res, $matches); $res = preg_replace_callback('~\$\{"GLOBALS"}\["' . $matches[1] . '"\]\s*\(\'([^\']+)\'\)~msi', function ($calls) use ($matches) { $temp1 = substr($calls[1], $matches[3], $matches[4]); $temp2 = substr($calls[1], $matches[5]); $temp3 = substr($calls[1], $matches[6],strlen($calls[1]) - $matches[7]); return "'" . gzinflate(base64_decode($temp1 . $temp3 . $temp2)) . "'"; }, $res); $res = str_replace($find, $res, $str); return $res; } public function unwrapFuncs($string, $level = 0) { $close_tag = false; $res = ''; if (trim($string) == '') { return ''; } if ($level > 100) { return ''; } if ((($string[0] == '\'') || ($string[0] == '"')) && (substr($string, 1, 2) != '?>')) { if($string[0] == '"' && preg_match('~\\\\x\d+~', $string)) { return stripcslashes($string); } else { return substr($string, 1, -2); } } elseif ($string[0] == '$') { preg_match('~\$\w{1,40}~', $string, $string); $string = $string[0]; $matches = array(); if (!@preg_match_all('~\\' . $string . '\s*=\s*("((.*?[^\\\\])??((\\\\\\\\)+)?+)");~msi', $this->full_source, $matches)) { @preg_match_all('~\\' . $string . '\s*=\s*(\'((.*?[^\\\\])??((\\\\\\\\)+)?+)\');~msi', $this->full_source, $matches); $str = @$matches[1][0]; } else { $str = $matches[1][0]; } $this->cur = str_replace($matches[0][0], '', $this->cur); $this->text = str_replace($matches[0][0], '', $this->text); return substr($str, 1, -1); } else { $pos = strpos($string, '('); $function = substr($string, 0, $pos); $arg = $this->unwrapFuncs(substr($string, $pos + 1), $level + 1); if (strpos($function, '?>') !== false) { $function = str_replace("'?>'.", "", $function); $function = str_replace('"?>".', "", $function); $function = str_replace("'?>' .", "", $function); $function = str_replace('"?>" .', "", $function); $close_tag = true; } $function = str_replace(array('@',' '), '', $function); $safe = Helpers::isSafeFunc($function); if ($safe) { if ($function == 'pack') { $args = explode(',', $arg); $args[0] = substr(trim($args[0]), 0, -1 ); $args[1] = substr(trim($args[1]), 1); $res = @$function($args[0], $args[1]); } else { $res = @$function($arg); } } else { $res = $arg; } if ($close_tag) { $res = "?> " . $res; $close_tag = false; } return $res; } } private function deobfuscateEvalFunc($str) { $res = $str; $res = stripcslashes($res); preg_match('~function\s*(\w{1,40})\((\$\w{1,40})\)\s*\{\s*(\$\w{1,40})\s*=\s*\"base64_decode\";\s*(\$\w{1,40})\s*=\s*\"gzinflate\";\s*return\s*\4\(\3\(\2\)\);\s*\}\s*\$\w{1,40}\s*=\s*\"[^\"]*\";\s*\$\w{1,40}\s*=\s*\"[^\"]*\";\s*eval\(\1\(\"([^\"]*)\"\)\);~msi', $res, $matches); $res = gzinflate(base64_decode($matches[5])); $res = str_replace($str, $res, $str); return $res; } private function deobfuscateEvalConcatFunc($str, $matches) { $res = $matches[2]; if (str_replace('"."', '', $matches[6]) === '"create_function"') { $brackets = ''; $res = preg_replace_callback('~[\w."]+\(~', function ($match) use (&$brackets) { $replace = strtolower(str_replace('"."', '', $match[0])); if (strpos($replace, 'eval') === false) { $brackets .= ')'; return $replace; } return ""; }, $res); $res .= "'$matches[4]'" . $brackets . ';'; $res = $this->unwrapFuncs($res); } return $res; } private function deobfuscateEvalHex($str) { preg_match('~eval\s*\("(\\\\x?\d+[^"]+)"\);~msi', $str, $matches); $res = stripcslashes($matches[1]); $res = str_replace($matches[1], $res, $res); $res = str_replace($matches[0], $res, $str); return $res; } private function deobfuscateEvalVarConcat($str, $matches) { $find = $matches[0]; $res = $str; preg_match_all('~(\$\w+)\s*\.=\s*"([^"]+)";~msi', $str, $matches, PREG_SET_ORDER); $vars = []; foreach ($matches as $match) { $res = str_replace($match[0], '', $res); $res = str_replace($match[1], '"' . $match[2] . '"', $res); } $res = preg_replace('/[\'"]\s*?\.+\s*?[\'"]/smi', '', $res); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateEvalVar($str, $matches) { $find = $matches[0]; $evalVar = $matches[7]; if (!$evalVar) { $evalVar = $matches[6]; $pregVal = '\$\w+'; $pregStr = '[\'"]?([\/\w\+=]+)[\'"]?'; $pregFunc = '(?:base64_decode\s*\(|gzinflate\s*\(|strrev\s*\(|str_rot13\s*\(|gzuncompress\s*\(|urldecode\s*\(|rawurldecode\s*\(|htmlspecialchars_decode\s*\()+(?:["\']([\/\w\+=]+)["\'])'; while (preg_match('~str_replace\(["\']([\/\w]+)["\'],\s?["\']([\/\w\+=]+)["\'],\s?(?|(' . $pregVal . ')|(?:' . $pregStr . ')|(' . $pregFunc . '))\)~msi', $evalVar, $match)) { $result = $match[0]; if (preg_match('~' . $pregVal . '~', $match[3], $arg)) { $result = str_replace($match[1], $match[2], $matches[3]); } elseif (preg_match('~' . $pregFunc . '~', $match[3], $arg)) { $unwrappedVar = $this->unwrapFuncs($arg[0]); $result = str_replace($match[1], $match[2], $unwrappedVar); } elseif (preg_match('~' . $pregStr . '~', $match[3], $arg)) { $result = str_replace($match[1], $match[2], $match[3]); } $evalVar = str_replace($match[0], "\"$result\"" . ')', $evalVar); } return $this->unwrapFuncs($matches[5] . $evalVar); } $val = ''; if (!@preg_match_all('~\\' . $evalVar . '\s*=\s*("((.*?[^\\\\])??((\\\\\\\\)+)?+)");~msi', $str, $matches)) { @preg_match_all('~\\' . $evalVar . '\s*=\s*(\'((.*?[^\\\\])??((\\\\\\\\)+)?+)\');~msi', $str, $matches); $val = @$matches[1][0]; } else { $val = $matches[1][0]; } $res = str_replace($matches[0][0], '', $str); $val = substr($val, 1, -1); $text = "'" . addcslashes(stripcslashes($val), "\\'") . "'"; $string = preg_replace('~\\' . $evalVar . '(?=[^a-zA-Z0-9])~ms', $text, $res); $string = preg_replace('~\(\s*\\' . $evalVar . '~msi', '(' . $text, $string); $res = str_replace($find, $string, $str); return $res; } private function deobfuscateEval($str, $matches) { $res = $str; if (preg_match('~(preg_replace\(["\']/\.\*?/[^"\']+["\']\s*,\s*)[^\),]+(?:[\)\\\\0-5]+;[\'"])?(,\s*["\'][^"\']*["\'])\)+;~msi', $res, $matches)) { $res = str_replace($matches[1], 'eval(', $res); $res = str_replace($matches[2], '', $res); return $res; } if (strpos($res, 'e\x76al') !== false || strpos($res, '\x29') !== false || strpos($res, 'base64_decode("\\x') !== false ) { $res = stripcslashes($res); } if (strpos($res, '"."') !== false) { $res = str_replace('"."', '', $res); } if (preg_match('~((\$\w+)\s*=\s*create_function\(\'\',\s*)[^\)]+\)+;\s*(\2\(\);)~msi', $res, $matches)) { $res = str_replace($matches[1], 'eval(', $res); $res = str_replace($matches[3], '', $res); return $res; } if (preg_match('~eval\s*/\*[\w\s\.:,]+\*/\s*\(~msi', $res, $matches)) { $res = str_replace($matches[0], 'eval(', $res); return $res; } preg_match('~@?(eval|echo)\s*\(\s*([\'"?>.\s]+)?@?\s*\(?\s*(base64_decode\s*\(|pack\s*\(\'H\*\',|convert_uudecode\s*\(|htmlspecialchars_decode\s*\(|stripslashes\s*\(|gzinflate\s*\(|strrev\s*\(|str_rot13\s*\(|gzuncompress\s*\(|urldecode\s*\(|rawurldecode\s*\(|eval\s*\()+.*?[^\'")]+((\s*\.?[\'"]([^\'";]+[\'"]*\s*)+)?\s*[\'"\);]+)+~msi', $res, $matches); $string = $matches[0]; if (preg_match('~\$_(POST|GET|REQUEST|COOKIE)~ms', $res)) { return $res; } $string = substr($string, 5, strlen($string) - 7); $res = $this->unwrapFuncs($string); $res = str_replace($str, $res, $str); return $res; } private function deobfuscateEvalCodeFunc($str, $matches) { $res = substr($str, 5, strlen($str) - 7); $res = $this->unwrapFuncs($res); $res = stripcslashes($res); $res = str_replace($str, $res, $str); return $res; } private function deobfuscateEcho($str, $matches) { $res = $str; $string = $matches[0]; if (preg_match('~\$_(POST|GET|REQUEST|COOKIE)~ms', $res)) { return $res; } $string = substr($string, 5, strlen($string) - 7); $res = $this->unwrapFuncs($string); $res = str_replace($str, $res, $str); return $res; } private function deobfuscateFOPO($str, $matches) { $phpcode = Helpers::formatPHP($str); $phpcode = base64_decode(Helpers::getTextInsideQuotes(Helpers::getEvalCode($phpcode))); if (preg_match('~eval\s*\(\s*\$[\w|]+\s*\(\s*\$[\w|]+\s*\(~msi', $phpcode)) { preg_match_all('~\$\w+\(\$\w+\(\$\w+\("[^"]+"\)+~msi', $phpcode, $matches2); @$phpcode = gzinflate(base64_decode(str_rot13(Helpers::getTextInsideQuotes(end(end($matches2)))))); $old = ''; $hangs = 0; while (($old != $phpcode) && (strlen(strstr($phpcode, 'eval($')) > 0) && $hangs < 30) { $old = $phpcode; $funcs = explode(';', $phpcode); if (count($funcs) == 5) { $phpcode = gzinflate(base64_decode(str_rot13(Helpers::getTextInsideQuotes(Helpers::getEvalCode($phpcode))))); } elseif (count($funcs) == 4) { $phpcode = gzinflate(base64_decode(Helpers::getTextInsideQuotes(Helpers::getEvalCode($phpcode)))); } $hangs++; } $res = str_replace($matches[0], substr($phpcode, 2), $str); } else { $res = str_replace($matches[0], $phpcode, $str); } return $res; } private function deobfuscateFakeIonCube($str, $matches) { $subst_value = 0; $matches[1] = Helpers::calc($matches[1]); $subst_value = intval($matches[1])-21; $code = @pack("H*", preg_replace("/[A-Z,\r,\n]/", "", substr($str, $subst_value))); $res = str_replace($matches[0], $code, $str); return $res; } private function deobfuscateCobra($str, $matches) { $find = $matches[0]; $res = $str; $res = preg_replace_callback( '~eval\(\"return strrev\(base64_decode\(\'([^\']+)\'\)\);\"\)~msi', function ($matches) { return strrev(base64_decode($matches[1])); }, $res ); $res = preg_replace_callback( '~eval\(gzinflate\(base64_decode\(\.\"\'([^\']+)\'\)\)\)\;~msi', function ($matches) { return gzinflate(base64_decode($matches[1])); }, $res ); preg_match('~(\$\w{1,40})\s*=\s*\"([^\"]+)\"\;\s*\1\s*=\s*explode\(\"([^\"]+)\",\s*\s*\1\);~msi', $res, $matches); $var = $matches[1]; $decrypt = base64_decode(current(explode($matches[3], $matches[2]))); $decrypt = preg_replace_callback( '~eval\(\"return strrev\(base64_decode\(\'([^\']+)\'\)\);\"\)~msi', function ($matches) { return strrev(base64_decode($matches[1])); }, $decrypt ); $decrypt = preg_replace_callback( '~eval\(gzinflate\(base64_decode\(\.\"\'([^\']+)\'\)\)\)\;~msi', function ($matches) { return gzinflate(base64_decode($matches[1])); }, $decrypt ); preg_match('~if\(\!function_exists\(\"(\w+)\"\)\)\s*\{\s*function\s*\1\(\$string\)\s*\{\s*\$string\s*=\s*base64_decode\(\$string\)\;\s*\$key\s*=\s*\"(\w+)\"\;~msi', $decrypt, $matches); $decrypt_func = $matches[1]; $xor_key = $matches[2]; $res = preg_replace_callback( '~\\' . $var . '\s*=\s*.*?eval\(' . $decrypt_func . '\(\"([^\"]+)\"\)\)\;\"\)\;~msi', function ($matches) use ($xor_key) { $string = base64_decode($matches[1]); $key = $xor_key; $xor = ""; for ($i = 0, $iMax = strlen($string); $i < $iMax;) { for ($j = 0, $jMax = strlen($key); $j < $jMax; $j++,$i++) { if (isset($string[$i])) { $xor .= $string[$i] ^ $key[$j]; } } } return $xor; }, $res ); $res = str_replace($find, $res, $str); return $res; } private function deobfuscateFlamux($str, $matches) { $str = $matches[0]; $vars = []; preg_match_all('~(\$\w+=[\'"]\w+[\'"];)~', $str, $match); foreach ($match[0] as $var) { $split = explode('=', str_replace(';', '', $var)); $vars[$split[0]] = $split[1]; } $res = ''; preg_match_all('~(\$\w+=\$\w+[\'.]+\$\w+;)~', $str, $match); for ($i = 0, $iMax = count($match[0]); $i < $iMax; $i++) { $split = explode('=', str_replace(';', '', $match[0][$i])); $concats = explode('.', $split[1]); $str_to_concat = ''; foreach ($concats as $concat) { $str_to_concat .= $vars[$concat] ?? ''; } $vars[$split[0]] = $str_to_concat; if ($i === ($iMax - 1)) { $res = gzinflate(base64_decode(base64_decode(str_rot13($str_to_concat)))); } } return $res; } private function deobfuscateDarkShell($str, $matches) { $str = stripcslashes($matches[0]); return $str; } private function deobfuscateWso($str, $matches) { $result = $matches[0]; $contentVar = $matches[8]; $variables = []; preg_match_all('~(\[([-+\(\d*\/\)]+)\])+~', $result, $mathMatches); foreach ($mathMatches[0] as $index => $match) { $search = $mathMatches[2][$index]; $mathResult = Helpers::calculateMathStr($search); $result = str_replace("[$search]", "[$mathResult]", $result); } $dictionary = $matches[2]; $variables = Helpers::getVarsFromDictionary($dictionary, $result); $variables[$matches[6]] = $matches[7]; preg_match_all('~(\$\w+)\.=(\$\w+)~', $result, $matches); foreach ($matches as $index => $match) { $var = $matches[1][$index]; $value = $matches[2][$index]; if (!isset($variables[$var])) { $variables[$var] = (string)$variables[$value] ?? ''; } else { $variables[$var] .= (string)$variables[$value] ?? ''; } } if (isset($variables[$contentVar])) { $result = $variables[$contentVar]; } if (preg_match('~(\$\w+)\s+=\s+(["\'\w\/+]+);(\$\w+)=base64_decode\(\1\);(\$\w+)=gzinflate\(\3\);eval\(\4\);~msi', $result, $match)) { $result = gzinflate(base64_decode($match[2])); } $result = str_replace('<?php', '', $result); return $result; } private function deobfuscateAnonymousFox($str, $matches) { $result = $matches[0]; $string = $matches[7]; $array = strlen(trim($string)); $debuger = ''; for ($one = 0; $one < $array; $one += 2) { $debuger .= pack("C", hexdec(substr($string, $one, 2))); } $string = $debuger; $result = $string . $matches[8] . "';"; return $result; } private function deobfuscateBizden($str, $matches) { $result = $matches[0]; $file_content = $matches[0]; $vars = [ '$OOO0000O0' => 'base64_decode', '$OOO000O00' => 'fopen', '$O0O000O00' => 'fget', '$O0O000O0O' => 'fgetc', '$O0O000O00' => 'fgets', '$O0O00OO00' => 'fread', '$OOO00000O' => 'strtr', '$OOO0O0O00' => $file_content, '$OO00O0000' => 498876, ]; $eval_1 = base64_decode($matches[2]); preg_match_all('~(\$\w+)=\'(\w+)\'~', $eval_1, $varMatches); foreach ($varMatches[1] as $index => $varMatch) { $vars[$varMatches[1][$index]] = $varMatches[2][$index]; } $result = str_replace( '__FILE__', "'" . $file_content . "'", base64_decode( strtr( substr($file_content,0xc39 + 0x17c, 498876), 'EnteryouwkhRHYKNWOUTAaBbCcDdFfGgIiJjLlMmPpQqSsVvXxZz0123456789+/=', 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' ) ) ); foreach ($vars as $name => $value) { $result = str_replace($name, $value, $result); $result = str_replace('$GLOBALS[\''. substr($name, 1) . '\']', $value, $result); } $result = preg_replace_callback( '~(echo\s*)?base64_decode\(\'([\w=\+\/]+)\'\)~', function ($match) { if ($match[1] != "") { return 'echo \'' . base64_decode($match[2]) . '\''; } return '\'' . str_replace('\'', '\\\'', base64_decode($match[2])) . '\''; }, $result ); foreach ($vars as $name => $value) { $result = str_replace($name, $value, $result); $result = str_replace('$GLOBALS[\''. substr($name, 1) . '\']', $value, $result); } $result = '<?php ' . $result; return $result; } private function deobfuscateWsoEval($str, $matches) { $result = base64_decode($matches[2]); preg_match('~data:image/png;(.*)">~im', $result, $match); $result = str_replace( array ('%', '#'), array ('/', '+'), $match[1]); $result = gzinflate(base64_decode($result)); return $result; } private function deobfuscateAssertStr($str, $matches) { $result = $matches[1]; $result = str_rot13($result); return $result; } private function deobfuscateEvalFuncFunc($str, $matches) { $result = $matches[15]; $result = base64_decode($result); $result = Helpers::decrypt_T_func($result); return $result; } private function deobfuscateFuncVar($str, $matches) { $arg1 = str_replace($matches[5], '', $matches[3]); $funcName = str_replace($matches[8], '', $matches[7]); $insidefuncName = str_replace($matches[11], '', $matches[10]); if ($funcName === 'create_function') { $result = sprintf('%s(%s(\'%s\');', $insidefuncName, $arg1, $matches[15]); } else { $result = sprintf( '%s = %s(\'%s\',\'%s(%s(%s));\');%s(\'%s\');', $matches[14], $funcName, $matches[13], $insidefuncName, $arg1, $matches[13], $matches[14], $matches[15] ); } return $result; } private function deobfuscateEchoEval($str, $matches) { $content = $matches[4]; $content = str_replace($matches[1], $matches[2], $content); $result = str_replace($matches[3], $content, $matches[5]); return $result; } private function deobfuscateDictionaryVars($str, $matches) { $dictionary = $matches[2]; $content = $matches[4]; $vars = Helpers::getVarsFromDictionary($dictionary, $matches[0]); if (isset($vars[$matches[6]]) && $vars[$matches[6]] === 'create_function') { $content = str_replace($matches[5], 'eval(' . $matches[7] . ');', $content); } foreach ($vars as $key => $value) { $content = str_replace($key, $value, $content); } return $content; } private function deobfuscateConcatVarFunc($str, $matches) { $strVar = ""; if ($matches['concatVar'] !== "") { $strVar = Helpers::concatVariableValues($matches[2], false); } else { if ($matches['strVal'] !== "") { $strVar = $matches['strVal']; } } $result = ""; $iMax = strlen($strVar) / 2; for ($i = 0; $i < $iMax; $i++) { $result .= chr(base_convert(substr($strVar, $i * 2, 2), 16, 10)); } return $result; } private function deobfuscateConcatVarFuncFunc($str, $matches) { $result = $matches[12]; $func1 = Helpers::concatVariableValues($matches[2]); $func2 = Helpers::concatVariableValues($matches[22]); $func3 = Helpers::concatVariableValues($matches[19]); $func4 = Helpers::concatVariableValues($matches[7]); $result = sprintf('eval(%s(%s(%s(%s("%s")))));', $func1, $func2, $func3, $func4, $result); return $result; } private function deobfuscateEvalVarDoubled($str) { $result = $str; preg_match_all('~(\$\w+)\s?=\s?(\w+)\("(\w+)"\);~', $str, $varMatches); foreach ($varMatches[0] as $index => $varMatch) { $var_name = $varMatches[1][$index]; $func_name = $varMatches[2][$index]; $str = $varMatches[3][$index]; if (Helpers::isSafeFunc($func_name)) { $str = @$func_name($str); } $result = str_replace($varMatch, '', $result); $result = str_replace($var_name, $str, $result); } return $result; } private function deobfuscateVarFuncsEcho($str, $matches) { $result = $str; $func = $matches[2]; if (Helpers::isSafeFunc($matches[2])) { $result = @$func($matches[3]); $result = str_replace('<?php', '', $result); } return $result; } private function deobfuscateVarFuncsMany($str, $matches) { $result = $matches[0]; $strName = $matches[1]; $dictionaryName = $matches[4]; $dictionaryValue = 'bogp%l_zxtdqejysncm4kwuirf6vha'; $vars = Helpers::getVarsFromDictionary($dictionaryValue, "$matches[6]=$matches[7]"); $funcs = []; $result = str_replace("$matches[6]=$matches[7];", "", $result); $result = preg_replace_callback( '~(\$\w+)\s?=\s?array\([\'"]([\w+\/]+)[\'"]\s?,\s?[\'"]([\w+\/]+)[\'"](?:\s?,[\'"]([\w+\/]+)[\'"]\s?)?\);\s?((?:(?:\$\w+=\s?\w+\(\$\w+,\s?)|(?:return\s?))(join\([\'"]{2},\s?\1\))\s?\)?\s?;)~msi', function ($match) { $joinedVars = join("", [$match[2], $match[3], $match[4]]); $replace = str_replace($match[6], "'$joinedVars'", $match[5]); return $replace; }, $result ); $result = preg_replace_callback( '~global\s(\$\w+);\s?((\$\w+)\s?=\s?[\'"]([\w\/+]+)[\'"];\s?(\$\w+)\s?=\s?[\'"]([\w\/+]+)[\'"];\s?(\$\w+)\s?=\s?[\'"]([\w\/+]+)[\'"];\s?\1\s?\.=\s?"({\3}{\5}{\7})");~', function ($match) { $concatedVars = $match[4] . $match[6] . $match[8]; $replace = str_replace($match[2], sprintf('%s.="%s"', $match[1], $concatedVars), $match[0]); return $replace; }, $result ); $result = preg_replace_callback( '~((\$\w+)\s?=\s?[\'"]([\w\/+]+)[\'"];\s?(\$\w+)\s?=\s?[\'"]([\w\/+]+)[\'"];\s?return\s?"({\2}{\4})");~msi', function ($match) { $concatedVars = $match[3] . $match[5]; $replace = str_replace($match[1], sprintf('return "%s"', $concatedVars), $match[0]); return $replace; }, $result ); $result = preg_replace_callback( '~(?:class\s(?<className>\w+)\s?{\s?)?(?:public\s)?function\s(?<methodName>\w+\(\)){\s?(?<codeBlock>.*?;)\s}\s?(?:}\s?)?~msi', function ($match) use (&$funcs, $strName, $dictionaryName, $dictionaryValue) { $str = ""; $isConcat = false; if (preg_match( '~return\s[\'"]([\w+\/+]+)[\'"];~msi', $match[0], $returnCode )) { $str = $returnCode[1]; } else { if (preg_match( '~global\s(\$\w+);\s?\1\s?\.=\s?["\']([\w+\/+]+)["\'];?~msi', $match[0], $concatCode )) { $str = $concatCode[2]; $isConcat = true; } else { if (preg_match( '~global\s(\$' . substr( $dictionaryName, 1 ) . ');\s*return\s*((?:\s?\1\[?{?\d+\]?}?\s?\.?\s?)+);?~msi', $match[0], $returnCode )) { $str = Helpers::getVarsFromDictionary( $dictionaryValue, sprintf('%s=%s', $dictionaryName, $returnCode[2]) ); $str = $str[$dictionaryName]; $isConcat = false; } } } $funcs[$match['methodName']]['str'] = $str; $funcs[$match['methodName']]['concat'] = $isConcat; return ""; }, $result ); $result = preg_replace_callback( '~(\$[^' . substr($strName, 1) . ']\w+)\s?=\s?(\w+\(\));~msi', function ($match) use ($funcs, &$vars) { if (isset($funcs[$match[2]]) && !$funcs[$match[2]]['concat']) { $vars[$match[1]] = $funcs[$match[2]]['str']; } return ""; }, $result ); foreach ($vars as $name => $var) { $result = str_replace($name, $var, $result); } $result = preg_replace_callback( '~([\w_]+)\s?\(\s?([\w_]+)\s?\(\s?((?:\$hf[{\[]\d+[\]}]\s?\.?)+)\s?,\s?(\d+)\s?\),\s?((?:\d+,?)+)\);~msi', function ($match) use ($dictionaryValue, $dictionaryName) { $str = Helpers::getVarsFromDictionary( $dictionaryValue, sprintf('%s=%s', $dictionaryName, $match[3]) ); $res = ""; if (Helpers::isSafeFunc($match[2])) { $res = @$match[2]($str[$dictionaryName], $match[4]); } if (Helpers::isSafeFunc($match[1])) { $args = [$res]; $digits = explode(',', $match[5]); foreach ($digits as $digit) { $args[] = (int)$digit; } $reflectionMethod = new ReflectionFunction($match[1]); $res = $reflectionMethod->invokeArgs($args); } return "\"$res\";"; }, $result ); $strToDecode = ""; preg_replace_callback( '~(?:\$EZU\s?=\s?m9Lg\(\s?\$EZU\s*,\s?["\'](?<concat>[\w+\/]+)[\'"]\s?\)\s?;)|(?:\$EZU\s?=\s?m9Lg\(\s?\$EZU\s?,\s?(?<concatFunc>\w+\(\))\)\s?;)|(?:\$EZU\s?\.?=\s?(?:\$EZU\.)?\s?["\'](?<concatStr>[\w+\/=]+)[\'"]\s?;)|(?:\$EZU\s?\.?=\s?(?<concatFuncSingle>\w+\(\))\s?;)|(\$\w+\s?=\s?new\s\w+\(\)\s?;\s?\$EZU\s?\.?=\s?\$EZU\s?\.\s?\$\w+->(?<concatFuncClass>\w+\(\)\s?))|(?:(?<func>[^,\s]\w+\(\)))~msi', function ($match) use (&$strToDecode, $funcs) { if (isset($match['concat']) && $match['concat'] !== "") { $strToDecode .= $match['concat']; return; } if (isset($match['concatStr']) && $match['concatStr'] !== "") { $strToDecode .= $match['concatStr']; return; } if (isset($match['concatFunc']) && $match['concatFunc'] !== "") { $strToDecode .= $funcs[$match['concatFunc']]['str']; return; } if (isset($match['concatFuncSingle']) && $match['concatFuncSingle'] !== "") { $strToDecode .= $funcs[$match['concatFuncSingle']]['str']; return; } if (isset($match['concatFuncClass']) && $match['concatFuncClass'] !== "") { $strToDecode .= $funcs[$match['concatFuncClass']]['str']; return; } if (isset($match['func']) && $match['func'] !== "") { $strToDecode .= $funcs[$match['func']]['str']; return; } }, $result ); $result = base64_decode($strToDecode); return $result; } private function deobfuscateGlobalArrayEval($str, $matches) { $result = str_replace($matches[1], "", $str); $dictionary = stripcslashes($matches[3]); $dictionaryVar = stripcslashes($matches[2]); $dictionaryVar = str_replace('{"GLOBALS"}', 'GLOBALS', $dictionaryVar); $result = Helpers::replaceVarsFromDictionary($dictionaryVar, $dictionary, $result); preg_match_all('~(\$GLOBALS\[[\'\w]+\])\s?=\s?[\'"]?([\w\-\_\$]+)["\']?;\s?~msi', $result, $varMatch); foreach ($varMatch[1] as $index => $var) { $result = str_replace($varMatch[0][$index], "", $result); $result = str_replace($varMatch[1][$index], $varMatch[2][$index], $result); } return $result; } private function deobfuscateTinkleShell($str, $matches) { $result = $str; $dictionaryStr = $matches[2]; $decodeKey = Helpers::getDecryptKeyForTinkleShell(strlen($str)); $vars = [ $matches[4] => $matches[5], ]; $result = str_replace(' ', '', $result); $matches[3] = str_replace(' ', '', $matches[3]); preg_match_all('~(\$\w+)=(?:\$\w+\[\'\w\'\+\d+\+\'\w\'\]\.?)+;~msi', $matches[3], $matchVars); foreach ($matchVars[0] as $index => $match) { preg_match_all('~\$\w+\[\'\w\'\+(\d+)\+\'\w\'\]\.?~msi', $match, $values); foreach ($values[1] as $value) { if (!isset($vars[$matchVars[1][$index]])) { $vars[$matchVars[1][$index]] = $dictionaryStr[$value] ?? $value; } else { $vars[$matchVars[1][$index]] .= $dictionaryStr[$value] ?? $value; } } } $result = str_replace($matches[3], "", $result); preg_match_all('~(\$\w+)=(\$\w+)\((\$\w+),(\$\w+)\(""\),"([\w\+]+)"\);~msi', $result, $matchVars); foreach ($matchVars[1] as $index => $varName) { $func = $vars[$matchVars[2][$index]] ?? $matchVars[2][$index]; $arg1 = $vars[$matchVars[3][$index]] ?? $matchVars[3][$index]; $arg2 = $vars[$matchVars[4][$index]] ?? $matchVars[4][$index]; $argStr = $matchVars[5][$index]; if (Helpers::isSafeFunc($func)) { $value = @$func($arg1, $arg2 === 'trim' ? "" : $arg2, $argStr); $vars[$varName] = $value; } $result = str_replace($matchVars[0][$index], '', $result); } $func = $vars[$matches[10]] ?? ''; if (Helpers::isSafeFunc($func)) { $result = @$func($matches[11], $vars[$matches[12]] ?? "", $decodeKey); } $func = $vars[$matches[7]] ?? ''; if (Helpers::isSafeFunc($func)) { $result = @$func($vars[$matches[8]] ?? '', "", $result); } $func = $vars[$matches[6]] ?? ''; if (Helpers::isSafeFunc($func)) { $result = @$func($result); } return $result; } private function deobfuscateWsoFunc($str, $matches) { if (isset($matches['str'])) { return gzinflate(base64_decode($matches['str'])); } return $matches[0]; } private function deobfuscateEvalWanFunc($str, $matches) { $result = gzinflate(base64_decode($matches[4])); for ($i = 0; $i < strlen($result); $i++) { $result[$i] = chr(ord($result[$i]) - 1); } return $result; } private function deobfuscateFuncFile($str, $matches) { $result = base64_decode($matches[4]); return $result; } private function deobfuscateGulf($str, $matches) { $result = str_replace("'.'", '', str_replace($matches[2], '', $matches[1])); $vars = Helpers::collectVars($matches[2], "'"); $result = Helpers::replaceVarsFromArray($vars, $result); $tempCode = gzinflate(base64_decode($matches[4])); $result .= PHP_EOL . $tempCode; return $result; } private function deobfuscateEvalConcatAsciiChars($str, $matches) { $result = ''; $num = (int)$matches[2]; $str = (string)$matches[4]; $len = strlen($str); for ($i = 0; $i < $len; $i++) { $result .= chr(ord($str[$i]) ^ $num); } $result = str_replace(['<?php', '?>', ''], '', $result); return $result; } } /** * Class Factory. */ class Factory { /** * @var Factory */ private static $instance; /** * @var array */ private static $config; /** * Factory constructor. * * @throws Exception */ private function __construct() { } /** * Instantiate and return a factory. * * @return Factory * @throws Exception */ public static function instance() { if (self::$instance === null) { self::$instance = new self(); } return self::$instance; } /** * Configure a factory. * * This method can be called only once. * * @param array $config * @throws Exception */ public static function configure($config = []) { if (self::isConfigured()) { throw new Exception('The Factory::configure() method can be called only once.'); } self::$config = $config; } /** * Return whether a factory is configured or not. * * @return bool */ public static function isConfigured() { return self::$config !== null; } /** * Creates and returns an instance of a particular class. * * @param string $class * * @param array $constructorArgs * @return mixed * @throws Exception */ public function create($class, $constructorArgs = []) { if (!isset(self::$config[$class])) { throw new Exception("The factory is not contains configuration for '{$class}'."); } if (is_callable(self::$config[$class])) { return call_user_func(self::$config[$class], $constructorArgs); } else { return new self::$config[$class](...$constructorArgs); } } } class Template { protected $html; protected $variables = []; /** * Template constructor. * * @param string $html */ public function __construct($html) { $this->html = $html; } /** * @param $html * * @return Template */ public static function create($html) { return new static($html); } /** * @param $key * @param $value */ public function set($key, $value) { $this->variables[$key] = $value; } /** * @return string */ public function render() { if (!empty($this->variables)) { foreach ($this->variables as $key => $value) { $this->html = str_replace("@@$key@@", $value, $this->html); } } return $this->html; } } class Translate { const LANG_EN = 'EN'; const LANG_RU = 'RU'; /** * @var string */ private static $lang = self::LANG_EN; /** * @param $lang */ public static function setLang($lang) { self::$lang = $lang; } /** * @param string $key * @param null|array $params * * @param null|string $language * * @return string */ public static function getStr($key, $params = null, $language = null) { if ($language && in_array($language, [self::LANG_RU, self::LANG_EN])) { $lang = $language; } else { $lang = self::$lang; } $result = ($lang === self::LANG_RU) ? TranslateList::RU[$key] : TranslateList::EN[$key]; if ($params && is_array($params) && !empty($params)) { return vsprintf($result, $params); } return $result; } }
/var/www/iplanru/data/www/www.i-plan.ru/ai-bolit/ai-bolit-hoster.php