Защита продукта на PHP
1172 сообщения
#15 лет назад
Цитата ("The_KING"):И как Вы себе это представляете? Как пользователь будет цеплять бд к движку? Конфигурационный файл создается во время установки.
Кто мешает его закодировать после установки? PHP автоматически прогонит его через лоадер и будет работать как обычный чистый скрипт. Лишние телодвижения? А попробуйте поднять базу из бэкапа, который также случайно удалили или случайно забыли сделать. Потом подумайте, что сделать проще и логичнее. Лично я считаю обязательным хранить конфиг в кодированном виде, а вы как хотите.
Цитата ("The_KING"):
Причем тут мой хостер? У меня свой сервер. Я за пользователей переживаю. Не более.
В чем тогда проблема поставить лоадер?
Цитата ("The_KING"):
Если взломщик вскроет чей нибудь ftp аккаунт или просто купит продукт он ведь сможет его декодировать.
При выполнении скрипта, он прогоняется через лоадер (который работает как одна из библиотек PHP) и получается чистый скрипт, который и исполняется самим PHP. Самое сложное во взломе - поймать момент, когда скрипт декодирован. Для этого очень много таращятся на дизассемблированный код PHP и этой библиотеки. И чем популярнее кодировщик, тем больше народу таращится. Иногда кто-то видит нужное место и вставляет туда функцию сохранения декодированного скрипта в какой-нибудь файл. Вся штука в том, что Zend, IonCube и SourceGuardian работают по одному принципу. И декодируются также по одному принципу. Вариаций на самом деле не так уж и много. Поэтому, если уж у вас действительно свой сервер, то ставьте тот, который наименее популярен, его ломать просто никому в голову не придет. Популярность в данном случае определяется качеством маркетинга, а не качества работы. Но ставить можно только один из этих трех, другие могут легко запороть скрипт кривым кодированием.
49 сообщений
#15 лет назад
Цитата ("The_KING"):Я изготовитель продукта, а не пользователь
Мне нужно что бы пользователи были довольны, а продукт достоин их внимания.
В тоже время я не хочу что бы в течении недели вышла нулл версия. Что делать?
Надуманная проблема - в большинстве случаев защита не нужна, тем более, если продукт только появился...
Ответьте на вопросы:
1) Вы на 100% уверены, что продукт (т.е. код) уникальный?
2) Вы на 100% уверены, что еще нет подобных сервисов?
3) Вы на 100% уверены, что пользователи сразу кинутся покупать Ваш продукт?
4) Вы на 100% уверены, что кому то нужна нуленная версия?
Если на все вопросы ответ "Да" - тогда ставьте любую защиту (все равно какие требования - если пользователям нужно - поставят).
Если "Нет" - хорошо подумайте, а действительно ли это нужно? Почему не сделать код открытым? (система только выиграет т.к. пользователи смогут изменять её под себя).
На Вашем месте, я бы потратил, деньги на юридическую защиту - нормальное соглашение и т.д. Ну, а те, кто будет пользоваться нуленными версиями - это или будущие клиенты или бесплатные тестеры...
Все IMHO, естественно.
205 сообщений
#15 лет назад
Цитата ("The_KING"):Цитата ("e1it3"):таких технологий нет и не будет никогда.
Может наконец-то будем повнимательнее? Я спрашивал про данный момент. И такие технологии существуют!
я внимательнее некуда. любой php код превращается в opcode, дальше все сводится к его расшифровке (документация есть ссылка)
ps есть готовое решение против IonCube, SourceGuardian, phpcipher, codelock, SourceCop ссылка
pss иногда ^-^ утекает в паблик
30 сообщений
#15 лет назад
1. Не существует защит, которые нельзя было бы взломать.2. Самая надёжная защита та, стоимость взлома которой превышает стоимость того, что она защищает.
Эти два факта известны уже очень давно, поэтому производители ПО ищут другие способы как привлечь покупателей заплатить за официальную лицензию. Кто-то ограничивает в поддержке продукта, кто-то расставляет в коде ловушки, которые срабатывают не сразу а через месяц (кто из хакеров будет тестить продукт больше месяца) и т.д. и т.п. Т.е. нужно проявлять хитрость, причём нестандартную, что-то добавлять или менять от версии к версии.
69 сообщений
#15 лет назад
Цитата ("Lisio"):Кто мешает его закодировать после установки? PHP автоматически прогонит его через лоадер и будет работать как обычный чистый скрипт. Лишние телодвижения? А попробуйте поднять базу из бэкапа, который также случайно удалили или случайно забыли сделать. Потом подумайте, что сделать проще и логичнее. Лично я считаю обязательным хранить конфиг в кодированном виде, а вы как хотите.
И каким же образом я его буду кодировать после установки? Для меня пока что этот момент не ясен. Рассмотрим живой пример. Пользователь покупает разработку, но он хочет ее поставить на свой хостинг или на свой сервер. Я же не могу туда залезть после установки и закодировать файлы. А шелл заливать - не этично. Это отпугнет пользователя.
SourceGuardian я еще не тестировал, но буюсь что там простая обусификация кода. А это даже защитой назвать сложно...
Цитата ("Lisio"):
В чем тогда проблема поставить лоадер?
На мой сервак я поставлю без проблем. Вопрос только в том поддерживают ли другие хостинги этот лоадер. И если не поддерживают будут ли они ставить? И еще такой вопрос. Большинство хостингов сейчас ресселерские. Смогут ли школяры реселлеры поставить этот лоадер? (Сам ресселером никогда не был потому и спрашиваю)
Цитата ("Lisio"):
При выполнении скрипта, он прогоняется через лоадер (который работает как одна из библиотек PHP) и получается чистый скрипт, который и исполняется самим PHP. Самое сложное во взломе - поймать момент, когда скрипт декодирован. Для этого очень много таращятся на дизассемблированный код PHP и этой библиотеки. И чем популярнее кодировщик, тем больше народу таращится. Иногда кто-то видит нужное место и вставляет туда функцию сохранения декодированного скрипта в какой-нибудь файл. Вся штука в том, что Zend, IonCube и SourceGuardian работают по одному принципу. И декодируются также по одному принципу. Вариаций на самом деле не так уж и много. Поэтому, если уж у вас действительно свой сервер, то ставьте тот, который наименее популярен, его ломать просто никому в голову не придет. Популярность в данном случае определяется качеством маркетинга, а не качества работы. Но ставить можно только один из этих трех, другие могут легко запороть скрипт кривым кодированием.
По поводу маркетинга - все понятно. Тут я с Вами согласен. Но вот как быть с дешифрацией SourceGuardian. Есть ли случаи его раскодирования?
Просто если в сети есть инструкция по его декодированию - защита считай у него нулевая....
Цитата ("e1it3"):
есть готовое решение против IonCube, SourceGuardian, phpcipher, codelock, SourceCop ссылка
Вот об этом-то я и говорил... Оказывается уже есть декодер.
Есть еще какие нибудь варианты для защиты скриптов? Менее известные широкой публике и соответственно временно не ломаемые.
69 сообщений
#15 лет назад
Цитата ("LastDragon"):На Вашем месте, я бы потратил, деньги на юридическую защиту - нормальное соглашение и т.д.
К юристам я уже обратился. Они работают на этими вопросами, но кроме юридической защиты хотелось бы иметь и фактическую.
6 сообщений
#15 лет назад
Когда изучал проблему лицензирования программки, написанной на питоне (он тоже интерпретируемый язык), пришел к выводу, что в случае с интерпретируемыми языками единственный разумный выход - использовать GPL. Деньги всегда можно брать за поддержку, за документацию, за доработку и разработку модулей. Примерно тогда же вычитал в интернете умную фразу: "В конечном счете, если вы боитесь лицензии GPL, исходя из соображений бизнеса, вы, вероятно, недостаточно глубоко разработали свою бизнес-модель.". Коротко и емко.
Если же бизнес модель никак не позволяет использовать Open-Source, проще, как было сказано выше, отказаться от интерпретируемых языков. Нет ничего принципиально сложного в написании Web-сервера на том же самом C/C++/Delphi или любом другом компилируемом языке. Тем более, функционал апача ему будет наврядли нужен. А модули прикручивать на том же PHP через CGI, например. Или в виде .dll допустим. При этом появляется даже дополнительная гибкость.
Если принципиально не хочется писать web-сервер, все существующие умеют CGI. Вместо скрипта ему вполне можно подсунуть любой исполнимый файл (.php .sh .bat .exe или любой другой, который можно выполнить на системе), лишь бы на выходе он выдавал заголовки HTTP и HTML-код.
Все нужно использовать по назначению. Мы же микроскопом гвозди не заколачиваем? Почему тогда пытаемся используя языки, предназначенные для open-source разработок, закрыть код?

