使用 yakpro-po 实现 Laravel 项目代码混淆加密

1,454次阅读
没有评论

背景
防止商用软件实现逻辑泄露。

工具介绍
yakpro-po 由原生 PHP 开发,所以安装的时候,保证环境能执行 PHP 命令。

安装 yakpro-po 步骤
找一个可用目录,这里按项目推荐目录为准:/user/local

cd /usr/local
通过 git 拉取 yakpro-po 代码

git clone https://github.com/pk-fr/yakpro-po.git
到 yakpro-po 目录,还需要安装 PHP-Parser

cd yakpro-po && git clone https://github.com/nikic/PHP-Parser.git
保证 yakpro-po 有可执行权限

chmod a+x yakpro-po.php
为方便使用,建立软连接到 bin 目录

cd /usr/local/bin
ln -s /usr/local/yakpro-po/yakpro-po.php yakpro-po
安装完毕,查看下是否正常 yakpro-po –help

yakpro-po –help
Info: Using [/usr/local/yakpro-po/yakpro-po.cnf] Config File…
Info: yakpro-po version = 2.0.13
使用方式
提供了多种方式混淆代码,因为本次是针对 Laravel 项目代码混淆,所以采用

yakpro-po source_filename -o target_filename
实践
Laravel 项目直接上面的命令,不带任何选项,混淆后的代码根本跑不起来,因为默认混淆了类名、命令空间、变量等等,所以要手动添加选项来指定混淆选项。

建议使用的选项:

yakpro-po my_app -o obfuscate_my_app –no-obfuscate-function-name –no-obfuscate-class_constant-name –no-obfuscate-class-name –no-obfuscate-interface-name –no-obfuscate-trait-name –no-obfuscate-property-name –no-obfuscate-method-name –no-obfuscate-namespace-name –no-obfuscate-label-name

yakpro-po my_app -o obfuscate_my_app --no-obfuscate-function-name --no-obfuscate-class_constant-name --no-obfuscate-class-name --no-obfuscate-interface-name --no-obfuscate-trait-name --no-obfuscate-property-name --no-obfuscate-method-name --no-obfuscate-namespace-name --no-obfuscate-label-name

这里混淆了:

淆变量名
混淆常量名
混淆 if 语句
淆循环语句
淆字符串文字
随机播放语句
单行输出
混淆前后对比

需要注意的点:不要混淆 模板代码
先把模板目录拷贝出来,混淆之后,再还原回去。
混淆模板代码会用 echo 输出,造成模板标记直接当成字符串输出。后果就是页面输出类似 @if () 这类的效果。

其它 PHP 框架混淆
理论上 yakpro 适用所有 PHP 项目,多数项目是在成熟的 PHP 框架下开发,不同框架,有不同的约束,比如 Laravel 会有一些约定的配置常量,就不能混淆常量,不然代码不能正常运行。
所以当混淆后,代码跑不起来时,就需要根据实际情况,调整混淆选项了。

附录:可用混淆选项
–no-strip-indentation 多行输出
–strip-indentation 单行输出

–no-shuffle-statements 不打乱语句
–shuffle-statements 随机播放语句

–no-obfuscate-string-literal 不混淆字符串文字
–obfuscate-string-literal 混淆字符串文字

–no-obfuscate-loop-statement 不混淆循环语句
–obfuscate-loop-statement 混淆循环语句

–no-obfuscate-if-statement 不混淆 if 语句
–obfuscate-if-statement 混淆 if 语句

–no-obfuscate-constant-name 不混淆常量名
–obfuscate-constant-name 混淆常量名

–no-obfuscate-variable-name 不混淆变量名
–obfuscate-variable-name 混淆变量名

–no-obfuscate-function-name 不混淆函数名
–obfuscate-function-name 混淆函数名

–no-obfuscate-class_constant-name 不混淆类常量名
–obfuscate-class_constant-name 混淆类常量名

–no-obfuscate-class-name 不混淆类名
–obfuscate-class-name 混淆类名

–no-obfuscate-interface-name 不混淆接口名称
–obfuscate-interface-name 混淆接口名称

–no-obfuscate-trait-name 不混淆特征名称
–obfuscate-trait-name 混淆特征名称

–no-obfuscate-property-name 不混淆属性名称
–obfuscate-property-name 混淆属性名称

–no-obfuscate-method-name 不混淆方法名
–obfuscate-method-name 混淆方法名称

