php代码混淆yakpro-po
yakpro-po 由原生 PHP 开发,对php代码进行混淆。
它和其他混淆工具不太一样,用的是goto混淆。
安装
只需要下载git项目,或者zip即可。github仓库地址:pk-fr/yakpro-po: YAK Pro - Php Obfuscator (github.com)
它依赖于php-parse项目,所以在项目根目录克隆PHP-Parser项目,或者把代码下载并放到PHP-Parser目录下
git clone https://github.com/nikic/PHP-Parser.git
接下来就可以直接使用了,但是它仅提供命令行,而不能是web服务。
例如混淆单个php文件,直接php 根目录下的yakpro-po.php 源文件 -o 目标文件
php yakpro-po.php source_filename -o target_filename
在混淆时,有多个参数可以选择,默认是全选,包括类名、函数名、命名空间等
默认参数配置,在根目录下的yakpro-po.cnf文件
动态参数
--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 混淆标签名称
声明本文为转载,原文地址: https://www.huazstar.net/blog/post-434.html