博主信息
何澤小生的博客
博文
70
粉丝
0
评论
0
访问量
52402
积分:1
P豆:324

PHP 代码混淆

2020年10月12日 15:04:43阅读数:179博客 / 何澤小生的博客/ php 常见问题集锦

代码混淆, 将源码文件进行算法加密后生成的乱码文件(不影响程序执行),能够有效的防止代码泄露造成的不必要损失。

下面有一些常用的混淆方式,大家可以根据自己需要进行查看:

  1. Zend Guard (http://www.zend.com/en/products/zend-guard)

    1. 类型:基于加解密客户端
    2. 是否免费:收费
    3. 优劣势分析:PHP官方出品,是目前成熟的加密方案,不支持PHP7Zend Guard用于加密(安装在开发或打包环境),Zend Guard Loader用于解密(安装在线上环境)[软件下载](https://teddysun.com/417.html) 市面上仅流传出Zend Guard 6.0的破解版,支持PHP 5.3 5.4,安全平台使用的是PHP 5.6.30。
  2. ionCube PHP Encode (http://www.ioncube.com)

    1. 类型:基于加解密客户端
    2. 是否免费:收费
    3. 优劣势分析:Zend Guard只能对带有PHP标记或源码的文件进行加密,而ionCube可对PHP或非PHP文件进行加密,ionCube在功能方面经过测试优胜于Zend公司的ZendGuard
    4. 没有找到破解版。
  3. Swoole Compiler (https://wiki.swoole.com/wiki/index/prid-16)

    1. 类型:加密后可直接运行
    2. 是否免费:收费
    3. 优劣势分析:支持5.4-7.2全系列版本,优点:进行了很深入的编译优化,以目前 PHP 反汇编领域的情况看,根本破不了。
    4. Swoole Compiler 有两道工序,第一步:从源码编译为 opcode,这一步会移除代码中除逻辑以外的其他信息,如注释、变量名称、类名、常量、函数名。 第二步:opcode 加密混淆处理。这一步才是关键,最终生成的指令连 vldphpdbg 这些工具都无法识别。
  4. PHP Screw (https://github.com/Luavis/php-screw)

    1. 类型:加密后可直接运行
    2. 是否免费:免费
    3. 优劣势分析:开源项目,没有维护了。加密算法比较弱,网上已有 [破解方法] https://www.bbsmax.com/A/gGdX29GZJ4)
  5. PHP Screw plus (http://www.jianshu.com/p/f6425e2f8643)

    1. 类型:基于扩展
    2. 是否免费:免费
    3. 优劣势分析:开源项目,基于扩展来加解密,采用AES256算法。他还有个功能,可阻止执行未经许可的php文件,这样黑客就算上传了webshell也不能执行。
  6. PHP Beast(https://github.com/liexusong/php-beast)

    1. 类型:基于扩展
    2. 是否免费:免费
    3. 优劣势分析:开源项目,基于扩展来加解密,可选DESAESBASE64加密算法。支持自定义开发加密模块。

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • php的函数及方法有:1、echo和print的区别,echo输出后没有返回值,但print有返回值;2、include与require的区别,【include()】是有条件包含函数,而【require
    PHP中new self() 和 new static()对小白来说较,两者有较明显的不同。
    php转换c的方法:首先需要依赖的包,并在源的基础上打补丁;然后指定CMake的位置;接着进行编译;最后使用hphp直接编译为c++并执行即可。
    phpcms写php方法:1、使用【{php ;}】标签,后面跟上一句php;2、phpcms的模板文件通过include包含进去,所以直接用php原生语句是可以的。
    javaphp的方法:1、将一个数组类型或对象类型的List与数组组合,并返回List;2、使用二维数组参数方法返回组合的二维数组类型,并使用了递归;3、将一个数组类型或二维数组类型与数组组合
    PHP执行过程是:1、PHP->启动php及zend引擎;2、加载注册拓展模块->对进行词法、语法分析;3、编译成opcode->执行opcode。
    PHP页面跳转有:1、【header()】函数,为【header("Location:http://www.php.com.cn/");】;2、Meta标签,为【meta
    这里介绍一款PHP静态分析工具:PHPStan,不需要运行,也可以对进行严格的语法检测,尽量将运行错误率降到最低。
    这篇文章主要为大家详细介绍了php短信接口php短信发送、php批量发送、php获取余额等,感兴趣的小伙伴们可以参考一下
    php删除文件:首先设置参数来删除文件路径,为【$path2= ".

    2020-10-09

    149

    php转c的实现方法:首先安装需要依赖的包;然后指定CMake的位置;接着通过“export HPHP_HOME=`pwd`”等命令进行编译;最后直接编译为c++并执行即可。
    修改php网站源的方法:首先安装【SublimeText3_ha】软件,并运行相应版本;然后打开源所在文件夹;接着选中所要编辑的源文件;最后编辑并保存即可。
    PHP 8 Beta 3​ 现已发布,自从进入 Beta 阶段,PHP 8 已进入特性冻结期,不会有特性上的变更。
    php手机跳转是【function wappc($ac='towap'){$is_wap=checkmobile();if($is_wap){ if($_SERVER['HTTP_HOST']==.
    PHP中含有多种不同类型,本文对操作类进行分类规划,总结出操作类常用的功能,供大家参考。
    php中全角数字转半角的方法:使用replace转换,为【for($i=0;$i<$fnlen;$i++) $fnum = str_replace($nums[$i],$fnums[$i]
    本文讲述了php如何模拟qq登录,原理是用curl模拟发送post登录,cookie保存本地,这里理论可以支持永久单挂qq,下面就让我们来看看吧。
    php实现URL转发的方法:1、使用“$_SERVER["SERVER_NAME"]”变量;2、通过“header("location:http://youname.com
    html中插入php不执行的解决方法:首先打开httpd.conf配置文件;然后在文件中添加内容【AddType application/x-httpd-php .php .html】即可。
    PHP不能转为.NET,因为两种是完全不同的语言,所以无法转换,PHP是一种在服务器端执行的嵌入HTML文档的脚本语言,而.NET语言的全称应该是ASP.NET,是新推出的一种编程框架理论或者说是一种编程标准