PHP UnReader - Обфускатор PHP-кода

SF
На сайте с 11.10.2005
Offline
137
#11

MrX, пробовали лт вы распространять какую нибудь зазенденую программу? попробуйте.

Пользователи вашего продукта вас просто достанут с вопросами почему программа не работает, а выдает:

Fatal error : Corrupted encoded data detected in /rrr/tt/ee/77/22/admin.php on line 0

И от этого никуда не деться, если не хочется заморачиваться с поддержкой пользователей вашей программы, то лучше сделать ее чтобы было как можно меньше подводных камней. Чтобы любой ламер мог её(программу) залить на хостинг и чтобы она работала.

Инструкция: Как Правильно Делать Сайты: Домен, Хостинг, Установка CMS (http://www.3sd.ru/kak-delat-site/index.php).
MX
На сайте с 12.08.2007
Offline
22
MrX
#12

Распространяю и без всяких проблем. И ни одного обращения такого не было.

Открою тайну - автоинсталлятор их снимает.

и повторюсь ещё раз, кроме zend есть и другие решения, например, sourceguardian. там такой проблемы вообще не существует.

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

не получается - RTFM и google в помощь.

а любой ламер разрушит мозги саппорту и без "Fatal error : Corrupted encoded data detected in /rrr/tt/ee/77/22/admin.php on line 0".

Анонимный минус в репу это аргумент для неучей (подсмотрено у Бармалейкина)
DJ_Petrovich
На сайте с 13.02.2006
Offline
188
#13
MrX:
Уверены?
или всё-таки подтяните знания.

мой юный друг, может просвятишь тогда, каким таким другим целям служит великий UnReader и чем эти цели отличаются от целей Zend?

Тонны одноцентового трафика из Директа для ваших сайтов. Настройка - бесплатно! (/ru/forum/779616) Лендинг + Реклама в Яндекс.Директ за 15 минут! (/ru/forum/comment/16213883)
VT
На сайте с 26.03.2007
Offline
34
#14
MrX:
по теме - сделайте в качестве программы, а не скрипта, будет и удобнее и быстрее

Это также планируется, но в каждой реализации есть свои плюсы. Например, сейчас можно запускать обфускацию по URL т.е. можно создать пресет со всеми необходимыми настройками (указать там из какой папки брать файлы проекта и куда положить обработанные) и потом запустить на обработку запросив определённый URL.

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

- набор кодированных имён идентификаторов каждый раз уникальный - части проекта от разных юзеров не будут подходить друг к другу,

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

MrX:
и в чём проблема?

Проблем множество, не говоря о цене ZendGuard. ZendOptimizer установлен не на всех хостингах - это факт. Больше того, в ряде случаев скрипт нужно запускать на хостингах, где нет даже баз данных, не то что ZendOptimizer. С этим приходится сталкиваться распространяя продукт в широкие массы не особо "требовательных" сайтов.

Строго говоря, PHP UnReader нельзя сравнивать с технологиями Zend - классическая обфускация позволяет полностью отказаться от дополнительного серверного ПО, при этом обеспечив защиту алгоритмов, что и является основной идеей.

MrX:
Да и на зенде свет клином не сошёлся, есть и другие решения, которые байт-код кодируют в base64 и загружай его на хост как угодно.

Конечно есть, но распростанять их ещё труднее - опять же из-за обязательности дополнительного серверного ПО.

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

Это очень большой вопрос. Преобразование в байт-код и обратно взаимооднозначно, поэтому можно получить фактически оригинальный код. В сети можно найти сотни примеров "дезендированного" кода. При обфускации теряется вся мнемоника кода, добавляется мусор и т.д. вернуть такой код в оригинальный вид просто невозможно, разобраться в нём тоже практически нереально.

http://pilotstudio.ru/ (http://pilotstudio.ru/)
MX
На сайте с 12.08.2007
Offline
22
MrX
#15

неубедительно продавать скрипты пользователям дохлого хостинга и аргументировать этим отличие от других продуктов.

а теперь по порядку:

1. На любом коммерческом хостинге ZendOptimizer либо установлен, либо устанавливается по запросу. Это стало стандартом дефакто и это факт.

2. Есть технологии аналогичные Zend Guard, не требующие установки серверного ПО, достаточно разместить загрузчик в папке с закодированными скриптами.

3. Примеров dezenda в сети навалом, а вот примеров реверса конкурирующих технологий либо единицы, либо нет вообще. К тому же некоторые компиляторы позволяют произвести предварительную обфускацию. да и с dezendom не всё так гладко как многие считают, там есть свои подводные камни.

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

5. Многие компиляторы предосталяют возможность консольного вызова. таким образом online-кодирование скриптов прямо на сервере также возможно.

Итог:

я искренне рад за вас и вашу разработку. несомненно она стоит своих денег. только аргументация у вас несовсем сильная, а так - всё в порядке. к сожалению, думаю что вам надо глядеть на запад, поскольку у нас будут пользоваться ломанными zend и иже с ним.

VT
На сайте с 26.03.2007
Offline
34
#16

Таким образом, MrX, получаются 3 варианта для программиста, желающего защитить свой продукт написанный на PHP:

1. Использовать ZendGuard.

2. Использовать другую систему байт-кодирования/раскодирования.

3. Использовать мощную обфускацию.

Отдельно по вариантам:

1.

ZendGuard стоит в 20 раз дороже PHP UnReader. Конечно можно использовать "ломаный" продукт, но это просто несерьёзно - любой продукт, продаваемый официально должен быть разработан и распространяться с применением только лицензионного ПО. И это не только соображения "гражданского сознания" - если/когда Ваш продукт будет продаваться в относительно больших количествах, Вы становитесь заметны для налоговых и прочих органов, перед которыи станет просто необходимо отчитываться. Сэкономленная стоимость ПО не окупит возможных проблем.

Но и это не всё. ZendOptimizer, конечно установлен/устанавливается по требованию на многих хостингах, но это не решает всех проблем:

Например Вы скачали дэмку некоего скрипта, который имеет 10 примерных аналогов. Вы пытаетесь его установить, неудача. Вы конечно можете полезть в документацию, посмотреть что скрипту нужен ZendOptimizer, вспомнить что у Вас на хостинге он есть (или его установят по первому требованию, но возможно через неделю), а на локалхосте, где Вы смотрите демку его нет, можете вспомнить про то, что скрипт нужно закачивать по FTP в байт-режиме, и т.д. Так сделаете Вы, я ещё множество программистов/адинистраторов, НО 60-70% скачают аналог со следующего в выдаче Яндекса сайта и купят его, потомучто с ним ненужно этого всего делать.

Кроме того, байт-код, сам по себе не является обфускацией скрипта. И уж темболее base-64 кодировка. Эти коды специально созданы для быстрого и ВЗАИМООДНОЗНАЧНОГО кодирования/раскодирования. Это вобщемто не "защита" - изначально Zend использовал байт-код для ускорения загрузки скрипта, откуда и пошло название ZendOptimizer. Поэтому о "подводных камных" при "дезендировании" говорить можно только условно - они никак не помешают получить исходный код закодированного скрипта. Говоить о "защите" можно только при использовании обфускатора до байт-кодирования. Однако, большинство встроенных обфускаторов не являются действительно "мощными" и дают довольно слабую защиту.

2.

Так называемые "технологии аналогичные ZendGuard" ещё больше развивают недостатки самомго ZendGuard. В любом случае эти технологии требуют серверного ПО, потомучто в этом и есть идея байт-кодирования.

Есть два варианта:

- Серверная часть требует установки на сервер, как приложение. Такие системы рассатривать вобще нет сысла, никто не поставит её специально для Вас, а хостинга с уже установленной Вы точно не найдёте.

- Так называемый "загрузчик в папке с закодированными скриптами". Это также НЕ "защита", если не применялся обфускатор. Если Вы распространяете скрипт с таким загрузчиком, то получить исходный код будет совсем не сложно. Я уже не говорю ослучаях, когда загрузчик сам накладывает дополнительные системные требования.

Что остаётся (как итог рассуждений):

Байт-код сам по себе НЕ ЯВЛЯЕТСЯ ЗАЩИТОЙ, потомучто создан для взаимооднозначного кодирования/раскодирования. Реальную защиту даст только применение обфускатора. Этот факт подтверждает и то, что в последних версиях ZendGuard обфускатор всёже реализован. НО ZendGuard с возможностью обфускации в 20 раз дороже PHP UnReader, а реальных плюсов в области защиты не даёт.

VT
На сайте с 26.03.2007
Offline
34
#17
MrX:
Да мы не восстановим исходник, но получить более-менее читабельный код в котором можно будет разобраться - вполне

Для ответов на такие вопросы я выложил пример обработанного исходного кода небольшого проекта (http://www.pilotstudio.ru/download/index.zip). Если Вы так уверены, что возможно легко получить читабильный исходник, поробуйте хотябы снять ограничение на объём закачиваемой страницы, которое я даже не пытался спрятать.

MrX:
я искренне рад за вас и вашу разработку. несомненно она стоит своих денег. только аргументация у вас несовсем сильная

Спасибо за замечания - я постарался более чётко изложить свои аргументы.

MX
На сайте с 12.08.2007
Offline
22
MrX
#18
V.Terentev:
Например Вы скачали дэмку некоего скрипта, который имеет 10 примерных аналогов. Вы пытаетесь его установить, неудача. Вы конечно можете полезть в документацию, посмотреть что скрипту нужен ZendOptimizer, вспомнить что у Вас на хостинге он есть (или его установят по первому требованию, но возможно через неделю), а на локалхосте, где Вы смотрите демку его нет, можете вспомнить про то, что скрипт нужно закачивать по FTP в байт-режиме, и т.д. Так сделаете Вы, я ещё множество программистов/адинистраторов, НО 60-70% скачают аналог со следующего в выдаче Яндекса сайта и купят его, потомучто с ним ненужно этого всего делать.

Притянуто за уши и как аргумент принято мной быть не может - есть такое понятие как системные требования.

Или вы откажетесь использовать особенности PHP5 только потому, что не на всех хостингах он установлен, а только PHP4?

Хотя хостинг без PHP5 сейчас найти гораздо легче, чем хостинг без установленного ZendOptimizer.

Что касается загрузки в режиме BINARY - легко обходится и я писал об этом.

V.Terentev:
Что остаётся (как итог рассуждений):
Байт-код сам по себе НЕ ЯВЛЯЕТСЯ ЗАЩИТОЙ, потомучто создан для взаимооднозначного кодирования/раскодирования. Реальную защиту даст только применение обфускатора. Этот факт подтверждает и то, что в последних версиях ZendGuard обфускатор всёже реализован. НО ZendGuard с возможностью обфускации в 20 раз дороже PHP UnReader, а реальных плюсов в области защиты не даёт.

Можно часами говорить об используемых методах. у каждого из них есть свои плюсы и минусы.

лично я использую оба метода вместе.

MrX добавил 01.02.2008 в 20:18

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

Погодите, разве я где-то сказал что это легко?

я говорил, что сделать это не сложнее чем восстановить исходник из байт-кода.

V.Terentev:
...поробуйте хотябы снять ограничение на объём закачиваемой страницы, которое я даже не пытался спрятать.

увольте, я и так сейчас загружен по самое не хочу.

к тому же для себя я предпочитаю писать сам.

Unlock
На сайте с 01.08.2004
Offline
779
#19

V.Terentev, извините за ламерские вопросы, но PHP UnReader нужен только для того, чтобы закодировать файл и выполняться закодированный скрипт будет на любом сервере без дополнительного софта?

Есть желание, - тысяча способов; нет желания, - тысяча поводов! /Петр-I/.
MX
На сайте с 12.08.2007
Offline
22
MrX
#20
Unlock:
V.Terentev, извините за ламерские вопросы, но PHP UnReader нужен только для того, чтобы закодировать файл и выполняться закодированный скрипт будет на любом сервере без дополнительного софта?

именно так.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий