// 一个开源加密混淆 PHP 代码项目 // a Open Source PHP Code Confusion + Encryption Project
曾经,作者也是商业软件开发者中小将一名,软件总是被人破解,于是花了几个月研究了 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);
可以将你要测试的代码放至 code_test 中,运行命令:
php code_test.php
程序会自动进行回归测试,我也放了一些之前要测试的脚本在里边
P.S.
本来,还实现了 goto + xor 变种,不过兼容性和性能有点差,等有时间精力的时候再研究罢...
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(): }
//格式:/*<encode>*/要二次混淆的内容/*</encode>*/ $a = /*<encode>*/"明文数据1"/*</encode>*/; echo /*<encode>*/2/*</encode>*/; print(/*<encode>*/"明文数据3"/*</encode>*/);
echo 1; /*<hide>*/ echo 2; /*</hide>*/ echo 3; //格式:/*<hide>*/要隐藏的代码/*</hide>*/
问题内容: 我正在做一个登录页面。我有UITextField作为密码。 显然,我不希望看到密码。相反,我希望键入时显示圆圈。您如何设置发生这种情况的领域? 问题答案: 请将您的UItextField属性设置为安全。 试试这个.. textFieldSecure是您的UITextField …
对于评估,我希望使用DexGuard加密APK文件中的所有字符串,但不使用模糊、收缩或优化选项 这是可能的还是我被迫混淆APK来加密它 我使用以下命令行加密所有类: conf.pro如下所示: 我已经使用了工具获取所有类名,然后使用
vite 项目混淆加密 怎么配置?下面这样配置会报错caught TypeError: Failed to resolve module specifier "vue". Relative references must start with either "/", "./", or "../". 想要只在生产环境build添加加密,应该怎么写呢?
我一直在摆弄Proguard配置,我想测试只是为了优化 但我仍然会遇到这样的错误: java.lang.IllegalArgumentExc0019:找不到[org/apache/log/log4j/core/jackson/Log4jXmlMoules](有1个已知的超级类)和[org/apache/log/log4j/core/jackson/Log4jJsonMoules](有4个已知的超级
Powershell的混淆目前已经使用的越来越多,国内外也有了较多的研究,在今年的BH大会上也有对应的议题,关注点是反混淆,那么里面的一些姿势很值得我们学习,我们提供一些混淆实例,来让大家对于PS的混淆做到一个初步了解,也为防御混淆提供一些思路。 实例 在混淆之前,先看看powershell编码执行的方式。 -EC,-EncodedCommand,-EncodedComman,-EncodedCo
问题内容: 服务器上出现了一些垃圾邮件问题,在找出并删除了一些Perl和PHP脚本后,我决定检查它们的实际作用,尽管我是高级PHP程序员,但对Perl经验很少,有人可以给我一个建议吗?在这里手写脚本: http://pastebin.com/MKiN8ifp (这是一长行代码,脚本称为list.pl) 脚本的开始是: 它以很少的非标点字符继续,直到最后: 问题答案: 更换用得到这个。再次用有效负载