Jump to content
  • 0

Кодирование PHP скрипта


SuperPuperLesha
 Share

Question

Доброго времени всем!

Кто пробовал защитить свою интеллектуальную собственность написанную на PHP?

Надо зашифровать код PHP программой.

Чтоб скрипт работал без дополнительных средств, типа ZEND ... .

Нужен бесплатный вариант.

Link to comment
Share on other sites

18 answers to this question

Recommended Posts

  • 0

Заняться что ли написанием своего обфускатора?.. Чисто так, для интереса, давно на си ничего не фигачил, а тут вроде как, пусть небольшая, но задачка. Что вообще обычно преобразует обфускатор? Переименовывает переменные? Убирает пробелы и табуляции? Текста у меня в php-скриптах и так нету. Что там еще такого должно быть в алгоритме?

Link to comment
Share on other sites

  • 0
а кто php то красть собрался с сервера?

Бывает такое. Один раз заказали мне сайт, в котором должно быть всё, что только бывает на свете: новости, статьи, форумы, фотоальбомы, интернет-магазин, видеотека (что вообще редкость) и всё такое прочее. Удивило то, что это была какая-то непонятная контора (ни в интернетах ничего не нашёл и не слышал ни разу), дизайн был практически никаким, что повергло меня в сомнения. Да и вообще обычно заказывают два-три «модуля», не больше, а тут всё и сразу. Для начала я «разбил» платежи: 30% перед началом работы, 3 раза по 20% в течение разработки по мере готовности и 10% после завершения всего, для того, чтобы максимально защитить себя от «кидка». Потом у меня возникло подозрение, что им нужен не столько сайт, сколько код — так и вышло. Привёл код в нечитабельный вид. Я когда им всё закинул, то они практически сразу позвонили и сказали, мол, какого хрена тут всё непонятно. Я поинтересовался с какой целью им нужен мой код — они ответили, что типа от меня нужно было только программирование, а дизайн и вёрстку они сами могут. Я сказал, что вся вёрстка хранится в шаблонах (они в нормальном виде были) в такой-то папке, меняйте наздоровье. Потом они придумали еще что-то совершенно нелепое, чтобы убедить меня выложить «читабельный» код. Были посланы нафиг по причине: «вы заказывали сайт, вы его получили, условия договора выполнены, хотите что-то менять — обращайтесь ко мне, я многие вещи могу по готовому сайту делать очень дешево или вообще бесплатно». Потом начали мне угрожать, что типа обратятся «куда следует» и «кто надо» приедет и со мной разберётся. Были осмеяны и еще раз посланы. Дал свой домашний адрес на всякий случай, чтобы знали куда приезжать «кому надо» (я не по прописке живу). А через неделю я увидел то же самый заказ на том же самом форуме, только с указанием того, что код должен быть 100% открытым и читабельным. Судя по всему, ребята решили заняться «бизнесом» по производству сайтов, видимо, со знаниями только по HTML. Почему заказали у разработчика, а не взяли CMS? Потому что там были многие «редкие» модули типа «видеотеки», которых я, если честно, вообще не встречал ни в одной CMS-ке. В принципе, я им дал готовый движок, в котором достаточно было только менять шаблоны и можно было делать почти всё, что угодно, но вот «структуру» изменить было нельзя. Такие дела.

Link to comment
Share on other sites

  • 0

Не особо — за полтора месяца работы по вечерам и в выходные управился. У меня тогда мало чего готового было. Сейчас «средние» сайты вместе с вёрсткой (я её не люблю и делаю медленно по этому) клепаю за три-четыре вечера. Ну или за день-полтора в выходные.

Link to comment
Share on other sites

  • 0

Обычно это субподряд называется, и эта контора могла совершенно откровенно об этом сказать, но, насколько я понял, они хотели использовать эти модули не на одном проекте и, конечно, тогда обязаны были бы платить роялти с каждой реализации, что им не хотелось. Хотя это совсем небольшие деньги были бы для них. Я как оценщик скажу, что это примерно считается так: 25% от доли этих блоков в конечном продукте. Хотя вот эту долю-то и проблематичнее всего просчитать :) Обращайтесь :)

Link to comment
Share on other sites

  • 0
ты маньяк однако.

некоторые конторы подобные вещи пишут месяцами, а то и годами (имеется ввиду допиливают потом с учетом различных багов).

