PHP代码混淆与加密——php screw plus

栏目: IT技术 · 发布时间: 5年前

内容简介:php是一个开源的、广受欢迎的语言,php应用常常是以代码明文的发式发布,但是有时候对于发布的代码我们想要进行保护,需要对php代码进行混淆与加密,让增加破解者的逆向难度,从而达到保护自己成果的目的。在市面上流行的加密方案非常多,比如:Zend Guard:遗憾的是不支持PHP7

php是一个开源的、广受欢迎的语言,php应用常常是以代码明文的发式发布,但是有时候对于发布的代码我们想要进行保护,需要对 php 代码进行混淆与加密,让增加破解者的逆向难度,从而达到保护自己成果的目的。

在市面上流行的加密方案非常多,比如:

Zend Guard:遗憾的是不支持PHP7

IonCube PHP Encoder:优于Zend Guar。但是收费。

Swoole Compiler:这一款 工具 进行了很深入的编译优化,相关牛B。很可惜,也收费,还很贵。

PHP Screw Plus:基于扩展来加解密,采用AES256算法,还可阻止执行未经许可的php文件。性能、防破解各项指标非常均衡,更重要的是免费。

今天,我们重点介绍的就是PHP Screw Plus这一款工具。因为名字实在有点长,以下简称Screw。

在开始介绍之前,假设大家对 Linux 操作、PHP扩展编译已经了解。因为Screw只能运行在Linux平台上,所以我们都会在CentOS 7.5上进行操作演示。(PHP谁还跑在Windows上呢-_-)

1、下载代码: 点击链接传送

这里,我们将下载的zip压缩包放在/www/setup/splot-php-screw-plus-master.zip

解压后,我们会得到/www/setup/php-screw-plus,进入这个目录。

2、编译扩展(这一步是编译扩展的套路操作,如果不清楚,可以给我私信)

phpize

./configure --with-php-config=php-config的路径

make

make install

修改php.ini

重启php可以看到phpinfo里成功加载了扩展php_screw_plus

PHP代码混淆与加密——php screw plus

备注,因为代码的加密是基于密钥的,所以在编译之前可以修改源码包下的php_screw_plus.h里的CAKEY对默认密钥进行修改,保存之后再进行编译,如下图:

PHP代码混淆与加密——php screw plus

3、编译加密工具

执行完第2步后,把扩展编译完成了,但是加密代码的工作还没有编译出来。这时候我们发现/www/setup/php-screw-plus目录下多了一个tools目录。进入tools目录执行make,可以编译出screw,这个就是加密php的工具:

PHP代码混淆与加密——php screw plus

4、实验

1) 假设站点根目录为/www/wwwroot/default。进入这个目录,新建index.php,内容如下:

PHP代码混淆与加密——php screw plus

2) 执行以下面令,加密这个文件:

/www/setup/php-screw-plus/tools/screw  index.php

3) 加密后的代码如下:

PHP代码混淆与加密——php screw plus

是不是认不出来了:)

4) 从浏览器访问index.php,我们可以看到:

PHP代码混淆与加密——php screw plus

到这里,我们就大功告成了。在 Laravel 框架下,这个扩展没有任何问题,亲测有效,所以大家放心使用吧。因为这是一个开源工程,所以大家也可以在gitee上提交自己的push。

如果我们想对加密后的文件进行解密,只需要运行/www/setup/php-screw-plus/tools/screw index.php -d

即加密代码多了一个-d选项,之后就可以还原出明文。注意,如果是在另外的环境下进行解密,那扩展工具的key一定要一致,否则是解密不出来的。

好了,这个工具介绍到此结束。除了这个工具,这个世界上不缺大神,php-beast也是很值得一试的。github上有完整的说明,就不一一列举了, 大家点击传送门吧 :)


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

计算复杂性

计算复杂性

阿罗拉 巴拉克 / 骆吉洲 / 机械工业出版社 / 2016-1-1 / 129元

《计算复杂性的现代方法》是一部将所有有关复杂度知识理论集于一体的教程。将最新进展和经典结果结合起来,是一部很难得的研究生入门级教程。既是相关科研人员的一部很好的参考书,也是自学人员很难得的一本很好自学教程。本书一开始引入该领域的最基本知识,然后逐步深入,介绍更多深层次的结果,每章末都附有练习。对复杂度感兴趣的人士,物理学家,数学家以及科研人员这本书都是相当受益。一起来看看 《计算复杂性》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具