dmitryrechkin / php-obfuscator
一个基本但功能齐全的面向对象PHP的obfuscator
1.0.1
2023-01-15 06:43 UTC
Requires
- nikic/php-parser: 5.0.x-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 auto-updated.
Last update: 2024-09-15 10:28:06 UTC
README
这是一个PSR/OOp PHP代码的"混淆器"。与其他混淆器不同,这些混淆器通常使用基于(可逆的)eval()
的混淆,这个工具实际上解析PHP,并混淆变量名、方法等。这意味着它不能被像UnPHP这样的工具逆转。
这个库是为了满足对私有库源代码进行混淆的需求而编写的,由于各种原因,无法在不采取保护源代码不被外界窥探的措施的情况下共享。在保留在标准PHP运行时上运行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