Кто-нибудь использовал хороший обфускатор для PHP? Я пробовал некоторые, но они не подходят для очень больших проектов. Например, они не могут обрабатывать переменные, которые включены в один файл и используются в другом.
Или у вас есть какие-то другие уловки, чтобы остановить распространение вашего кода?
@ StevenA.Lowe: остерегайтесь высмеивать PHP. :-)
ПОПРОБОВАТЬ: github.com/…
Зачем тебе это нужно?
Еще один действительно хороший, конструктивный вопрос, связанный с программированием, в идеальном формате вопросов и ответов, который закрывается как неконструктивный. Позор за переполнение стека ...
Это переполнение стека. Единственное, что не следует закрывать более продуктивным, чем закрытые вопросы, - это флейм пользователей, когда сюда приходит какой-нибудь бедняга и просит о помощи.
Если вы считаете, что это не следует закрывать, проголосуйте за повторное открытие.
@NiettheDarkAbsol Потому что, если вы создаете часть коммерческого программного обеспечения, вам не обязательно просто отдавать исходный код.
Stackoverflow запускают избалованные дети. Это факт!
Этот вопрос нужно снова открыть. Это правильный вопрос
На хорошие вопросы есть правильный ответ. Единственно правильный ответ на вопрос: «Есть ли у вас какие-нибудь другие уловки, чтобы остановить распространение вашего кода?» Да"; это не хороший вопрос. Однако это хорошая подсказка для вики-страницы под названием «Советы и приемы по защите PHP».
Я не вижу способа проголосовать за повторное открытие, просто обычный способ проголосовать, что я и сделал. Нет ничего плохого в том, что инженеры делятся мнениями о продуктах с другими инженерами!






