最新公告
  • 欢迎您光临源码库,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入
  • enphp开源加密混淆 PHP 代码项目

    php code_test.php

     

    enphp开源加密混淆 PHP 代码项目

    如果您是本站会员;我们将为您提供一对一建站讲解!

     

    曾经,作者也是商业软件开发者中小将一名,软件总是被人破解,于是花了几个月研究了 EnPHP。这套项目也有偿提供过给很多人,不过,应该网上存在不少破解了。项目主要贵在为大家提供一个加密混淆和还原的思路。// 严禁用于非法用途。

    加密效果:

    enphp开源加密混淆 PHP 代码项目插图源码资源库

    使用方法:

    include './func_v2.php';
    $options = array(
            //混淆方法名 1=字母混淆 2=乱码混淆
            'ob_function'        => 2,
            //混淆函数产生变量最大长度
            'ob_function_length' => 3,
            //混淆函数调用 1=混淆 0=不混淆 或者 array('eval', 'strpos') 为混淆指定方法
            'ob_call'            => 1,
            //随机插入乱码
            'insert_mess'        => 0,
            //混淆函数调用变量产生模式  1=字母混淆 2=乱码混淆
            'encode_call'        => 2,
            //混淆class
            'ob_class'           => 0,
            //混淆变量 方法参数  1=字母混淆 2=乱码混淆
            'encode_var'         => 2,
            //混淆变量最大长度
            'encode_var_length'  => 5,
            //混淆字符串常量  1=字母混淆 2=乱码混淆
            'encode_str'         => 2,
            //混淆字符串常量变量最大长度
            'encode_str_length'  => 3,
            // 混淆html 1=混淆 0=不混淆
            'encode_html'        => 2,
            // 混淆数字 1=混淆为0x00a 0=不混淆
            'encode_number'      => 1,
            // 混淆的字符串 以 gzencode 形式压缩 1=压缩 0=不压缩
            'encode_gz'          => 0,
            // 加换行(增加可阅读性)
            'new_line'           => 1,
            // 移除注释 1=移除 0=保留
            'remove_comment'     => 1,
            // debug
            'debug'              => 1,
            // 重复加密次数,加密次数越多反编译可能性越小,但性能会成倍降低
            'deep'               => 1,
            // PHP 版本
            'php'                => 7,
        );
    $file = 'code_test/1.php';
    $target_file = 'encoded/2.php';
    enphp_file($file, $target_file, $options);

    回归测试脚本:

    可以将你要测试的代码放至 code_test 中,运行命令:

    php code_test.php

    程序会自动进行回归测试,我也放了一些之前要测试的脚本在里边
    P.S.

    本来,还实现了 goto + xor 变种,不过兼容性和性能有点差,等有时间精力的时候再研究罢...

    一些注意事项

    如何让 EnPHP 加密强度更高?

    1. 将全局逻辑尽量变成类方法,EnPHP 对类加密会有更好的加密混淆效果
    2. 对于 class 的变量初始化请放至析构(__construct)方法中
    3. 对于多维数组能用数字下标尽量用数字
    4. 使用注释加密加强混淆强度

    在混淆类名时,代码一定要有先后顺序:

    interface i {
        function init($a, $b);
    }
    class ii implements i {
        // PHP 中继承的参数名可以不一样
        function init($b, $c) {
            echo $b, $c;
        }
    }
    namespace a{
        class b{
        }
        # 正确
        $b = new \a\b();
        # 错误
        #$b = new b():
    }

    使用注释语法加密字符串(支持字符串+数字):

     //格式:/**/要二次混淆的内容/**/
       $a = /**/"明文数据1"/**/;
       echo /**/2/**/;
       print(/**/"明文数据3"/**/);

    使用注释语法去除代码:

      echo 1;
       /**/
       echo 2;
       /**/
       echo 3;
       //格式:/**/要隐藏的代码/**/

     

    1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
    2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
    3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!

    源码资源库 » enphp开源加密混淆 PHP 代码项目