Z5加密(Z5Encrypted)是由 Z-Blog 应用中心 出品的加密平台,也是 Z-Blog 应用中心唯一支持的加密。Z5加密针对于PHP模板二次开发等需要交付源代码的场合,专注于其授权验证的防破解问题。
Z5 加密是由 Z-Blog 应用中心 出品的加密平台,也是 Z-Blog 应用中心唯一支持的加密。Z5 加密针对于 PHP 模板二次开发等需要交付源代码的场合,专注于其授权验证的防破解问题。
Z5 加密基于虚拟机保护技术来保护你的代码。Z5 加密拥有大量的可配置项以针对不同等级的保护,极难开发通用解密方案。
技术优势
1.基于 VM 的保护,还在使用基于混淆的“加密”吗?传统的加密方案只是破坏了可读性,更有甚者只是套了一个壳,破解起来毫无技术难度。我们基于 VM 保护技术,将 PHP 编译成类汇编语言代码(字节码),再用 PHP 造了一个虚拟机,实现了对 PHP 代码完整保护。
2.高强度字节码保护,只加一层虚拟机并不够强大,因为这只是对于原始逻辑的翻译。但是,对字节码进行二次加密,打散程序代码,重组执行逻辑,就能让人拥有无限的遐想。打碎一个杯子很容易,但是要还原这个杯子本身的样子,绝大多数时候极难。
3.兼容性强大,不需要任何组件,支持 PHP 5.2 – 7.4 的环境均可运行,完美解决各类 CMS 二次开发、模板版权保护所需痛点。以 PHP 7.2 为基底,支持其所支持的绝大部分语法,加密核心函数库时大部分代码不需要改造。
Z5 加密的特性
使用虚拟机执行字节码,字节码经过二次加密。最大限度保留 PHP 的有关动态功能。基于 PHP 7.2 规范编译代码,最高可支持 PHP 7.4,最低支持至 PHP 5.2。完全无需任何扩展。如果你的 PHP 文件是一个 Z-BlogPHP 收费应用的组成部分,且这个应用上架到了 Z-Blog 应用中心:用户的每次下载,都会自动触发加密。每一个用户下载到的文件都完全不同。
Z5 加密的使用场景
Z5 加密专注于解决授权验证机制的防破解问题。因虚拟机技术局限,被加密的函数执行效率有较大损失,不便用于整站加密。我们建议您在以下场合应用加密:
用户打开您的程序的配置页时;需要运行某些速度慢的功能(如批量发邮件)前,调用加密过的函数,来检查用户授权。用户安装你的程序的时候(对应 Z-BlogPHP 的 InstallPlugin 函数)。
Z5 加密优势
现行市场上的加密系统,包括以下几种方案:
混淆型“加密”:一部分只是将变量名更改为人类不可读的变量名,对于反破解几乎没有帮助。另一部分只是拆分、打散了原有明文,破解难度仍然不高。壳加密:直接把源代码进行加密,运行时解密源码后进行 eval 以实现“加密”效果。通过对 PHP 的 eval 自身挂上钩子,或者挂上了 Zend 的编译入口 zend_compile_string,即可得到完整源码。这一种加密甚至没有混淆型来得有用。扩展加密:通过各种编译手段将 PHP 代码编译为不可识别的代码,但需要服务器加装特定扩展。一部分实现相对较弱的扩展,甚至可以用与“壳加密”同样的解密方式来破解。裸虚拟机加密:没有任何保护的虚拟机,解密难度极大,但只要针对性破解也不难写出通用解密方案。