Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Для профи > Кодирование кода


Автор: proger 22.3.2006, 08:54
Здрасти, появилась идея написать прогу, которая будет кодировать мой пхп скрипт, т.е. спрячит его содержимое, потом при обращение к серваку моя dll будет разшифровывать страницу и выводить пользователю уже нормальный скрипт.
Возможно ли такое сделать? По какой технологии? Я встречал подобные вещи в американском софте!

Автор: Ciber SLasH 22.3.2006, 09:31
Цитата(proger @ 22.3.2006, 08:54 Найти цитируемый пост)
Возможно ли такое сделать?

Нет ничего невозможного.

Автор: proger 22.3.2006, 12:40
Ciber SLasH, А доки где найти?

Автор: Ciber SLasH 23.3.2006, 12:11
Ну наверно нужно топать на сайт Апача и искать API для модулей...

Автор: AztEK 23.3.2006, 13:28
Zend Optimizer
погугли

Автор: skalex 23.3.2006, 13:30
Так такие программы есть ... Чем твоя будет лучше?

Автор: CyClon 23.3.2006, 21:09
Второй Zend? Зачем? Чтобы сдавать клиентам на тест? А нет предположений, что клиент сможет как-то расшифровать? После прочтения парочки доков хорошее врятли что получится сделать.

Автор: youri 31.3.2006, 03:53
а по поводу Zend и др: насколько это безопасно - там вроде лицензия стоит штук 6 баксов, ну и может не сейчас, а через некоторое дельта т тебе скажут: чувак, ты попал

Автор: shtogrin 3.4.2006, 04:45
Zend стоит 250$ в год для малого бизнеса (доход до 200 000$ в год).
Если самому писать надо смотреть pecl.php.net. Там есть подобные попытки.

Сложнее всего будет менять свой модуль под каждую версию php и операционную систему. Это в том случае если переводить в промежуточный код.

Проще купить Zend, писать свой будет дороже.

Автор: awers 27.9.2007, 10:36
Цитата(shtogrin @  3.4.2006,  04:45 Найти цитируемый пост)
Zend стоит 250$ в год для малого бизнеса (доход до 200 000$ в год).

откуда такая информация? 
Zend.com/store :
Zend Studio Professional - $299  (это IDE)
Zend Guard - $995 $696 - Special Promotion for limited time only. (вот оно для кодирования)

Добавлено через 1 минуту и 37 секунд
Цитата(Ciber SLasH @  23.3.2006,  12:11 Найти цитируемый пост)
Ну наверно нужно топать на сайт Апача и искать API для модулей... 

на сколько я понимаю, даже сам Zend Optimizer ставится как расширение PHP ...

Добавлено через 4 минуты и 17 секунд
Цитата(proger @  22.3.2006,  08:54 Найти цитируемый пост)
Здрасти, появилась идея написать прогу, которая будет кодировать мой пхп скрипт, т.е. спрячит его содержимое, потом при обращение к серваку моя dll будет разшифровывать страницу и выводить пользователю уже нормальный скрипт.
Возможно ли такое сделать? По какой технологии? Я встречал подобные вещи в американском софте! 

А вообще практикой проверено что лучше брать проверенные решения. ИМХО скорее всего твой продукт будет куда проще раскодировать, нежели зендовский. Не зря мне кажется они хотят свои деньги. Плюс к тому, время которое ты затратиш на разработку - будет стоить дороже зенда. Ну и где рациональность?

Автор: IZ@TOP 27.9.2007, 14:58
обфуксация - самый дешевый вариант защиты кода от модификации.

Автор: sTa1kEr 27.9.2007, 22:18
Цитата(IZ@TOP @  27.9.2007,  14:58 Найти цитируемый пост)
обфуксация - самый дешевый вариант защиты кода от модификации.

И самый надежный при грамотном подходе. 

Автор: Acer 27.9.2007, 22:21
Народ, а зачем этим страдать?  smile 
Если в твоем коде есть баг, то никто не сможет его исправить, если ты закодируешь.
И вы уже изначально выбрали для себя PHP, который не предназначен для шиврования и есть Open Source. Оупэн, так оупэн. Зачем извращаться?

Автор: smartov 27.9.2007, 22:25
Acer, вопрос очень скользкий, и PHP многие выбирают вовсе не потому, что опенсорс.
Бывает что труда затрачено много (особенно если продукт новый на рынке), и хочется чтобы тот, кто стырит, хотя бы помучался или может авось и плюнул на середине - мол ну его, не стоит свеч.

Но вообще, имхо, самое грамотное из всего -
Цитата(IZ@TOP @  27.9.2007,  13:58 Найти цитируемый пост)
обфуксация - самый дешевый вариант защиты кода от модификации.


