Вообще, в интернете можно найти много вариантов, как платных так и бесплатных, как решений on-line, так и неплохих решений для рабочей станции.
Рассмотрим как установить и настроить обфускатор для рабочей станции — YAK Pro.
Наши действия сводятся к тому, чтобы просто загрузить его с git, создать символьную ссылку на него и использовать его из консоли.
Итак, вот его официальный сайт: https://www.php-obfuscator.com/
Вот ссылка на GIT — https://github.com/phpcontrols/php-obfuscator
Установка:
На GIT есть инструкция по установке для Ubuntu, для установки в Fedora мы используем dnf вместо apt^
Note: This setup is also valid for Windows 10 Anniversary with bash installed...
1. Prerequisites: git and php-cli (command line interface) packages.
on ubuntu: (adapt according your linux distribution)
# apt install git
# dnf install php-cli
do not forget to install all other php modules that you are using within your software:
for example: apt install php-mysql if you are using mysql...
2. Navigate to the directory where you want to install yakpro-po (/usr/local is a good idea):
# cd /usr/local
3. Then retrieve from GitHub:
# git clone https://github.com/pk-fr/yakpro-po.git
4. Go to the yakpro-po directory:
# cd yakpro-po
5. Then retrieve from GitHub:
# git clone https://github.com/nikic/PHP-Parser.git --branch 4.x
6. Check that yakpro-po.php has execute rights, otherwise:
# chmod a+x yakpro-po.php
7. Create a symbolic link in the /usr/local/bin directory
# cd /usr/local/bin
# ln -s /usr/local/yakpro-po/yakpro-po.php yakpro-po
8. You can now run yakpro-po
# yakpro-po --help
# yakpro-po test.php
Modify a copy of the yakpro-po.cnf to fit your needs...
Read the "Configuration file loading algorithm" section of this document
to choose the best location suiting your needs!
That's it! You're done!
Использовать модуль можно как-то так:
Использование:
yakpro-po
Запутывает в соответствии с файлом конфигурации! (См. Алгоритм загрузки файла конфигурации)
yakpro-po source_filename
Преобразует код в стандартный вывод
yakpro-po source_filename -o target_filename
Запутывает код до target_filename
yakpro-po source_directory -o target_directory
Рекурсивно запутывает код в target_directory /yakpro-po (создает его, если он еще не существует).
yakpro-po --config-file config_file_path
В соответствии с config_file_path.
yakpro-po --clean
Требуется, чтобы target_directory присутствовал в вашем конфигурационном файле! Рекурсивно удаляет target_directory/yakpro-po
Например можно обфусцировать папку так:
yakpro-po admin --no-obfuscate-constant-name --no-obfuscate-function-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-variable-name -o admin-enc
Кроме этого очень удобно, что настройки можно задать в файле конфигурации для каждого вашего проекта:
Для этого надо создать конфигурационный файл с именем yakpro-po.cnf. Расположить его можно, например, в папке с проектом:
А его содержание можно посмотреть в папке с программой после установки. Он там лежит в качестве примера. Его надо скопировать в папку с проектом и там настроить, это гораздо удобнее, чем использовать 1 централизованный.