0
点赞
收藏
分享

微信扫一扫

PHP源代码加密之php_beast【亲测】


PHP源代码加密之php_beast

Git地址:https://github.com/liexusong/php-beast

PHP扩展地址:https://github.com/imaben/php-beast-binaries

使用方法

  1. 下载GitHub已经释放出的版本软件,假设解压放在D:\php-beast文件内。
  2. 官方已经提供了关于 Windows DLL 的下载地址,根据你的php环境下载对应的版本,这是已经编译好的释出版本:点击查看
  3. 将下载下来的 .dll 文件,根据当前的运行环境进行加密,如果是win如 php_beast_x64_nts.dll 放入php扩展模块的文件内,一般默认位于 ext 文件内,并修改 php.ini 文件,加入配置项:

extension=php_beast_x86_nts.dll

4.安装完 php-beast 后,配置 tools 目录下的 configure.ini 文件,如下:

; source path
src_path = “D:\php\src_path”  //要加密项目的路径

; destination path
dst_path = “D:\php\dst_path”  //保存加密后项目的路径

; expire time
expire = “2020-03-29 14:59:00”   //设置项目可使用的时间,格式是:YYYY-mm-dd HH:ii:ss

; encrypt type (selection: DES, AES, BASE64)
encrypt_type = “DES”  //加密的方式,支持的加密算法DES, AES, BASE64

配置完成后,使用 encode_files.php来进行文件加密,其只会加密php文件,直接打开终端输入,先切
换到 encode_files.php 文件目录内,假设位于 D:\php-beast\tools

>D:
>cd D:\php-beast\tools

然后执行加密算法文件:

>php encode_files.php

出现以下语句,说明加密成功

Source code path: D:\php\src_path
Destination code path: D:\php\dst_path
Expire time: 2099-10-18 22:00:00
------------- start process -------------
Processed encrypt files [100%] - 100%
Finish processed encrypt files, used 105.650371 seconds

注意

目前php-beast属于开源,支持的加密算法属于默认形式,为了更安全的调用,你应当修 header.c文件的头结构,更多的 制定自己的php-beast 内容请参考官方说明。

1、【必须修改】修改header.c文件加密文件头结构,增加加密的安全性(所有修改的文件均在php-beast-master文件夹下)

char encrypt_file_header_sign[] = {
   0xe8, 0x16, 0xa4, 0x0c,
   0xf2, 0xb2, 0x60, 0xee
};
//自定义修改(其中的数字的范围为:0-8,字母的范围为:a-f):
//如:

char encrypt_file_header_sign[] = {
   0xe8, 0xe8, 0xe8, 0xe8,
   0xf2, 0x60, 0x60, 0xa4
};

2、【必须修改】修改默认的加密key。因为扩展是开源的,如果使用默认加密key的话,很容易被人发现。所以最好编译的时候修改加密的key,aes模块 可以在 aes_algo_handler.c 文件修改,而 des模块 可以在 des_algo_handler.c 文件修改。

在tools 目录下的 configure.ini 文件中定义加密类型,再修改以下对应的类型源文件加密KEY,加密类型文件分别是:

  • aes_algo_handler.c
  • base64_algo_handler.c
  • des_algo_handler.c

char encrypt_file_header_sign[] = {
   0xe8, 0x16, 0xa4, 0x0c,
   0xf2, 0xb2, 0x60, 0xee
};
//自定义修改(其中的数字的范围为:0-8,字母的范围为:a-f):
//如:

char encrypt_file_header_sign[] = {
   0xe8, 0xe8, 0xe8, 0xe8,
   0xf2, 0x60, 0x60, 0xa4
};

加密前

PHP源代码加密之php_beast【亲测】_源码加密

加密后

PHP源代码加密之php_beast【亲测】_php_02

放到nginx中请求文件

注意,要在php.ini中配置了扩展才可以请求正常的网页,如果没有配置好php.ini的php_beast扩展,请求会出现乱码

PHP源代码加密之php_beast【亲测】_php_beast_03


如有问题欢迎在下方留言,看到会及时回复。


举报

相关推荐

0 条评论