Автор: -=Ustas=- 27.9.2007, 22:33
Цитата(proger @  22.3.2006,  08:54 Найти цитируемый пост)
Здрасти, появилась идея написать прогу, которая будет кодировать мой пхп скрипт,


Цитата(proger @  22.3.2006,  12:40 Найти цитируемый пост)
А доки где найти? 


Нет, это у тебя не идея, а МЫСЛЬ, которую ты не раелизуешь (не буду говорить почему).

Автор: Acer 27.9.2007, 23:07
smartov
Я думаю, что если так уж сильно хочется скрывать код, то лучше уже не париться над шифрованием пхп, а идти в dot.net и строчить на C#. 
На счет обфускации хочу сказать, что до полной неразберихи никогда не запутаешь. Или сам запутаешься в своем коде. Лучше тогда Zend Guard взять... К стати, у меня есть....... все, что нужно smile 

Автор: smartov 28.9.2007, 00:35
Acer, не переворачивай с ног на голову. Если надо будут, то возмут и C# но если и возьмут то не потому что там результат в виде бинаря. Инструмент выбирают под задачи.

Цитата(Acer @  27.9.2007,  22:07 Найти цитируемый пост)
до полной неразберихи никогда не запутаешь

Ну как сказать... В общем-то с одной стороны да, буквочки понятные. Но разбирать код формата как ниже нереально:
Код

function f1 ($a, $b, $c, $d) {
   if ($d==0 || f2($a)<count($c)) {
      ...
   }
}



Цитата(Acer @  27.9.2007,  22:07 Найти цитируемый пост)
Лучше тогда Zend Guard взять... К стати, у меня есть....... все, что нужно 

Воровать у других, чтобы не своровали у тебя... Мне бы "религия не позволила"

Автор: sTa1kEr 28.9.2007, 09:05
Цитата(Acer @  27.9.2007,  23:07 Найти цитируемый пост)
Я думаю, что если так уж сильно хочется скрывать код, то лучше уже не париться над шифрованием пхп, а идти в dot.net и строчить на C#. 

dotNET-овские приложения компилируются в байт код и по этому в них так же легко восстанавливается исходный код. Для того что бы защитить в .NET код используют (угадайте что?) обфускацию! Единственное, .NET поддерживает юникод (забвно смотрится код в одних квадратиках smile) и строгую типизацию - по этому там больше простора для обускаторов нежели в PHP, но без обфускации считайте, что это такой же опен сорс как и PHP.

Цитата(Acer @  27.9.2007,  23:07 Найти цитируемый пост)
На счет обфускации хочу сказать, что до полной неразберихи никогда не запутаешь. Или сам запутаешься в своем коде. Лучше тогда Zend Guard взять... 

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

Автор: Acer 28.9.2007, 09:10
Цитата(smartov @  28.9.2007,  00:35 Найти цитируемый пост)
Ну как сказать... В общем-то с одной стороны да, буквочки понятные. Но разбирать код формата как ниже нереально:код PHP1:2:3:4:5:function f1 ($a, $b, $c, $d) {   if ($d==0 || f2($a)<count($c)) {      ...   }}

В этом коде нет ничего нереального. Все просто элементарно....
Цитата(smartov @  28.9.2007,  00:35 Найти цитируемый пост)
Воровать у других, чтобы не своровали у тебя... Мне бы "религия не позволила"

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

Автор: smartov 28.9.2007, 10:46
Acer, 
Цитата(Acer @  28.9.2007,  08:10 Найти цитируемый пост)
В этом коде нет ничего нереального. Все просто элементарно....

Вах вах вах! Давай на спор тему заведем  smile  Я тебе вышлю файлик обфусцированный и посмотрим за сколько ты разберешься что он делает?  smile 
Если раскажешь назначение функций за одни сутки - тебе плюс, не расскажешь - минус smile А то голословно хвастаться каждый мастак

Добавлено через 1 минуту и 35 секунд
Цитата(sTa1kEr @  28.9.2007,  08:05 Найти цитируемый пост)
Дело даже не в том насколько ты запутаешь код, а в том какова будет цена его восстановить. Восстановить код зенда можно автоматически за несколько секунд, а вот во сколько вы оцените неделю кропотливой работы, что бы вручную восстановить код после обфускатора? 

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

Автор: sTa1kEr 28.9.2007, 10:59
Цитата(smartov @  28.9.2007,  10:46 Найти цитируемый пост)
p.s. последний зенд умеет делать обфускацию, причем разноуровневую.

Вот именно! Все дело в шляпе,.. т.е. в обфускаторе! Зендить без предварительной обфускации так же бесполезно, как и компилировать С# без той же обфускации.

