Z5加密

欢迎使用Z5加密。

什么是 Z5 加密?

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

支持哪些程序?

本加密要求您的代码可以在PHP 7.2下正常运行,且待加密的文件不包含我们不支持的小部分语法。 经过加密的代码,可以在PHP 5.2 - PHP 8.2的环境下独立运行,不需要安装额外扩展,也不会要求引入其它框架。

经过测试,本加密可以与以下程序配合使用。您可以基于它们开发项目、主题、插件等,之后使用Z5加密来保护您的版权。本加密与环境无关,如果您使用的技术未在该列表中,仍然可以使用本加密。

建站程序:Z-BlogPHP / WordPress / Discuz! / DedeCMS / 以及许多未经测试的建站系统...

PHP框架:Laravel / CodeIgniter / Yii / ThinkPHP 5 / 以及许多未经测试的框架...

特性

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

使用场景

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

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

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

优势

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

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

扩展阅读:PHP代码加密面面观。您可以从安全类媒体上获知市场上各类加密的现况。

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

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

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

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