您现在的位置是:首页 > 技术教程 正文

使用 YAK Pro - PHP Obfuscator 混淆 php 代码 示例为PHP8 + larveal10 框架代码

admin 阅读: 2024-03-16
后台-插件-广告管理-内容页头部广告(手机)

使用 YAK Pro - PHP Obfuscator 混淆 php 代码 示例为PHP8 + larveal10 框架代码

什么是Php混淆?

当您有一个要发布一个php项目时,往往会吧代码全部部署到服务器上;出于任何原因,您可能希望其他人不理解、修改或调整您的软件。但是又需要被PHP理解所以我们只需要做到混淆代码让人难以理解。

请注意

yakpro-po 2.x 在PhpParser 4.x上运行
它将在php >= 7.0 上运行,混淆 php 5.2 到 php 7.3 的代码

如果您正在运行 php 5.3 或更高版本,
请使用不受支持的 yakpro-po 1.x,它适用于PhpParser的1.x分支

安装

本次使用的是centos 作为基础环境 以及使用的是宝塔默认安装的PHP

  1. 首先需要使用git下载yak pro和 php parse
  2. 这里指定目录为 /www/wwwroot/vpro 作为目录
git clone https://github.com/pk-fr/yakpro-po.git git clone https://github.com/nikic/PHP-Parser.git --branch 4.x # 进入yakpro-po目录 cd yakpro-po # 检查yakpro-po.php是否具有执行权限 chmod a+x yakpro-po.php # 为了更方便的使用 所以我们可以去创建一个软连接 cd /usr/local/bin ln -s /www/wwwroot/vpro/yakpro-po/yakpro-po.php yakpro-po # 创建完成以后我们进入我们的larveal目录
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

以当前中间件作为demo进行混淆

需要注意的是 因为larveal 框架使用了反射等机制自动加载类,所以我们还需要调整一下 yakpro的配置 让他禁止去混淆一些关键信息

配置文件地址
打开 .cnf 文件 找到如下位置
在这里插入图片描述
修改如下变量为false 具体的配置信息可以查看(https://github.com/pk-fr/yakpro-po.git)的readme文件;
修改以后我们执行如下命令

# 这个命令大概就是指定使用 php来执行 yakpro-po 去混淆 cModuleMiddleware.php 输出到 cModuleMiddleware2.php /www/server/php/80/bin/php /usr/local/bin/yakpro-po cModuleMiddleware.php -o cModuleMiddleware2.php
  • 1
  • 2

在这里插入图片描述
无报错则说明正常 我们打开文件看一下
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a02ed119318e4f62bd3edc07d0fc8843.png可以看到已经正常执行混淆了,这里类名和命名空间等没有被混淆的原因是因为我们因为larveal的特性手动取消了混淆的配置
在这里插入图片描述
如果需要删除混淆以后的注释,找到如下代码注释即可
在这里插入图片描述

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索