如何让EnPHP加密强度更高?加密效果使用方法回归测试脚本
温馨提示:这篇文章已超过558天没有更新,请注意相关的内容是否还可用!
当时,作者只是商业工具开发者中小将一名,软件总是被人破解,于是花了几个月研究了EnPHP。这套项目也是偿提供过给这些人,不过,应该网上存在不少破解了。项目主要贵在为你们提供一个加密混淆和还原的模式。//禁止用于非法用途。
加密效果
使用方法
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);
回归测试脚本
可以将你要测试的代码放至中,运行命令:
php.php
程序会手动进行回归测试php源码混淆类加密,我也放了一些之前要测试的脚本在上面
原本,还实现了goto+xor变种,不过兼容性和性能有点差php源码混淆类加密,等有时间精力的之后再研究罢…
如何让EnPHP加密强度更高?
1.将全局逻辑尽量变成类方式,EnPHP对类加密会有更好的加密混淆效果
2.对于class的变量初始化请放至析构()方法中
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项目源码
提取码:无
解压码:无
下载
本文来自网络,如有侵权请联系网站客服进行删除
还没有评论,来说两句吧...