1172 сообщения
#15 лет назад
Цитата ("LastDragon"):Надуманная проблема - в большинстве случаев защита не нужна, тем более, если продукт только появился...
Ответьте на вопросы: ....
Вот кстати, типичный пример ситуации, которая складывается в сети. Вот спросишь, к примеру, на форуме: "Как зайти под рутом на убунту". И в 95% случаев получишь ответ: "А ты знаешь, что под рутом небезопасно сидеть?", или "А зачем тебе рут, неужели так трудно каждый раз под sudo входить и заниматься прочей подобной обезьяньей деятельностью?". 4% скажут "Загугли", и только 1% скажет как это сделать.
LastDragon, вы внимательно прочитали вопрос ТС? Там сказано "Что использовать", а не "А нужно ли мне это использовать". Для любителей нотаций есть аудитории, в которых можно читать лекции.
Такс, ладно, поехали дальше.Цитата ("The_KING"):
Рассмотрим живой пример. Пользователь покупает разработку, но он хочет ее поставить на свой хостинг или на свой сервер. Я же не могу туда залезть после установки и закодировать файлы. А шелл заливать - не этично. Это отпугнет пользователя.
Вы не поняли меня. Первый случай я описал для личного применения. Для вас как продавца я описал третий случай, о кодировании базовой части движка.
Цитата ("The_KING"):
Вопрос только в том поддерживают ли другие хостинги этот лоадер. И если не поддерживают будут ли они ставить? И еще такой вопрос. Большинство хостингов сейчас ресселерские. Смогут ли школяры реселлеры поставить этот лоадер?
К сожалению, поддерживают не так часто как хотелось бы. И ставят в 50% случаев. Школяры обычно боятся что-нибудь добавлять новое в систему по причине "раз сервер работет без него - лучше не трогать". Это-то и самое грустное в истории.
Цитата ("e1it3"):
есть готовое решение против IonCube, SourceGuardian, phpcipher, codelock, SourceCop ]http://qinvent.com/cyrj/dezender/index.php
Как правило, они очень сильно отстают от тенденций. К примеру, тот же SG они хорошо если 6й версии декодировать смогут. Восьмую - очень не скоро. С IonCube чуть быстрее. Zend - еще раньше. И даже если ваш движок прогонят через дезендер, то деобфускацию уж точно красиво не сделаешь. Печально известный Slaed после таких мероприятий работал через раз. А когда смогут сломать восьмую версию - выйдет девятая. И так далее.
Цитата ("The_KING"):
Оказывается уже есть декодер.
Есть дезендер. За декодирование SG они берут деньги. Кто гарантирует, что они пришлют вам что-то обратно? И какую версию смогут декодировать? Если есть лишние деньги - можете проверить.
Кроме обфускации и байт-кодирования в PHP ничего нет и не будет. Zend - самый быстро взламываемый, но самый распространенный, IonCube - середина, сложнее взламывается, но менее распротранен. SG - нормального декодера в сети еще не встречал, но и сам он встречается редко. Что из них использовать - зависит от того, что важнее: долгий срок защиты до взлома или большая распространенность загрузчиков.
69 сообщений
#15 лет назад
Цитата ("Lisio"):Вот кстати, типичный пример ситуации, которая складывается в сети. Вот спросишь, к примеру, на форуме: "Как зайти под рутом на убунту". И в 95% случаев получишь ответ: "А ты знаешь, что под рутом небезопасно сидеть?", или "А зачем тебе рут, неужели так трудно каждый раз под sudo входить и заниматься прочей подобной обезьяньей деятельностью?". 4% скажут "Загугли", и только 1% скажет как это сделать.
LastDragon, вы внимательно прочитали вопрос ТС? Там сказано "Что использовать", а не "А нужно ли мне это использовать". Для любителей нотаций есть аудитории, в которых можно читать лекции.
Такс, ладно, поехали дальше.
Спасибо за понимание!

