图解PHP使用Zend Guard 6.0加密方法教程

作者:袖梨 2022-06-24

下面就简单说说如何利用 zend guard进行加密我们的php源代码。

目前zend guard最新的版本是 6.0,下载地址:http://www.zend.com/en/products/guard/downloads

详细的英文文档说明在这里:http://files.zend.com/help/Zend-Guard/zend-guard.htm#install.htm

【注意】:使用zend guard加密后的代码在执行php脚本的时候需要加载解码器:Zend Guard Loader,注意版本的一致。

设置 Zend Guard Loader 的方法请见本文最后部分。

目前,zend guard 6.0 支持 php5.3和php5.4两个版本。

打开 zend guard 6.0 界面如下:

PHP使用Zend Guard 6.0加密方法讲解

如果你没有注册,显示的是 Trial Version 试用版。mac系统下是没有破解版的,不过win下是有的,怎么去找,你懂的。

试用版在加密的时候,会提示:

** WARNING **

Working in trial mode - Cannot find the license file: zend_guard.zl (path was: /Applications/Zend Guard 6.app/Contents/Resources/plugins/com.zend.guard.core.resources.macosx_6.0.0.201305051344/resources).

that will expire after 14 days !

** WARNING **

试用版:

PHP使用Zend Guard 6.0加密方法讲解

1、加密的代码不会优化;

2、加密的文件14天后过期;

3、如果使用license授权,license 3天后过期。

license 界面:

当启用了license,我们需要先生成一个 license key,然后再生成 license。

PHP使用Zend Guard 6.0加密方法讲解

PHP使用Zend Guard 6.0加密方法讲解

生成的license授权文件后缀是 .zl,比如 test1.zl,里面的内容大致如下:

Product-Name = test1

Registered-To = test1.com

Hardware-Locked = No

Com = www.Piaoyi.org

Expires = 28-Jan-2015

Produced-By = Zend Encoder trial

Verification-Code = wG5ff2uhlyRRrgS8JeqQLEbEpL+rAhQTMVHXZq+9PYFkxV0BfDxID3Cl6Q==

当启用了license授权后,在php.ini就需要配置 zend_loader.license_path= 的值了。比如:

zend_loader.license_path=/Users/CCMAC/Zend/test1/test1.zl

如果不配置 license路径,就是提示php警告:

PHP Warning: No license for this product (test1) - make sure zend_loader.license_path is properly configured in your ini file! in /Users/CCMAC/php/zend/1.php on line 0

PHP Warning: License check failed! in /Users/CCMAC/php/zend/1.php on line 0

混淆设置如下:

PHP使用Zend Guard 6.0加密方法讲解

更多待补充。。。。。

如何为 php 服务器安装 zend guard loader 的说明:

MAC下的安装步骤(参考):

1、下载 Zend Guard Loader 6.0.0 (for PHP 5.3 or 5.4) ,网址: http://www.zend.com/en/products/guard/downloads

文件是:Zend Guard Loader (Runtime for PHP 5.4) 6.0.0,类型:DMG。

Mac下载地址:http://downloads.zend.com/guard/6.0.0/ZendGuardLoader-70429-PHP-5.4-darwin10.7-x86_64.tar.gz

2、从压缩包里提取 ZendGuardLoader.so (Linux) or ZendLoader.dll (Windows) ;

mac下的ZendGuardLoader.so,只有3.3版本的。

3、编辑php配置文件 'php.ini' :

zend_extension = /usr/local/lib/php/ZendGuardLoader.so ##路径根据实际情况而定

zend_loader.enable=1

zend_loader.disable_licensing=0

zend_loader.obfuscation_level_support=3

zend_loader.license_path=

4、如果你同时使用 Zend debugger,请确保在 Zend Guard Loader 加载之后加载.

5、如果你使用 ioncube loader,请确保在 Zend Guard Loader 加载之前加载.

6、重启 Web server.

安装完毕后,用 phpinfo() 函数查看,有这类描述:“ with Zend Guard Loader v3.3”,出现下图即为成功:

PHP使用Zend Guard 6.0加密方法讲解

注意:MAC os x目前已经没有了32位的版本,新出的都是64位。因此,在MAC下安装了php5.3之后,再到zend官网去找 ZendGuardLoader.so,你会发现zend根本就没有出 64位版本的 ZendGuardLoader.so,只有32位的,这个时候,如果你强行引用32位的 ZendGuardLoader.so for mac php5.3,就会出现下列错误:

Failed loading /usr/local/lib/php/php53/ZendGuardLoader.so: dlopen(/usr/local/lib/php/php53/ZendGuardLoader.so, 9): no suitable image found. Did find:

/usr/local/lib/php/php53/ZendGuardLoader.so: mach-o, but wrong architecture

这个错误,官方回复说无解,此路不通。

At present we only support 32 bit on the Mac for backward compatibility. In the next major version we will probably move to 64 bit only. . You're simplest solution might be to download Zend Server CE for the Mac and get a complete 32 bit stack.

相关文章

精彩推荐