Ну так и задачи разные бывают. Одно дело прикрутить контейнер, в который засовывается вся страница в HTML-виде, а второе дело сделать CMS ориентированную на данные.

Самое страшное в любой CMS - система прав.

Обычно это субподряд называется, и эта контора могла совершенно откровенно об этом сказать, но, насколько я понял, они хотели использовать эти модули не на одном проекте и, конечно, тогда обязаны были бы платить роялти с каждой реализации, что им не хотелось. Хотя это совсем небольшие деньги были бы для них. Я как оценщик скажу, что это примерно считается так: 25% от доли этих блоков в конечном продукте. Хотя вот эту долю-то и проблематичнее всего просчитать :) Обращайтесь :)

Это можно было и немного по-другому монетизировать. Они получили продукт, который нужно все равно допиливать, неважно, какими способами.

Ну так договорились бы, что в случае наступления доработок, они обращаются к Veseloff'у. Платит за доработки все равно заказчик. Так как 90% денег все равно им остается, поделиться 10% было бы выгодно всем. Тупые ребятки попались.

Link to comment
Share on other sites

  • 0
ты маньяк однако.

некоторые конторы подобные вещи пишут месяцами, а то и годами (имеется ввиду допиливают потом с учетом различных багов).

Ну не то, чтобы маньяк. У меня есть два подхода к разработке:

1. Тестирование проводится силами заказчика во время разработки. Есть четкие сроки на разработку и если заказчик ничего не увидел (проглядел, забил и не смотрел вообще...) в этот срок, то сайт предоставляется «as is».

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

Второй вариант — нормальный, стоит нормальных денег. Первый — экономный, значительно дешевле, чем «нормальный», но со своими недостатками. Почему я так смело посылаю всех направо и налево? Да потому что я заинтересован в хороших и дорогих разработках. Жмоты, которые хотят сэкономит каждую копейку даже на полезных и нужных вещах, меня интересуют не больше, чем на один раз. А вот те, кто готов платить нормальные деньги, получают соответствующее качество. На отзывы мне тоже пофиг теперь стало — у меня есть два постоянных «реселлера», которые ищут заказы, сами сайты наполняют и тестируют, от них вполне нормальные деньги идут. Плюс основная работа на 7 часов с понедельника по пятницу. Так что недостатка в заказах нет — есть недостаток времени.

Ладно, хватит флудить. У кого какие мысли будут по поводу обфускатора? В каком это виде лучше должно быть (понятно, что через веб-интерфейс всё будет), какие фишечки хотели бы видеть, как вообще лучше обфусцировать код — «попроектно» или «пофайлово», какие кто знает алгоритмы?

Link to comment
Share on other sites

  • 0
Ладно, хватит флудить. У кого какие мысли будут по поводу обфускатора? В каком это виде лучше должно быть (понятно, что через веб-интерфейс всё будет), какие фишечки хотели бы видеть, как вообще лучше обфусцировать код — «попроектно» или «пофайлово», какие кто знает алгоритмы?

Пофайлово не катит. Вызовы функций из библиотек как обфусцировать?

Обфускация может быть следующей:

* замена переменных и прочего в исходниках

* компиляция исходников и декомпиляция через специальную прослойку на лету.

Второй способ круче и дешевле в разработке, но потребует дополнительных телодвижений

Link to comment
Share on other sites

  • 0
* замена переменных и прочего в исходниках

Я так и думал делать. Я и свой сайт тогда прогнал через программу, которая убрала \s, вытянув всё в строку и заменила все «понятные» названия переменных. Что еще можно сделать в этом ключе?

* компиляция исходников и декомпиляция через специальную прослойку на лету.

А вот это уже интереснее. Я ведь хочу сделать обфускатор не ради обфускатора, а ради того, чтобы сделать — давно в си не практиковался. Примерно как ты это видишь (на уровне блок-схемы что ли...)? Делаться всё будет на сервере с дебианом, ты вроде шаришь в этих делах, так что друг друг, думаю, поймём.

Link to comment
Share on other sites

  • 0
А вот это уже интереснее. Я ведь хочу сделать обфускатор не ради обфускатора, а ради того, чтобы сделать — давно в си не практиковался. Примерно как ты это видишь (на уровне блок-схемы что ли...)? Делаться всё будет на сервере с дебианом, ты вроде шаришь в этих делах, так что друг друг, думаю, поймём.

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

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy