Z5加密

欢迎使用Z5加密。

什么是 Z5 加密?

  • Z5加密是由 Z-Blog 应用中心 出品的加密平台,也是 Z-Blog 应用中心唯一支持的加密。
  • Z5加密针对于PHP模板二次开发等需要交付源代码的场合,专注于其授权验证的防破解问题。
  • Z5加密基于虚拟机保护技术来保护你的代码。
  • Z5加密拥有大量的可配置项以针对不同等级的保护,极难开发通用解密方案。

特性

  • 使用虚拟机执行字节码,字节码经过二次加密。
  • 最大限度保留PHP的有关动态功能。
  • 基于PHP 7.2规范编译代码,最高可支持PHP 7.4,最低支持至PHP 5.2。
  • 完全无需任何扩展。
  • 如果你的 PHP 文件是一个 Z-BlogPHP 收费应用的组成部分,且这个应用上架到了 Z-Blog应用中心:用户的每次下载,都会自动触发加密。每一个用户下载到的文件都完全不同。

使用场景

Z5加密专注于解决授权验证机制的防破解问题。因虚拟机技术局限,被加密的函数执行效率有较大损失,不便用于整站加密。我们建议您在以下场合应用加密:

  • 用户打开您的程序的配置页时;
  • 需要运行某些速度慢的功能(如批量发邮件)前,调用加密过的函数,来检查用户授权。
  • 用户安装你的程序的时候(对应 Z-BlogPHP 的 InstallPlugin 函数)。

如何正确地加密授权代码?请查看授权验证指南

优势

现行市场上的加密系统,包括以下几种方案:

  • 混淆型“加密”:一部分只是将变量名更改为人类不可读的变量名,对于反破解几乎没有帮助。另一部分只是拆分、打散了原有明文,破解难度仍然不高。扩展阅读:黑客如何破解这一类型的加密
  • 壳加密:直接把源代码进行加密,运行时解密源码后进行eval以实现“加密”效果。通过对PHP的eval自身挂上钩子,或者挂上了Zend的编译入口 zend_compile_string,即可得到完整源码。这一种加密甚至没有混淆型来得有用。扩展阅读:黑客如何破解这一类型的加密
  • 扩展加密:通过各种编译手段将PHP代码编译为不可识别的代码,但需要服务器加装特定扩展。一部分实现相对较弱的扩展,甚至可以用与“壳加密”同样的解密方式来破解。
  • 裸虚拟机加密:没有任何保护的虚拟机,解密难度极大,但只要针对性破解也不难写出通用解密方案。

您的核心代码,您认为,是只要破解者付出1元1个文件的代价,就可以得到的吗?

Z5加密做了什么呢?您可以认为,Z5加密是以上所有加密的集大成者,并且不需要任何额外扩展。

  1. 首先,我们将 PHP 编译成为了字节码,您可以认为这是一种类似汇编语言的代码。我们直接在这个“汇编”层面,对代码进行展开、优化、打散、混淆、重组、加花,把你的原始代码拆分得支离破碎。
  2. 我们再在您的字节码上加了一个强壳,保证只要环境验证不通过,您的代码就不会执行。
  3. 我们用 PHP 造了一个 CPU(即虚拟机的通俗说法),用于执行第一步所说的字节码。
  4. 我们再对这个 CPU 进行动态混淆,实现了对 PHP 代码的完整保护。

破解是一门艺术,但是一旦破解的成本要远高于购买您的程序的成本,那么,您认为还有人想要破解您的程序吗?这样实现的加密,大大提升了破解的门槛和所需的时间,并且不需要服务器安装特定的扩展。相信这将会是您加密授权代码最优的选择。