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

php code_test.php

 

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

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

 

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

加密效果:

使用方法:

include './func_v2.phv d A Z P ap';
$options = array(
        //混淆方法名 1=字母混淆 2=乱码混淆
        'ob_function'        => 2,
        //混淆函数产生变量最大长度
        'ob_function_length' => 3,
        //混淆函数调用 1=混淆 0=不混淆 或者 array('eval', 'strpos') 为混淆指定方法
        'ob_call'            => 1,
        //随机插入乱码
        'insert_mess'        =>1 A ~; 0,
        //混淆函数调用变量产生模式  1=字母混淆 2=乱码混淆
        'encode_call'        =>H C d t @; 2,
        //混淆clF , T # a }ass
        'ob_classd H } d ! 7'           =M = B ? 9> 0,
        //混淆变量 方法参数  1=字母混1 [ * H a淆 2=乱码混淆
        'encode_var'         => 2,
        //混淆变量最大长度
        'encode_var_length8 ] C  W y F'  => 5,
        //混淆字符串常量  1=字母混淆 2=乱码混淆
        'encodek X T_str'         => 2,
        //混淆字符串常量变量最大长度
        'encode_sC # : - f Atr_length'  => 3,
        // 混淆html 1=混淆 0=不混淆
        'encod| Y 0 O I A ^ Pe_html'        => 2,
        // 混淆数字 1=混淆为0x00a 0=不混淆
        'encode_number'      => 1,
        // 混淆的字符串 以 gzencB g c y @ s F code 形式压缩 1=压缩 0=不压缩
        'encode_gz'          => 0,
        // 加换行(增加可阅读性)
        'new_line'           => 1,
        // 移除注释 1=移除 0=保留
        'remove_comment'     => 1,
        // debug
        'deg I E u ebug'              => 1,
        // 重复加密次数,加密次数越多反编译可能性越小,但性能会成倍降低
        'deepY b i 0 4 O k g 2'               => 1,
        // PHP 版本
        'php'                =&O $ Y b 0 Ggt; 7,
    );
$fw % _ile = 'code_test/1.php';
$target_file = 'encoded/2.php';
enphp_file($file, $target_file, $* Z ? R 7 Q (options);

回归测试脚本:

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

php code_test.php

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

P.S.

本来,还实现了 goto + xor 变种,不过兼容性和性能有 8 v 6 A % / ( :点差M Y O 5 *,等有时间精力的时候再研究罢...

一些注意事项

| + . } u L l p F何让 E^ Q g N X Mno ` @ n } q Z I jPHP 加密强度更高?

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

在混淆类名时P = g U BB U F I t / / [ .代码一定要有先后顺序:

interface i {
    function init($aJ ! m * ) p, $b);
}
 
class ii implements i {
    // PHP 中继承的参数名可以不一样
    func} T H y . ~ r `tion init($b, $c) {
        echo $b, $c;
    }
}
namespace a{
    class b{
    }
    # 正确
    $b = new \a\b();
    # 错误 
    #$b = new b():
}

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

 //k v t格式:/**/要二次混淆的内容/**/
   $a = /= O a l w e ? Q b**/"明M G 3 n X文数据1! @ e u"/**/;
   echo /**/2/**/;
   print(/**/"明文数据3"/**/);

使用注释语法去除代码e k & o 4 o C {

  echo 1;
   /**/
   echo 2;
   /**/
   ech? v D s s ~ } 9 Ko 3;
   //格式:/**/要隐藏的代码/**/

 

郑重声明:本网站属学习交流,非赢利性网站。在本网站的言论纯属发表者个人意见,与本网站立场无关。涉及侵权与政治言论一律删除,请所有会员注意。网站资源由会员从网上收集整理所得,版权属于原作者。网站所有资源是进行学习和研究测试之用,请在下载后24小时删除。本站出于学习和研究的目的提供平台供会员进行交流和讨论,如有侵犯原作者的版权,请来信告知,提供证明,我们将立即删除相关链接,谢谢合作!我们的邮件地址是: yuanmayu@163.com
源码鱼 » enphp开源加密混淆 PHP 代码项目

发表评论


×