阿哥论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 299|回复: 0

PHP:使用Zend对源码加密、Zend Guard安装以及Zend Guard Run-time s...

[复制链接]

2024

主题

1

好友

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

优秀会员 助人为乐 辛勤工作 技术精英 多才多艺 优秀班竹 灌水天才 星球管理 宣传大使 灌水之王 财富勋章 版主勋章 动漫勋章 勤奋会员 论坛精英 PS高手 心 8 闪游皮肤 双鱼座 8★8➹ 志愿者 乖

发表于 2015-4-16 14:53:31 |显示全部楼层
PHP:使用Zend对源码加密、Zend Guard安装以及Zend Guard Run-time support missing的解决方法
Zend Guard是目前市面上最成熟的PHP源码加密产品了。
    刚好需要对自己的产品进行加密,折腾了一晚上,终于搞定,将碰到的问题及解决方法记录下来,方便日后需要,也可以帮助IT论坛人。
    我使用的是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,如果是IT论坛版本的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   20090626Zend Extension  220090626Zend 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版本进行安装即可。
参考资料ZendGuard 5.5.0 破解方法+注册文件KEY下载
Windows下PHP(Thread Safe与Non Thread Safe)版本说明

摘自:http://www.cnblogs.com/hongfei/p/3587399.html
PHP:使用Zend对源码加密、Zend Guard安装以及Zend Guard Run-time support missing的解决方法
该会员没有填写今日想说内容.
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

回顶部