Skip to main content

PHP文件加密流程

部署Windows系统程序加密流程#

不同的PHP调试环境,加密略有差异。下面主要介绍windows下phpstudy2018、xampp及phpstudy-pro三种环境的php文件加密。

不同环境的通用流程#

1.用Virbox Protector对解释器(php-cgi.exe或httpd.exe)加密

2.用DSProtector对php加密

3.用加密后的解释器(php-cgi.exe或httpd.exe)替换原来的解释器

4.重启Apache服务,即可运行程序

phpstudy2018#

1.加密php-cgi.exe#

确认环境的php使用版本,打开对应的php环境目录下php-cgi.exe,将php-cgi.exe拖入到Virbox Protector中。

img

img

找到php环境目录下php-cgi.exe,将php-cgi.exe拖入到Virbox Protector中,设置加密选项,ds按钮打开,设置密码。

img

设置完成后,点击保护选中项目,生成php-cgi.exe.ssp 和 protected文件夹,protected文件中的php-cgi.exe就是加密后生成的php-cgi.exe。

2.打开DSProtector,对php文件加密。#

点击加密选项页面的【打开DSProtector】,配置文件会自动加载生成的php-cgi.exe.ssp,将待加密的1.php拖入进来,点击开始保护,提示成功,php文件保护成功。

img

1.php加密成功后,会将源文件备份成1.php.bak,1.php则是加密后的文件,可使用编辑器查看1.php的代码变为乱码。

img

3.替换php-cgi.exe#

将protected目录里的php-cgi.exe,替换到php环境里的原php-cgi.exe

4.重启phpstudy#

替换php-cgi.exe后,点击重启phpstudy,即可运行加密的php文件。

phpstudy-pro#

与phpstudy2018的加密流程一致,找到使用的php版本的php-cgi.exe,后面流程一致。替换php-cgi.exe后,重启Apache服务。

img

小皮面板#

与phpstudy2018的加密流程一致,找到使用的php版本的php-cgi.exe,后面流程一致。替换php-cgi.exe后,重启Apache服务。

宝塔面板#

与phpstudy2018的加密流程一致,找到使用的php版本的php-cgi.exe,后面流程一致。替换php-cgi.exe后,重启Apache服务。

XAMPP#

使用XAMPP环境的php项目,服务使用apache,需要对httpd.exe进行加密替换。

img

1.找到apache文件夹下的httpd.exe,加密httpd.exe#

img

将httpd.exe拖入到Virbox Protector中,加密选项处【ds】按钮打开,设置密码,然后点击【保护选中项目】

img

点击保护选中项目,会生成httpd.exe.ssp 和protected目录(里面包含加密后的 httpd.exe)

2.加密php文件#

点击【打开DSProtector】,配置文件会自动加载httpd.exe.ssp,将php文件拖入,点击开始保护,提示成功

img

index1.php加密成功后,会将源文件备份成index1.php.bak,index1.php则是加密后的文件,可使用编辑器查看index1.php的代码变为乱码。

3.替换httpd.exe#

将protected目录里的httpd.exe,替换环境中的httpd.exe

4.重启apache服务#

在xampp面板,将Apache服务stop,然后start。即可运行加密后php文件。

img

wampserver服务#

场景:wampserver是Apache Web服务器、PHP解释器以及MySQL数据库的整合软件包,在Windows系统上使用wampserver软件包运行PHP程序,如何使用DSProtector加密呢?

1、运行原始程序,借用Procmon监测工具监测调用checkbox.php的进程为httpd.exe

img

2、查到httpd.exe的位置。

img

3、对进程httpd.exe加壳保护。

在加密选项处,打开ds按钮,设置一个密码,然后点击保护程序。加壳成功后,生成httpd.exe.ssp 和 protected文件夹(包含了加密后的httpd.exe)

将protected文件夹里的httpd.exe ,替换环境中的 httpd.exe,然后重启服务。

img

4、对资源文件进行加密保护。

打开 DSProtector 资源加密工具,

img

保护成功后,正常运行即可。

IIS服务#

场景:在Windows系统上通过IIS服务启动PHP页面。

1、在控制面板-管理工具-IIS打开IIS服务页面,可以看到调用PHP主进程的是php-cgi.exe。

img

2、启动服务后,可以在任务管理器中进程并找到其位置。

win_iis_php_local

使用Virbox Protector工具对php-cgi.exe进行加壳,使用DSProtector对PHP资源文件进行加密。

部署Linux系统程序加密流程#

Apache服务#

场景:Linux系统上使用apache和PHP服务环境,如何使用DSProtector加密呢?

Ubuntu#

1、启动Apache服务后,查看服务状态,可以看到apache2服务进程的位置及PID。

img

2、使用Virbox Protector工具对进程文件进行加壳保护。

加密选项处,需要打开ds按钮,设置密码(密码可自己设置)

img

点击保护选中项目,会生成protected文件夹,将里面protected的apache2-src 替换环境里原来的 apache2-src.

3、使用DSProtector工具对资源文件进行加密。若DSProtector工具是以普通用户权限启动,则对root权限的文件直接加密会失败。

img

4、将加壳后的进程文件和加密后的php文件放回程序原来的位置,重新启动Apache服务 。

CentOS#

1、启动Apache服务后,查看服务状态,可以看到httpd服务进程的位置及PID。

img

2、使用Virbox Protector工具对httpd进程加壳保护。使用DSProtector工具对资源文件进行加密。

3、若DSProtector工具是以普通用户权限启动,则对root权限的文件直接加密会失败。

php-fpm服务#

场景:使用nginx服务和php-fpm服务运行PHP文件。

1、启动php-fpm服务后,查看服务状态,可以看到服务进程的位置及PID。

根据PID,可以找到php-fpm的位置

img

2、使用Virbox Protector工具对php-fpm进程护,对这个php-fpm加密,加密后,在protected文件夹里就是加密后的php-fpm,替换到linux环境里。

image-20220516181901466

替换php-fpm后,添加执行权限,重启服务:service php-fpm restart

image-20220516180348219

注意:对php-fpm加密后,执行权限可能会缺失,请先给加密后的php-fpm添加执行权限。如:chmod 777 php-fpm。

3、使用DSProtector工具对php文件进行加密,加密后部署到nginx中。

image-20220516182659504

注意:若DSProtector工具是以普通用户权限启动,则对root权限的文件直接加密会失败。

宝塔面板#

场景:使用Nginx+php服务

1.找到宝塔面板软件安装目录。进入使用的php版本的php目录,找到php-fpm:

img

2.使用 Virbox Protector 工具对 php-fpm 加壳保护。使用DSProtector工具对 php 进行加密。将加壳后的php-fpm和加密后的php文件放回程序原来的位置,重新启动Apache服务 。