Есть ли код для обфускатора для PHP?

Кто-нибудь использовал хороший обфускатор для PHP? Я пробовал некоторые, но они не работают для очень больших проектов. Они не могут обрабатывать переменные, которые включены в один файл и используются, например, в другом.

Или у вас есть другие трюки, чтобы остановить распространение вашего кода?

Вы можете попробовать защитить PHP, который является бесплатным PHP-obfuscator, чтобы запутать ваш PHP-код.
Он очень приятный, простой в использовании и бесплатный.

Что касается того, что другие написали здесь о том, что не используют обфускацию, потому что это может быть нарушено и т. Д.
У меня есть только одно, чтобы ответить на них – не закрывайте дверь своего дома, потому что каждый может выбрать ваш замок.
Это именно так, обфускация не предназначена для предотвращения кражи кода на 100%. Это требует только отнимающей много времени задачи, поэтому будет дешевле заплатить оригинальный кодер. Надеюсь это поможет.

Люди будут предлагать вам обфускаторы, но никакое количество обфускации не может помешать кому-либо получить ваш код. Никто. Если ваш компьютер может запустить его, или в случае фильмов и музыки, если он может воспроизводить его, пользователь может получить его. Даже компиляция его в машинный код просто усложняет работу. Если вы используете обфускатор, вы просто обманываете себя. Хуже того, вы также не разрешаете своим пользователям исправлять ошибки или вносить изменения.

Музыкальные и кинокомпании еще не совсем согласны с этим, они все еще тратят миллионы на DRM.

В интерпретируемых языках, таких как PHP и Perl, это тривиально. У Perl было много кофемашинов, тогда мы поняли, что вы можете их декомпилировать.

perl -MO=Deparse some_program 

PHP имеет такие вещи, как DeZender и Show My Code .

Мой совет? Напишите лицензию и получите адвоката. Единственный другой вариант – не выдавать код и вместо этого запускать размещенную службу.

См. Также запись perlfaq по этому вопросу .

Ничто не будет совершенным. Если вы просто хотите что-то остановить не-программистов, то вот небольшой скрипт, который я написал, вы можете использовать:

 <?php $infile=$_SERVER['argv'][1]; $outfile=$_SERVER['argv'][2]; if (!$infile || !$outfile) { die("Usage: php {$_SERVER['argv'][0]} <input file> <output file>\n"); } echo "Processing $infile to $outfile\n"; $data="ob_end_clean();?>"; $data.=php_strip_whitespace($infile); // compress data $data=gzcompress($data,9); // encode in base64 $data=base64_encode($data); // generate output text $out='<?ob_start();$a=\''.$data.'\';eval(gzuncompress(base64_decode($a)));$v=ob_get_contents();ob_end_clean();?>'; // write output text file_put_contents($outfile,$out); 

Я не уверен, что вы можете пометить обфускацию интерпретируемого языка как бессмысленного (я не могу добавить комментарий к сообщению Шерна, поэтому здесь идет новая запись).

Я думаю, что немного недальновидно предположить, что вы знаете все возможные сценарии, когда кто-то хотел бы обфускать код, и вы предполагаете, что кто-то действительно захочет пойти на любую необходимую длину, чтобы просмотреть этот код, когда-то запутанный. Рассмотрим мой текущий сценарий:

Я работаю в консалтинговой компании, которая разрабатывает большой и довольно сложный PHP-сайт. Проект будет размещен на сервере клиента, на котором размещаются другие сайты, разработанные другими консультантами. Технически любой код, который мы пишем, принадлежит клиенту, поэтому мы не можем его лицензировать. Однако любой другой консультант (конкурент) с доступом к серверу может скопировать наш код, не получив сначала разрешения от клиента. Поэтому у нас есть настоящая причина обфускации – чтобы усилия, необходимые для того, чтобы конкурент понимал наш код больше, чем усилия по созданию копии нашей работы с нуля.

См. Наш SD Thicket PHP Obfuscator для обфускатора, который отлично работает с произвольно большими наборами страниц. Он работает в основном с помощью имен идентификаторов скремблирования. В приложениях от скромного до большого, это может сделать код чрезвычайно трудным для понимания, что является цельной целью.

Это не тратит никакой энергии на «схемы eval ( decode ( encodedprogramcode ))», которые делают многие «обфускаторы» PHP [это «кодировщики», а не «обфускаторы»), потому что любой комвид может найти этот вызов и выполнить сам eval-декодирование и получить декодированный код.

Он использует точный парсер для обработки PHP; он скажет вам, является ли ваша программа синтаксически недействительной. Что еще более важно, он точно знает весь язык; он не потеряется или не запутается, и он не нарушит ваш код (другое, что произойдет, если вы ошибочно запутаетесь, например, не сможете правильно определить общедоступный API-код).

Да, он обфускает идентификаторы одинаково на разных страницах; если он этого не сделал, результат не сработает.

Лучшее, что я видел, это Zend Guard .

Попробуйте следующее: http://www.pipsomania.com/best_php_obfuscator.do

Недавно я написал его на Java, чтобы запутать мои PHP-проекты, потому что я не нашел ничего хорошего и совместимого, написанного в сети, я решил разместить его в сети как саас, чтобы все использовали его бесплатно. Он не изменяет имена переменных между разными сценариями для максимальной совместимости, но придает им очень хорошее представление, с произвольной логикой и с каждой инструкцией. Струны … все. Я считаю, что это намного лучше, чем этот багги codeeclipse, который, кстати, написан на PHP и очень медленный 🙂

Thicket ™ Obfuscator для PHP

Инструмент PHP Obfuscator скремблирует исходный код PHP, чтобы сделать его очень трудным для понимания или обратного проектирования (пример). Это обеспечивает значительную защиту интеллектуальной собственности исходного кода, которая должна быть размещена на веб-сайте или отправлена ​​клиенту. Он является членом семейства SD-модулей Obfuscators.

Использование SourceGuardian хорош, поскольку оно поставляется с классным и простым в использовании графическим интерфейсом.

Но имейте в виду:

Обратите внимание на свои «смешные» условия лицензирования.

  • Вам разрешено запускать только 1 на машину – это приемлемо
  • Если вы хотите запустить интерфейс командной строки на другом компьютере, скажите ваш веб-сервер, ВАМ НУЖДАЕТСЯ ДРУГИЕ ЛИЦЕНЗИИ (Да, это смешно, и я тоже слышу, как вы смеетесь).

Obfuscation добавляет еще один слой потенциальных ошибок и уязвимостей в вашу программу. Пожалуйста, не делай этого.

Люди, которые пишут обфускационное программное обеспечение, обычно кажутся очень отрывочными и неквалифицированными.

Если ваш код «отлично», крекеры будут проходить через большие длины, чтобы распространить его, независимо от того, запущен ли он или нет. Если никто не знает / не заботится о вашем коде, они, вероятно, тоже этого не сделают.