这个PHP有什么作用?它是编码器/解码器吗?

mar*_*dge 3 php encryption ioncube

我根本不懂PHP; 这更像是一个好奇的问题.

下面的PHP函数在文本文件中是几千个字符的文本,例如:

xnEFstUhSNWGSx5zTq4X/AUw/rtism+klrBETWg0xE1uwb49rnRxrgrgY5EEp3Y0uvTcvLqhUFOP
4n7LDLQpQ9UACTyuUjGBKmUScQCYLCP08u06t0K3nWTNiM7Q6bQMk/iZBE+UK1ywbVC1Lzr9OOEK
Run Code Online (Sandbox Code Playgroud)

这个php函数是否将随机文本编码到php中?可以从中找出加密方案吗?

编辑:客户说他拥有由其他人开发的代码的完全所有权和权利.怎么解码?它需要密码吗?

<?php //003ac
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);
?>
Run Code Online (Sandbox Code Playgroud)

met*_*ode 11

它几乎是由离子立方体编码的PHP,如果你愿意,也可以进行混淆.Ioncube是一个非自由混淆的字节码执行引擎,它ioncube loader是处理混淆代码的库.

值得一提的是,'deobfuscator'是一个免费的库,它已经加载到我见过的大多数PHP安装中.


Emi*_*röm 5

它由ionCube加密.ionCube扩展将处理代码的解密.它可能是您自己解码的,但请检查您与开发人员的许可协议,因为它不确定这样做是否合法.

该部分代码仅检查您的服务器上是否安装了ionCube扩展.它涉及文件的解密(我认为,读取混淆的代码并不容易:-)).