dmitryrechkin/php-obfuscator

一个基本但功能齐全的面向对象PHP的obfuscator

1.0.1 2023-01-15 06:43 UTC

This package is auto-updated.

Last update: 2024-09-15 10:28:06 UTC


README

Scrutinizer Code Quality

这是一个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