安装
编译
修改 php_screw.h 中 PM9SCREW 为 自定义字符串,如 DASHILONG 并修改长度为 9 + 2 = 11
即,修改
#define PM9SCREW "\tPM9SCREW\t"
#define PM9SCREW_LEN 10
为
#define PM9SCREW "\tDASHILONG\t"
#define PM9SCREW_LEN 11
修改 my_screw.h
short pm9screw_mycryptkey[] = {
11152, 368, 192, 1281, 62
};
为任意数值(建议不超过 5 位数),如
short pm9screw_mycryptkey[] = {
325, 5648, 323, 1564, 885, 5565, 222, 845
};
修改 php_screw.c
将 CG(extended_info) = 1;
修改为 CG(compiler_options) |= ZEND_COMPILE_EXTENDED_INFO;
注:文件中共两处,只能修改,不能注释,注释后无法编译通过
开始编译
- 编译 PHP 扩展
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
生成 php_screw.so 扩展,并将扩展加入到 php.ini 中,重启 php-fpm 即可
- 编译加密工具
cd tools
make
生成 screw 二进制文件
加密方法
对文件加密:
screw filename.php
对文件夹中所有PHP文件加密
find folder -name *.php | xargs -n1 screw
删除已加密文件
find admin -name *.php | xargs -n1 rm
测试
test.php
<?php
echo 'Hello world'
加密文件:
screw test.php
执行程序 php test.php
并输出结果 Hello world