Добавлено через 2 минуты и 3 секунды
Цитата(smartov @  28.9.2007,  10:46 Найти цитируемый пост)
для чего я кстати тоже не видел тулзов - именно для последней версии

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

Автор: Acer 29.9.2007, 02:39
Цитата(smartov @  28.9.2007,  10:46 Найти цитируемый пост)
Вах вах вах! Давай на спор тему заведем    Я тебе вышлю файлик обфусцированный и посмотрим за сколько ты разберешься что он делает?   Если раскажешь назначение функций за одни сутки - тебе плюс, не расскажешь - минус  А то голословно хвастаться каждый мастак

Ну, я ж говорил именно про тот код  smile 
В нем ниче нет жуткого. А если ты мне даш что-то ацкое, то ясное дело, что я не разберусь. Я чужой код плохо читаю...

Автор: smartov 29.9.2007, 10:02
Acer, 
Цитата(Acer @  29.9.2007,  01:39 Найти цитируемый пост)
Ну, я ж говорил именно про тот код

ты знаешь что такое "http://ru.wikipedia.org/wiki/%D0%90%D0%B1%D1%81%D1%82%D1%80%D0%B0%D0%BA%D1%86%D0%B8%D1%8F"?.......  smile 


sTa1kEr, 
Цитата(sTa1kEr @  28.9.2007,  09:59 Найти цитируемый пост)
Вот именно! Все дело в шляпе,.. т.е. в обфускаторе! Зендить без предварительной обфускации так же бесполезно, как и компилировать С# без той же обфускации.

Почемы ты так решил? Я не свовсем понимаю тебя. Механизм компилляции в зендовский байт код закрыт, в отличие от механизма компилляции в dll, который всем известен. И насколько мне известно по-реверс-инженирить его пока-что не смогли. К сожалению у меня нету Zend Guard версии 4 или 5, чтобы попробовать, сможет ли http://218.1.182.189/cyrj/deZender/deztestprep-en.htm, их разобрать.
Acer ты как раз говорил, что у тебя есть. Попробуй, да отпишись. Интересно все таки.

Автор: sTa1kEr 29.9.2007, 10:16
Цитата(smartov @  29.9.2007,  10:02 Найти цитируемый пост)
Почемы ты так решил? Я не свовсем понимаю тебя.

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

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

Автор: smartov 29.9.2007, 10:25
sTa1kEr, 
Цитата(sTa1kEr @  29.9.2007,  09:16 Найти цитируемый пост)
Я не знаю, сможет ли дезендить этот сервис последний зенд, но могу поспорить, что если зенд останется столько же популярным, то доработают его и до последней версии. А деобфускатор просто не возможно создать, так же как не возможно из хеша восстановить исходную строку. 

Я тебя понял. Но в ответ могу только сказать "еще один". Я в прошлом посте Acer-у говорил про абстрактное мышление. Теперь тут тебе напоминаю об этом: никто не требует, чтобы код, закодированный Зендом, никогда нельзя было подизассемблить. Хватит и 5 лет, чтобы разработчики успели получить прибыль. Так что даже если бы в Зенде не было обфускации - это бы не остановило тех, кто хочет им пользоваться.

Автор: Dagdamor 29.9.2007, 12:19
Обфускация - тоже не панацея. В лучшем случае код после обфускации будет медленнее работать за счет добавления лишних операций. В худшем эти лишние операции повлияют на логику приложения и скрипт будет работать неправильно.

Автор: sTa1kEr 29.9.2007, 14:06
Цитата(Dagdamor @  29.9.2007,  12:19 Найти цитируемый пост)
Обфускация - тоже не панацея. В лучшем случае код после обфускации будет медленнее работать за счет добавления лишних операций.

Абсолютно не верно. Обфускация никак не тормозит работу скрипта. В случае PHP он буде работать только быстрее, т.к. будут удалены комментарии и лишние пробелы, а значит парсить скрипт будет быстрее.

Цитата(Dagdamor @  29.9.2007,  12:19 Найти цитируемый пост)
В худшем эти лишние операции повлияют на логику приложения и скрипт будет работать неправильно.

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

Автор: Dagdamor 30.9.2007, 01:00
sTa1kEr
Это очень спорный момент - да, "защищенный" скрипт уже является распарсенным, вместо исходного кода там инструкции для интерпретатора, комментариев нет, но с другой стороны, защищенные скрипты дополнительно сжимаются и шифруются, и на дешифрование/распаковку нужно тратить лишнее время. Если же на сервере установлен опкод кеш (а на большинстве хостингов их сейчас ставят), то и любой незащищенный скрипт сохраняется в виде инструкций опкода, т.е. повторного парсинга скрипта не будет.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)