2

我想通过脚本识别 ioncube 编码的 PHP 文件。我在每个 ioncube 编码的 PHP 文件中都看到了一些常见的字符串:

<?php //003ab
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
?>

我想知道这个字符串是否适用于所有 ioncube 编码文件,无论 ioncube 版本或在编码操作发生时运行的平台 ioncube 是什么。

4

1 回答 1

0

在结束 php 标记之后?>Ioncube 文件总是以:0a 03 c1 2b字节开头

更新:

然后你需要加载 ioncube 扩展,然后:

“5.4.1 混合 ioncube_read_file(string path [,bool &was_encrypted [,s​​tring passphrase] ] ] ) ... 如果文件被成功读取,则内容将作为二进制安全字符串返回。”

IONCUBE 手册: http: //www.ioncube.com/USER-GUIDE.pdf

于 2011-11-27T11:32:08.757 回答