利用gzcompress, base64_encode等方法对代码文件多次转换,加入大量的中文等不忍猝读的字符,达到加密混淆的目的.PHP从5开始支持符合[-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*规则函数,变量,类名.

网上比较常见的的如下三家产品:

  • PHP神盾

    PHP神盾,是一款无需依靠附加扩展来解析的php加密工具,保护强度是目前此类产品中的佼佼者之一.

  • PHP加密

    PHP在线加密平台(phpjm.net)是一个优秀的免费的PHP源码加密保护平台,PHP代码加密后无需依靠附加扩展来解析,服务器端无需安装任何第三方组件,可运行于任何普通 PHP 环境下.

  • 易盾PHP加密

    易盾PHP加密可以保护您的PHP源程序代码不被破解.加密后,无论是正规途径销售出去的PHP程序,还是从非法渠道获得的PHP程序,都不能还原出真正的PHP程序源代码,能让您的知识产权得到保护.

PHP神盾和PHP加密的不需要第三方组件,易盾PHP加密需要安装他们的组件,Windows版本的提供下载,Linux的要购买后才提供下载,因为没有Windows环境,暂时忽略.通过以上网站提供的在线加密,我上传了一个简单的PHP脚本,代码如下.

<?php
    function test(){
        echo 'hello world.';
    }
    test();
?>

我本地运行脚本加密后的密码,发现可以打印加密钱源代码,这也证实了我的猜想,加密后的代码要通过eval语言构造器,在代码内事无法重写的,只能通过对PHP编译器做了些手脚,就可以获得加密之前源代码了,以下是截图.

PHP加密

PHP加密

PHP神盾

PHP神盾

PHP神盾在里面还加入了一段javasript代码:

http://www.phpdp.org/index.php?mod=decode&code_key=xxx&sign=xxx

打开是侵权提示:

警告:您的行为已侵犯了本程式的使用条约,请停止您的脚步!

赶紧声明:本文仅是出于学习研究的目的,本人不提供源码破解等相关业务.