Лучшее, что я видел, это Zend Guard.
SD PHP Obfuscator так же хорош и стоит около 1/5.
@SalmanPK И причина этого должна быть очевидна?
@SalmanPK Требуется дополнение к пространству веб-хостинга. Zend Guard, вероятно, тоже. Не уверен, какой из них самый популярный. В любом случае проблема в том, что это сокращает вашу потенциальную аудиторию.
SD PHP Obfuscator преобразует все в нижний регистр. Это будет проблемой, если вы используете фреймворк.
Обратной стороной является то, что это дорого.
@AmilWaduwawara: Какие конкретные сущности, по вашему мнению, отображаются в нижнем регистре? Вы можете показать конкретную проблему с таким нижним регистром?
@JamesPoulson: Непонятно, относится ли ваше замечание к обфускатору SD PHP. Чтобы быть ясным, это не требует каких-либо дополнений к пространству веб-хостинга.
@AmilWaduwawara: Разве вы не смотрели бы только на не запутанный код в своей среде IDE? Как это повлияет на фреймворк?
Zen Guard НАЧИНАЕТСЯ с 600 долларов США В ГОД. Теперь я действительно вдохновлен написать свой собственный.
Люди будут предлагать вам средства обфускации, но никакое обфускация не может помешать кому-то проникнуть в ваш код. Никто. Если ваш компьютер может запускать его, или в случае фильмов и музыки, если он может их воспроизводить, пользователь может получить это. Даже компиляция его в машинный код лишь немного усложняет работу. Если вы используете обфускатор, вы просто обманываете себя. Хуже того, вы также запрещаете своим пользователям исправлять ошибки или вносить изменения.
Музыкальные и кинокомпании еще не совсем смирились с этим, они все еще тратят миллионы на DRM.
В интерпретируемых языках, таких как PHP и Perl, это тривиально. Раньше в Perl было много обфускаторов кода, но потом мы поняли, что их можно тривиально декомпилировать.
perl -MO=Deparse some_program
В PHP есть такие вещи, как DeZender и Показать мой код.
Мой совет? Напишите лицензию и найдите юриста. Единственный другой вариант - не выдавать код и вместо этого запускать размещенную службу.
См. Также запись perlfaq по теме.
Я в основном согласен с вами, но OP попросил рекомендации по продукту, а не лекцию о достоинствах открытого исходного кода.
Не имеет ничего общего с открытым исходным кодом, который заключается в смешивании кода, а не только в том, чтобы его увидеть. Реальность такова, что любой код или данные, которые выполняются на машине пользователя, в конечном итоге прозрачны, независимо от того, как вы их компилируете, запутываете или шифруете, точка. ОП должен это понимать.
Я хотел бы повторить комментарий Шверна о невозможности исправлять ошибки и вносить изменения. Если вы планируете продавать / поддерживать свое программное обеспечение, обфускация просто превратит вашу жизнь в ад, поскольку вы будете действительно ограничены в любой отладке, которую вы можете выполнить на живом сервере.
@JamShady: обфускация не означает, что вы не можете исправлять ошибки или вносить изменения. Если вы тупо запутаете исходный код, выбросите оригинал и настаиваете на сохранении запутанного результата, да, вы ничего не сможете сделать. Хорошие обфускаторы настаивают на том, чтобы вы сохранили свой код и, отображающий скрытый результат; вы можете отлаживать / изменять исходный код, отправлять запутанные патчи своим клиентам и даже диагностировать его проблемы, используя карту для преобразования запутанных жалоб обратно в читаемые. У него нет карты, что делает это безопасным.
Вопрос: Каким образом, Ответ: Не следует = бесполезно
@cmc Я уверен, что многие люди прямо ответят на этот вопрос, так что я ничего не потеряю, если выберу другой подход. Половина смысла спрашивать эксперта в том, что он знает, когда вы задаете неправильный вопрос, чтобы решить настоящую проблему. Это приложение «5 почему». en.wikipedia.org/wiki/5_Whys Настоящая проблема / вопрос - «как мне запретить людям читать / красть мой PHP-код». Ответ: если вы отправите код, вы не сможете, но вы можете потратить кучу времени и денег, пытаясь обрести ложное чувство безопасности. Разве это не было более полезным, чем список обфускаторов?
@Schwern: 5 почему - интересное чтение. Однако можно ли получить весь контекст правильно, чтобы найти первопричину из одного вопроса?
@cmc Потому что вопрос ОП так часто задают и всегда получается одинаково. Если «мне нужен обфускатор» сразу не следует за «и я понимаю, что обфускаторы не могут на самом деле остановить умеренно преданного злоумышленника», то я почти уверен, что они этого не продумали. Я мог бы потратить кучу времени, бегая туда-сюда с OP, спрашивая каждого, почему, и получая ожидаемый ответ, просто чтобы быть уверенным ... или я могу сэкономить нам всем кучу времени, сделать логический скачок в этом случае) и переходите до конца.
@Schwerm: Достаточно честно. Мое скромное мнение о лучшей практике в этой ситуации: Вопрос: Unqualified-How. Ответ: Вот как + Осторожно.
Как вы можете эффективно обеспечить соблюдение своей лицензии, если она у вас есть? Привлечение юристов обычно является крайней мерой. Я полагаю, что обфускация вашего кода для предотвращения нарушения лицензии дешевле и эффективнее, чем необходимость каждый раз платить своему юристу. Кроме того, полагаться на своего адвоката означает, что вам необходимо знать о нарушении. Если я ничего не могу сделать и имею 40% -ное нарушение, лицензию / юриста на 20% -ое нарушение или лицензию / адвокат / запутывание для 5% -ого нарушения, то я, вероятно, выберу последний вариант. Тем не менее, это все не по теме вопроса, заданного OP.
Большой! Просто введите код спагетти, и проблема решена!
@Schwerm: Я долго и усердно думал о том, является ли обфускация кода пустой тратой времени, и пришел к выводу, что это не так. Пожалуйста, аннулируйте следующий аргумент, если можете.
@cmc Ошибка: следующий аргумент не найден.
@Schwerm: Упс, подумал, что удалил этот комментарий, чтобы подумать. Здесь идет аргумент (WIP). Обфускация кода может фактически удалить информацию из кода, заменяя структуры высокого уровня структурами низкого уровня. Это, в сочетании с тем, что намерения программиста уже не всегда очевидны из написанного им кода, может подтолкнуть сложность реверс-инжиниринга из обфусцированного кода до точки, где легче реконструировать, исходя из пользовательского опыта, и в этот момент обфускация будет успешной.
@cmc Я согласен насчет стоимости / выгоды, но, по вашему мнению, обфускация почти не увеличивает стоимость? Компиляторы делают запутывание, о котором вы говорите как о побочном эффекте, и десятилетия работали над атакой на скомпилированный код. У злоумышленников часто есть такие способы атаки, которые не позволяют обфускации. Например, если я хочу знать все операции ввода-вывода, выполняемые программой, я могу использовать такой инструмент, как strace. Есть очень много способов предотвратить запуск вашего кода кем-либо, обычно это включает секретный ключ и / или сетевое рукопожатие. Наконец, как только один человек опубликует, как взломать вашу безопасность, цена исчезнет.
@Schwerm: Но возьмите собственный алгоритм хеширования; просмотр содержимого функции aKhlqj ('foobar') и выяснение, что это sha-256 с настраиваемыми константами инициализации, займёт больше времени, чем просмотр вызова sha256_variant_with_custom_initialization_constants ('foobar'). Сколько еще, для кого и стоит ли в таком случае, общего ответа, похоже, нет. В чем-то вроде моей точки зрения: обфускация по своей сути не является пустой тратой времени, только когда вы хотите использовать ее, не думая, что это ярлык для хорошего самочувствия.
@cmc У ОП был конкретный сценарий: они хотели остановить распространение своего кода. Желание обфускации в качестве решения - это красный флаг, связанный с наличием XY проблема. OP хочет X. Они думают, что Y решит эту проблему. Они спрашивают о Y, а не о X. Мы тратим кучу времени на Y, когда это плохое решение для X. Если вы можете выяснить, что такое X, вы можете сэкономить всем много времени и разочарований. В удаленном ответе OP показал, что они находятся на общем сервере. Очень простое решение для их X - получить частный сервер!
Я действительно считаю, что обфускация на стороне сервера имеет свои достоинства. Искаженный код является - небольшое сдерживающее средство, но тем не менее. Если вы обнаружите нарушение сервера, обфускация может спасти вашу задницу, пока вы запускаете аварийный патч или блокируете базу данных и т.д. .
"просто немного усложняет работу" ... Ага! Вот что происходит.
Я хочу запутать мою программу безопасности с открытым исходным кодом только для того, чтобы злоумышленникам было сложнее ее использовать. Я намерен сделать общедоступными все свои алгоритмы, но не код. Создавая для злоумышленников предварительное препятствие, я сразу же им намекаю, что с их стороны потребуется много усилий, чтобы сломать эту программу и использовать ее не по назначению.
@DavidSpector Это может быть намек, который вы пытаетесь дать, но настоящий намек, который вы даете, - это наивность безопасности. Деобфускаторы находятся в свободном доступе. И это не открытый исходный код, если вы предоставляете только обфусцированный исходный код! Почему бы вам не опубликовать ссылку на свой обфусцированный источник здесь или, может быть, где-нибудь вроде Redit, и не посмотреть, насколько он выдержит общественную проверку?
Schwern или Schwem, я с вами не согласен. Изменение идентификаторов значительно затрудняет понимание смысла кода. Я искал обфускатор по разумной цене и не могу его найти, поэтому я начал создавать свой собственный (я инженер на пенсии). Я опубликую здесь примеры, если считаю, что проект выполнимый. Мне будет очень интересно ваше мнение. И моя программа безопасности не является открытым исходным кодом; другая прога есть. И вы знаете, что алгоритмы хорошей программы безопасности должны быть обнародованы, чтобы убедить пользователей, что они действительно безопасны. Это не то же самое, что вопрос с открытым исходным кодом.
@DavidSpector Что ж, удачи! Надеюсь, это интересный проект. Дайте нам знать, когда вы закончите запутывание. И да, меня зовут кернинг-вызов. :)
Попробуйте это: http://www.pipsomania.com/best_php_obfuscator.do
Недавно я написал его на Java, чтобы запутать мои проекты PHP, потому что я не нашел ни одного хорошего и совместимого готового написанного в сети, я решил выложить его в Интернете как saas, чтобы все использовали его бесплатно. Он не меняет имена переменных между разными сценариями для максимальной совместимости, но очень хорошо их запутывает со случайной логикой, в том числе и для каждой инструкции. Струны ... все. Я считаю, что это намного лучше, чем этот глючный codeeclipse, который, кстати, написан на PHP и очень медленный :)
Выглядит хорошо ... но безопасно ли это? Я имею в виду, могут ли другие легко его расшифровать?
Могу вас заверить, что к этому моменту НИКТО не может деобфускировать код, запутанный этим обфускатором.
[необходима цитата] - доморощенное шифрование - это безопасность через неизвестность, а это вовсе не безопасность.
pipsomania явно заменяет некоторые имена переменных именами, запутанными как $ {GLOBAL [<randomstring>]}, что не сильно отличается от замены этих имен переменных на $ <randomstring>, за исключением того, что это замедляет выполнение кода. Но он не скрывает имена функций, классов или членов. Он добавляет некоторые дополнительные операторы присваивания, но они не кажутся ничем, кроме дополнительных операторов присваивания.
Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный T_CONSTANT_ENCAPSED_STRING в ..... Строке 1 o_O
«Могу вас заверить, что к этому моменту НИКТО не может де-запутать код» Даже PHP? Если PHP может это сделать, то может и кто-то другой. Глядя на пример кода на вашем сайте, где-то у вас будет статус eval, который выгружает код, измените его на эхо, и ваш код будет отображаться.
Нет, это небезопасно. С помощью небольшого количества кода вы можете это изменить. Я не хочу выпускать код для его отмены, потому что это было бы неуважительно по отношению к автору. Но я также хочу предупредить кого-то, что, если они действительно действительно хотят, чтобы их код был защищен этим инструментом, он этого не сделает.
Скотт Герберт: Ты автоматически говоришь, мой друг, почему так? Сначала найдите место в коде, обработанном этим обфускатором, где вы можете сбросить код «эхом», а затем поговорите. А не наоборот.
@PatlaDJ: действительно, нет необходимости в eval. Просто взглянув на образец кода на вашей веб-странице, я могу прочитать «GlobalLS» и «Timeofstartt» невооруженным глазом. Написание короткого сценария для декодирования этого кода не займет много времени. Я согласен с тем, что в большом проекте простое присвоение случайных имен переменным и изменение отступов - это приличный уровень запутывания, но ваш алгоритм не выглядит так, как будто он выходит за рамки этого.
ВНИМАНИЕ: этот метод можно тривиально декодировать обратно к исходным именам переменных, см .: lombokcyber.com/en/detools/decode-pipsomania
@PatlaDJ Это хорошо, не могли бы вы прояснить необходимость его использования, например, минимальную версию PHP, любое расширение шифрования, требуется или нет и т. д. И т. Д.?
Мертвая ссылка! «Запрошенный URL /best_php_obfuscator.do не найден на этом сервере».
См. Наш SD Thicket PHP Обфускатор для обфускатора, который отлично работает с произвольно большими наборами страниц. Он работает в основном путем шифрования имен идентификаторов. В приложениях от скромных до больших это может сделать код чрезвычайно трудным для понимания, в чем и состоит вся цель.
Он не тратит энергию на схемы "eval (decode (закодированныйпрограммный код))", которые делают многие "обфускаторы" PHP [это "кодировщики", а не "обфускаторы"], потому что любой ком может найти этот вызов и сам выполните eval-decode и получите декодированный код.
Он использует синтаксический анализатор для обработки PHP; он сообщит вам, если ваша программа синтаксически неверна. Что еще более важно, он точно знает весь язык; он не потеряется, не запутается и не сломает ваш код (кроме того, что произойдет, если вы запутаете «неправильно», например, не сможете правильно идентифицировать общедоступный API кода).
Да, он идентично запутывает идентификаторы на разных страницах; если бы этого не произошло, результат не сработал бы.
Насколько я могу судить, это EXE, который работает только под Windows? По крайней мере, eval - это файл .exe ...
Файл eval - это установщик на основе .exe. Сложная правда заключается в том, что установленный продукт обычно запускается из сценария .cmd, потому что под ним находится язык параллельного программирования, но вы никогда этого не увидите. Он был разработан в первую очередь как продукт для Windows; однако, если вы установите его в Linux с Wine, он будет работать со сценариями .sh, установленными вместе с ним, как если бы это был родной инструмент Linux. Если вы используете часть графического интерфейса пользователя (необязательно, большинство людей хотят запускать ее как сценарий в процессе производственной сборки), она использует родную Java в Windows и родную Java в Linux.
Правда ли, что Thicket требует надстройки на место хостинга? Если да, то как это установить на виртуальном хостинге?
@StephenAdelakun: Thicket не требует изменений на сервере. Загрузите его и проверьте документацию.
Чаще всего стоит 200 долларов, и, судя по их веб-сайту, я не вижу преимуществ перед бесплатной программой затемнения, которая стоила бы этой стоимости. Я независимый инженер-программист и не могу позволить себе такие расходы.
@DavidSpector: даже не попробовав, вы можете не понять, почему это надежный инструмент для работы с небольшими и большими веб-сайтами. Вы можете скачать и попробовать это бесплатно.
@Ira Baxter: Я полагаю, что по этой цене это надежно и полно. Однако, если мне нужно, я могу потратить несколько дней на то, чтобы написать программу для синтаксического анализа PHP, чтобы переназначить имена функций и переменных и еще немного очевидных вещей, и это является основой для очень хорошей обфускации. Тогда, может быть, я стану вашим конкурентом по цене значительно ниже ваших смехотворных 200 долларов.
Обфускация лишь добавляет в вашу программу еще один уровень потенциальных ошибок и уязвимостей. Пожалуйста, не делай этого.
Люди, которые пишут программы для обфускации, в любом случае кажутся очень схематичными и неквалифицированными.
Если ваш код «отличный», взломщики приложат все усилия, чтобы распространить его, независимо от того, запутан он или нет. Если никто не знает / не заботится о вашем коде, они, вероятно, тоже не будут.
Неквалифицированный? На основании каких доказательств? Я их пишу. Проверьте мою биографию, прежде чем делать радикальные обобщения. semanticdesigns.com/Company/People/idbaxter
@Ira: Мое заявление все еще в силе. Самый запутанный код можно взломать за считанные минуты. Я специально имел в виду, что люди самый, которые этим занимаются, неквалифицированы, а не все. Первое, что пришло в голову, это Ioncube, и, конечно же, в нем была опубликована уязвимость: osvdb.org/show/osvdb/41708. С другой стороны, вы, вероятно, могли частично обвинить в этом неясные требования безопасности PHP.
Хорошо, вы предлагаете людям не использовать плохие продукты или продукты, разработанные неквалифицированными людьми. С этим трудно не согласиться.
Нет, я предполагаю, что обфускация вредна, потому что она снижает мою уверенность в том, что программа, которую я использую, работает, и значительно увеличивает вероятность появления уязвимостей в системе безопасности; не то, чего нам нужно больше в сегодняшних системах. Я действительно сомневаюсь, что прибыль компании во многом зависит от того, используют ли они обфускацию или нет.
Обфускация, если она выполняется с помощью надежного инструмента, ничего не меняет в надежности программы. Двоичная компиляция - это своего рода крайняя запутанность, и все же я предполагаю, что вы уверены, что движок PHP Zend надежен. (Обфускация или компиляция, выполненные с использованием плохих инструментов, не должны учитываться).
Как у обфускатора не должно быть ошибок? Если такой инструмент существует, процесс деобфускации был бы тривиальным. Большинство обфускаторов, которые я видел, полностью меняют семантику приложения, а также вводят произвольные ограничения. Как можно даже запутать PHP, если язык не указан, а для недокументированных / встроенных функций языка библиотеки существуют всевозможные коды? Мне трудно даже представить, как можно выполнить альфа-преобразование в PHP, не испортив пользовательский код и не ограничивая тем или иным образом их действия.
Кстати, «двоичная компиляция - это своего рода крайняя обфускация». Совершенно верно. Например, единственная рационализация байт-кода JVM - обфускация, они могли бы легко разработать архитектуру, которая позволяет конечным пользователям автоматически компилировать код из исходного кода и кэшировать, или иметь постепенно оптимизируемый кеш скомпилированного кода со временем и т. д. имеют бессмысленные проблемы, вызванные несовместимостью байт-кода с предлагаемыми функциями, Dalvik и т. д.
«Как можно запутать PHP, если язык не указан ...?» Если вы собираетесь задать этот вопрос, как вы можете запустить любую программу PHP независимо от того, запутана она или нет? В этом случае проблема не в обфускации, поэтому не стоит вешать эту проблему на обфускацию. Думаете вы так или нет, но многие (например, FaceBook) считают, что PHP достаточно хорошо определен. И если это так, то вы можете достаточно хорошо определить обфускатор.
МОЙ БОГ. В основном я согласен со всеми сторонами. Обфусцированный код может быть легко деобфусцирован, но только если вы знаете, что он запутан, и знаете, что делать, чтобы его деобфускировать. Обычно я даже не думаю о том, чтобы запутать мою работу, но считаю, что вы работаете над проектом для клиента, который не хочет платить «дополнительную лицензию», но все же хочет владеть исходным кодом. Таким образом, я рассмотрю возможность обфускации этого кода - клиент будет владеть им, но не сможет повторно использовать / понять / прочитать его. И если этот клиент не понимает программирования, он вряд ли сможет понять, что этот код «просто» запутан ... [следующий комментарий]
Это также можно использовать в ситуации, когда я хочу, чтобы клиент запрашивал у меня какие-либо изменения, новые функции и т. д., Не спрашивая третью сторону. [ястреб]
любой, у кого есть половина мозга, знает, что php испытывает трудности (читай «несуществующий») на реальном рынке корпоративного программного обеспечения, потому что он не запутан на сайте asp.net. Мне так надоело, что слабоумные евангелисты говорят что-то еще. (и да, это и есть умышленное невежество). Открытый исходный код был выпущен слишком долго, его пробовали и слишком часто находили желательным, чтобы не было другого вывода, кроме этого: хобби? Открытый источник. Работа? Зашифровать. Только дураки / идиоты / люди, которые живут в пузыре / имеют богатого отца, могут когда-либо когда-либо думать иначе.
Этот комментарий мне почти непонятен, но, похоже, он подразумевает, что нет смысла продавать программное обеспечение с открытым исходным кодом или программное обеспечение, основанное на программном обеспечении с открытым исходным кодом. На случай, если вы не заметили, Java - это «корпоративная», с открытым исходным кодом, и такая же успешная, как и .NET. моя компания зарабатывает миллионы долларов, и нам никогда не приходилось использовать обфускацию. Спросите себя: что хорошего в продаже программного обеспечения, если вы не можете его поддерживать / улучшать (например, вы просто взломали чужое программное обеспечение и перепродали его)?
Думаю, Лонгпок прав. В некоторых случаях обфускация не подходит, а в некоторых случаях это так.
Ничего не будет идеальным. Если вы просто хотите, чтобы что-то остановило непрограммистов, вот небольшой сценарий, который я написал, вы можете использовать:
<?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);
Потрясающий? На каждой странице есть полное решение для получения исходного кода: запустите "gzuncompress (base64_decode ($ a))". Да, это остановит непрограммистов. Но тогда исходный исходный код остановит непрограммистов, кому для этого нужна кодировка? Единственный человек, который будет смотреть на это, намереваясь перепроектировать это, является - программист PHP.
В большинстве случаев непрограммисты пытаются найти некоторые строки в исходном коде, которые они хотят изменить, я также ищу такое решение, которое только остановит непрограммистов от изменения исходного кода, например. доменное имя, имя базы данных, пользователи и т. д.
Для меня это очень полезный ответ. Меня интересует только то, чтобы пользователь не мог легко открыть мой "database.php" в блокноте и увидеть мое имя пользователя и пароль к базе данных.
Вы можете попробовать Защита PHP, бесплатный обфускатор PHP для обфускации вашего кода PHP.
Он очень красивый, простой в использовании и к тому же бесплатный.Обновлено: эта служба больше не работает.
Что касается того, что другие писали здесь об отказе от обфускации, потому что ее можно сломать и т. д.:
У меня есть только одно, что им ответить - не запирайте дверь дома, потому что любой может взломать ваш замок.
Это именно тот случай, обфускация не предназначена для предотвращения 100% кражи кода. Нужно только сделать это трудоемкой задачей, так что будет дешевле заплатить оригинальному кодеру. Надеюсь это поможет.
+1 за указание на тот факт, что запутывание делает его сложнее, а не невозможным.
обратите внимание, что шифрование исходного кода вместо обфускации также не делает невозможным его дешифрование, это просто очень сложно сделать.
Пробовал, но не понравилось. Он только изменяет имена переменных, но не удаляет комментарии ..
Я помню, как эта программа очищала весь мой жесткий диск. Никогда не выбирайте источник вроде d: \ :)
@Schwern, оставь дверь незапертой, а затем найми Коломбо и действительно хорошего юриста, чтобы они прикрылись;)
Php Protect - плохая программа. Он показывает некоторые ошибки.
@ Дэвид Ньюкомб - Кто захочет платить хорошему адвокату, если можно просто запереть дверь?
PHP Protect не скрывает имена функций. Поскольку он удаляет комментарии вместо того, чтобы заменять их бессмысленным текстом, результат не очень сложно понять. Похоже, он не делает ничего, кроме удаления комментариев и использования бессмысленных имен переменных и констант. И утверждает, что он «безупречный». ДОБАВЛЕНО: на их странице контактов используется нефункционирующая CAPTCHA, поэтому они не могут получать отчеты о проблемах.
Не нажимайте на ссылку, теперь она ведет на фишинговый сайт. Я предполагаю, что домен выкупили ...
Я не уверен, что вы можете пометить обфускацию интерпретируемого языка как бессмысленную (я не могу добавить комментарий к сообщению Шверна, поэтому здесь новая запись).
Я думаю, это немного недальновидно предполагать, что вы знаете все возможные сценарии, в которых кто-то хотел бы запутать код, и предполагаете, что кто-то действительно захочет пойти на все необходимое, чтобы просмотреть этот код после обфускации. Рассмотрим мой текущий сценарий:
Я работаю в консалтинговой компании, которая разрабатывает большой и довольно сложный сайт на основе PHP. Проект будет размещен на сервере клиента, на котором размещены другие сайты, разработанные другими консультационными агентствами. Технически любой код, который мы пишем, принадлежит клиенту, поэтому мы не можем лицензировать его. Однако любая другая консалтинговая компания (конкурент), имеющая доступ к серверу, может скопировать наш код без предварительного разрешения клиента. Таким образом, у нас есть настоящая причина для обфускации - приложить усилия, необходимые для понимания конкурентом нашего кода, а не усилия по созданию копии нашей работы с нуля.
Использование SourceGuardian - это хорошо, поскольку он поставляется с классным и простым в использовании графическим интерфейсом.
Но имейте в виду:
Обратите внимание на довольно забавные условия лицензирования.
Мне это кажется нормальным! 2 машины = 2 лицензии! Обычно люди кодируют все это на одной машине, а затем загружают на другую.
@davidnewcomb, похоже, вы не поняли сути. Обычно вы шифруете код на своем компьютере разработчика перед его отправкой. Если вам нужно сделать это онлайн, интерфейс командной строки также требует дополнительной лицензии, что, очевидно, неверно. Вы, как правило, размещаете интерфейс командной строки на веб-сервере, а не на своем локальном компьютере.
TL; DR хорошая защита, тупые условия лицензирования.
Должна быть 1 лицензия на пользователя, а не на машину.
@ beppe9000 Полностью согласен!
The PHP Obfuscator tool scrambles PHP source code to make it very difficult to understand or reverse-engineer (example). This provides significant protection for source code intellectual property that must be hosted on a website or shipped to a customer. It is a member of SD's family of Source Code Obfuscators.
TrueBug.com недоступен. Я знаю, что публикую комментарий спустя более трех лет, но не могли бы вы помочь с новым URL-адресом trueBug, если таковой имеется?
@StephenAdelakun Вам нужен только TrueBug? Используйте это: Обфускатор TruBug PHP.
Извините, ссылка не работает. Или я что-то упускаю?
@StephenAdelakun Только что проверил, работает.
Да, ссылка работает, но ничего не могу скачать. Просто ссылки и ссылки ... по кругу.
@StephenAdelakun Почему только это? :( В любом случае это мертвое программное обеспечение. Теперь есть лучшие и классные, не так ли?
Мне очень нравится иметь отличный PHP-обфускатор в бесплатной или премиальной версии. Мне нужно только быть полностью уверенным в качестве, прежде чем платить. И мне нужен наставник, авторитет, чтобы принять это решение. Вот почему я здесь, ищу.
@StephenAdelakun Тогда дай мне день. Я найду для вас лучший и подарю вам бесплатно. :)
Привет @Praveen, я ждал несколько недель. Я ищу в другом месте? Я знаю, что вы можете быть заняты, но можете ли вы втиснуть меня в свою программу?
Не каждый может позволить себе 200 долларов за инструмент, который дает только ложные объяснения, почему он лучше бесплатной программы затемнения.
@DavidSpector Извини, дружище, не могу найти ничего отличного с открытым исходным кодом! :(
@StephenAdelakun Извини, дружище, не могу найти ничего отличного с открытым исходным кодом! :(
Хорошо, я начал писать свою. Я объявлю об этом здесь, если найду проект выполнимым.
@DavidSpector Было бы здорово !!! Я тоже жду. Я могу помочь, если вам нужно ... :)
Вы уверены, что вам это нужно?