Цитата ("Lisio"):
К сожалению, поддерживают не так часто как хотелось бы. И ставят в 50% случаев. Школяры обычно боятся что-нибудь добавлять новое в систему по причине "раз сервер работет без него - лучше не трогать". Это-то и самое грустное в истории.
Это и меня отталкивает в данном случае. Просто пользователям хотелось бы дать свободу. Чтобы они не заморачивались в данном случае с выбором хостинга и прочих вещей.
Lisio, мне хотелось бы спросить у Вас есть ли какие нибудь альтернативы SG для которых не нужно ничего ставить на сервер? И при этом тяжело декодируемые как SG. Поломать у меня пока его не получилось
P.S. Что касаемо Zend'a сегодня в паблик выложили пятую версию. Теперь все версии можно быстро и просто поломать

1172 сообщения
#15 лет назад
Crisis, он сможет скомпилить проект, в котором используются очень специфичные библиотеки PHP. Или только стандартный набор?
8 сообщений
#15 лет назад
Попробуйте, по-идее компилятору всё-равно, какие вы используете библиотеки
3195 сообщений
#15 лет назад
Цитата ("The_KING"):P.S. Что касаемо Zend'a сегодня в паблик выложили пятую версию.
кто-нибудь, а анти_ионкуб есть в паблике?
69 сообщений
#15 лет назад
Цитата ("Crisis"):Roadsend PHP compiler
RoadsendPHP оттранслировал мегабайтный проект в 20 с хреном метров Scheme-кода, после чего все это еще и не компилировалось. После танцев с бубном получился бинарник размером около 50 метров. Работать отказался по причине Segmentation Fault. В общем, не жилец.
Цитата ("AlekartRu"):
кто-нибудь, а анти_ионкуб есть в паблике?
В паблике нет. По крайней мере я не видел и не искал.
1322 сообщения
#15 лет назад
Не знаю - не знаю, кому понадобится полностью кодированный продукт. Ну или не полностью а так, чтобы изменения самостоятельно внести нельзя было.. Это продукт должен быть ну очень раскрученный, жутко нужный, без конкурентов и т.д. Да ну бог с этим. Не мое дело все таки.Можно пойти наиболее простым способом. Никакого кодирования не надо. Просто обфускация + пара хитростей. У ребят с osc-help такую штуку увидел. Чтобы у них модули не уперли на другие магазины придумали что. Они папки называют то пробелами то слешами (точно не помню) но большинство ftp менеджеров эти папки вообще не видит. Спасался ssh. + переменные типа $iC $vid + полное отсутствие полезных комментариев (да да именно полезных, отладочного кода закоменчено полно). Да такое просто даром не надо. Хотя работает как часы. Несколько доработок мне все же удавалось делать, но потом понял что мозг мой съезжает, я отказался от дальнейшей работы. Потом этот клиент тут тупо на интеграцию дизайна проект раза 4 или 5 поднимал. Бедный...

