naneau / php-obfuscator
一个基本的但功能齐全的面向对象的PHP代码混淆器
0.0.5
2015-12-16 14:51 UTC
Requires
- nikic/php-parser: ~1@dev
- symfony/config: ~2.5
- symfony/console: ~2.5
- symfony/dependency-injection: ~2.5
- symfony/event-dispatcher: ~2.5
- symfony/yaml: ~2.5
This package is not auto-updated.
Last update: 2024-09-20 13:54:43 UTC
README
这是一个PSR/OOp PHP代码的"混淆器"。与其他混淆器不同,这些混淆器通常使用基于(可逆的)eval()
的混淆,此工具实际上解析PHP,并混淆变量名、方法等。这意味着它不能通过诸如UnPHP之类的工具进行反混淆。
编写此库是为了满足混淆私有库源码的需求,该库由于各种原因不能共享,除非采取措施保护源码免受他人窥探。在保持可以在标准PHP运行时运行的情况下,技术上无法“加密”PHP源代码。例如,Zend Guard使用运行时插件,但这些甚至也提供不了真正的安全性。
虽然这个工具并不能使PHP代码完全无法阅读,但它会大大降低其可读性。
它与PHP 5.3、5.4和5.5兼容,但需要PHP 5.4+才能运行。
使用方法
在通过git clone https://github.com/naneau/php-obfuscator
克隆此存储库并通过Composer安装依赖项(composer install
)后,运行以下命令以混淆PHP文件目录
./bin/obfuscate obfuscate /input/directory /output/directory
如果您通过Composer安装了此软件包,您将在相应的bin目录中找到obfuscate
命令。
配置
您可能会发现需要阻止某些变量和方法被重命名。在这种情况下,您可以创建一个简单的YAML配置文件
parameters: # Ignore variable names obfuscator.scramble_variable.ignore: - foo - bar - baz # Ignore certain methods names obfuscator.scramble_private_method.ignore: - foo - bar - baz
您可以通过以下方式使用配置文件运行混淆器
./bin/obfuscate obfuscate /input/directory /output/directory --config=/foo/bar/config.yml