最新公告
  • 欢迎您光临剑来源码,购买独家源码,请前往销售大厅!立即加入我们
  • 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;
       //格式:/**/要隐藏的代码/**/

     

    剑来源码专注于网络资源分享,百度搜索:剑来源码。
    剑来源码 » enphp开源加密混淆 PHP 代码项目

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    剑来源码
    专注为开发人员提供建站资源

    发表评论

    升级SVIP尊享更多特权立即升级