7132 сообщения
#15 лет назад
Ломают любую защиту (сам писал защиты и сам писал ломалки). Любой код можно вскрыть и декодировать. Задача сделать этот процесс невыгодным.Пример с оракл очень нагляден. Этот же подход проповедуют разработчики всяких опенсерсов - прога бесплатно, сопровождение и обучение за деньги.
Эту тему (только с дотнетом) регулярно обсасывают на шароварных форумах (тот же РСДН посмотрите).
Нет универсальной не ломаемой защиты. Тот же мелкософт при всей своей мощи не может избавиться от пиратов.
Пересмотрите свой подход к делу. Продавайте не программу, а что-то другое, что не возможно клонировать или дешево копировать.
16382 сообщения
#15 лет назад
Цитата:Тот же мелкософт при всей своей мощи не может избавиться от пиратов.
В от встряну на минутку. А хочет ли вообще? Если не пираты - мелкомягкие умрут. ИМХО тоже самое касается и остальных продуктов. Если продукт популярен (а на наших просторах бесплатность/доступность обязательна для популярности), то на популярности можно заработать денег. При это не популярный продукт никому не нужен в плане ломания, ну и если продукт не бесплатен/доступен, то широко популярным он врядли станет...
Все ИМХО!
7132 сообщения
#15 лет назад
Цитата ("frig"):Если не пираты - мелкомягкие умрут.
Смелое заявление. Что ж они так лоббируют борьбу с пиратством?
Цитата ("frig"):
то широко популярным он врядли станет
Ага. Например фар или винамп ))
16382 сообщения
#15 лет назад
Цитата:Смелое заявление. Что ж они так лоббируют борьбу с пиратством?
Что будет, если ВДРУГ мелкомягкие напишут нормальную защиту? Сначала очень много народу просто перестанет использовать винду, так как очень многим на данном этапе все равно что там за ось у него. Это подстегнет развитие линухов и иже с ними, повысит их уровень и еще больше потеснит винду. Рост количества пользователей на других осях будет стимулировать написание под них софта, что также будет играть на пользу линухам и так далее по кругу. Когда возникает вопрос переходить на другую ось/продукт или нет - в первую очередь интересует что я получу и чего мне это будет стоить. Пока дело не касается оплаты - еще можно подумать, но если "здесь" дорого за тоже самое, что "там" бесплатно, то подумать будет о чем.
Или все кинутся платить деньги за винду? сильно сомневаюсь.
Цитата:
Ага. Например фар или винамп ))
Фар или винамп недоступен или не бесплатен? Я честно не знаю. фара у меня нету, а за винамп я никогда не платил.