Zend Guard使用指南及问题处理
zend guard是目前市面上最成熟的php源码加密产品了。
刚好需要对自己的产品进行加密,折腾了一晚上,终于搞定,将碰到的问题及解决方法记录下来,方便日后需要,也可以帮助其他人。
我使用的是wampserver,其中php的版本是5.3.10。
zend guard的安装及破解
点击下载zend guard5.5.0,下载完成后,请自行傻瓜化安装
这里需要注意以下几点:
1、本key的有效时间为2010年7月10号,因此激活时请将自己电脑系统时间调整至这个时间以前
2、本key激活的为试用版,加密过的文件只有14天有效时间,因此在加密文件时,请将自己电脑系统时间向后调整n年,比如2099-12-31
3、下载授权文件[zend_guard授权文件.zip],解压得到zend_guard.zl,即为激活用的文件
4、打开zend guard 5.5.0,[help]->[register]->[search for a license file on my disk],选择文件激活即可。
如何使用zend guard进行加密?
1、打开zend guard 5.5.0,[file]->[new]->[zend guard project],新建项目
2、在弹窗的窗口,前3项随便填吧,最后一项是加密后文件的保存位置,然后[next];
3、本步骤是选择要加密的文件,可以为单个文件[add file]和整个文件夹[add folder],然后[next]
4、接下来是选择php版本[与你服务器上php的版本相对照],这里很重要,版本不对会出错,[finish]完成项目的创建
5、在zend guard左侧的guard explorer中,可以看到你新建的项目了,鼠标选中后,右键[encode project],完成
zend guard run-time support missing问题的解决
虽然现在可以成功加密php源码了,但是当执行脚本的时候,会发现不能正常执行,会显示如下信息
zend guard run-time support missing!
one more more files on this web site were encoded by zendguard and the required run-time support is not installed orproperly configured.
......
原来,加密后的php代码需要zendguardloader模块才能正常运行。
因为我的php版本是5.3.10的,所以我这里只提供了zendguardloader-php-5.3-windows,如果是其他版本的php,请自行百度。
点击下载zendguardloader-php-5.3-windows
下载好后解压压缩包,找到目录下的 zendloader.dll 文件,将它放到你的php目录下ext下,再编辑php.ini文件,添加一段代码(如):
[zend.loader]
zend_loader.enable=1
zend_loader.disable_licensing=1
zend_loader.obfuscation_level_support=3
zend_loader.license_path=
zend_extension="你的php安装目录\ext\zendloader.dll"
重启wampserver
运气好的话,会发现可以成长执行了,运气不好的话,还是会发现以上错误。
这里我们已经安装了zend guard loader了,为什么还是无法执行zend加密后的php脚本呢?
通过查看输出phpinfo()信息,我发现有这么几行信息:
php extension 20090626
zend extension 220090626
zend extension build api220090626,ts,vc9
请注意,其中的ts是thread safety的简写(即线程安全)
一时也找不出原因,索性直接打开zend guard官网进行搜索,然后就解决了。
原来,zend guard loader只支持nts的版本,意味着如果你的php版本是ts的话,就没法使用zend guard loader了,如果你想查看自己的php是ts还是nts的,只需要输出phpinfo,然后搜索下:thread safety,disabled对应nts版本,否则为ts。
因此,终极解决办法就是,下载个php nts版本进行安装即可。
推荐阅读
-
一、mysql数据库,忘记密码怎么处理及处理过程中遇见的问题
-
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
-
vue-cli axios请求方式及跨域处理问题
-
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
-
Android多线程及异步处理问题详细探讨
-
MS SQL Server2014链接到MS SQL Server 2000的解决方案及问题处理
-
Zend Guard使用指南及问题处理
-
Linux shell编程中IO和条件及循环处理的细节问题讨论
-
Python cx_freeze打包工具处理问题思路及解决办法
-
Zend Guard一些常见问题解答