–no-obfuscate-namespace-name 不混淆命名空间名称
–obfuscate-namespace-name 混淆命名空间名称

–no-obfuscate-label-name 不混淆标签名称
–obfuscate-label-name 混淆标签名称

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 0
评论(没有评论)

文心AIGC

2023 年 11 月
 12345
6789101112
13141516171819
20212223242526
27282930  
文心AIGC
文心AIGC
人工智能ChatGPT,AIGC指利用人工智能技术来生成内容,其中包括文字、语音、代码、图像、视频、机器人动作等等。被认为是继PGC、UGC之后的新型内容创作方式。AIGC作为元宇宙的新方向,近几年迭代速度呈现指数级爆发,谷歌、Meta、百度等平台型巨头持续布局
文章搜索
热门文章
清库存!DeepSeek突然补全R1技术报告,训练路径首次详细公开

清库存!DeepSeek突然补全R1技术报告,训练路径首次详细公开

清库存!DeepSeek突然补全R1技术报告,训练路径首次详细公开 Jay 2026-01-08 20:18:...
训具身模型遇到的很多问题,在数据采集时就已经注定了丨鹿明联席CTO丁琰分享

训具身模型遇到的很多问题,在数据采集时就已经注定了丨鹿明联席CTO丁琰分享

训具身模型遇到的很多问题,在数据采集时就已经注定了丨鹿明联席CTO丁琰分享 衡宇 2026-01-08 20:...
手把手教你用AI 10分钟生成一个APP!零基础也能搞定

手把手教你用AI 10分钟生成一个APP!零基础也能搞定

今日,我将向大家展示DeepSeek的全新玩法——从零开始,利用AI创建一个完整的应用程序。借助DeepSee...
开源“裸考”真实世界,国产具身智能基座模型拿下全球第二!

开源“裸考”真实世界,国产具身智能基座模型拿下全球第二!

开源“裸考”真实世界,国产具身智能基座模型拿下全球第二! 西风 2026-01-08 19:02:20 来源:...
最新评论
ufabet ufabet มีเกมให้เลือกเล่นมากมาย: เกมเดิมพันหลากหลาย ครบทุกค่ายดัง
tornado crypto mixer tornado crypto mixer Discover the power of privacy with TornadoCash! Learn how this decentralized mixer ensures your transactions remain confidential.
ดูบอลสด ดูบอลสด Very well presented. Every quote was awesome and thanks for sharing the content. Keep sharing and keep motivating others.
ดูบอลสด ดูบอลสด Pretty! This has been a really wonderful post. Many thanks for providing these details.
ดูบอลสด ดูบอลสด Pretty! This has been a really wonderful post. Many thanks for providing these details.
ดูบอลสด ดูบอลสด Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.
Obrazy Sztuka Nowoczesna Obrazy Sztuka Nowoczesna Thank you for this wonderful contribution to the topic. Your ability to explain complex ideas simply is admirable.
ufabet ufabet Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.
ufabet ufabet You’re so awesome! I don’t believe I have read a single thing like that before. So great to find someone with some original thoughts on this topic. Really.. thank you for starting this up. This website is something that is needed on the internet, someone with a little originality!
ufabet ufabet Very well presented. Every quote was awesome and thanks for sharing the content. Keep sharing and keep motivating others.
热评文章
给AI打个分,结果搞出17亿估值独角兽???

给AI打个分,结果搞出17亿估值独角兽???

给AI打个分,结果搞出17亿估值独角兽??? 闻乐 2026-01-07 17:32:01 来源:量子位 「匿...
全自主、更好用!北京人形 “干活机器人” 惊艳亮相 CES2026

全自主、更好用!北京人形 “干活机器人” 惊艳亮相 CES2026

全自主、更好用!北京人形 “干活机器人” 惊艳亮相 CES2026 量子位的朋友们 2026-01-06 16...
杜比在CES 2026重塑了观影、娱乐的方式

杜比在CES 2026重塑了观影、娱乐的方式

杜比在CES 2026重塑了观影、娱乐的方式 十三 2026-01-07 12:47:06 来源:量子位 树立...
OceanBase蝉联中国分布式数据库本地部署市场第一,领跑国产数据库

OceanBase蝉联中国分布式数据库本地部署市场第一,领跑国产数据库

OceanBase蝉联中国分布式数据库本地部署市场第一,领跑国产数据库 闻乐 2026-01-07 12:36...