Кодирование скриптов ala Zend-Encoder

Crazy

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

AnToXa

prodigy-одаренный ребенок
ага :))
давайте так свой код оптимизировать! %))

есть одна проблема только. потом в коде гораздо сложнее разобраться
 

Crazy

Developer
Собственно, ваткомовски сишный компилятор был лично пойман на такой технологии лет 8 назад. :)

Человеку ж это не читать. Ну почти никогда. :)
 

SeregaP

Guest
Может логику такого кода до конца я и не пойму, но найти кусок кода, делающий какое-то конкретное действие, я смогу. И заменить его на другое действие я смогу.
Пример: мы продаем программу на пхп, привязанную к конкретному серверу (скажем по ДНС имени). Чтобы на следующий день после продажи эта программа не разошлась по рукам с вырезанной частью проверки :( , мы эту часть прверки шифруем как только можем :).
При всей могучей мощи и хитрости оптимизатора, он не сможет так испоганить код, чтобы человек не нашел, где там идет проверка и сравнение ДНС имени, и благополучно изменить ее.
Вывод: шифрования много не бывает. И даже оптимизированный байт-код не панацея (см. начало дискуссии)
 

Crazy

Developer
Это не восстановление исходного кода, это хак. :) Явление совсем другого порядка.
 

AnToXa

prodigy-одаренный ребенок
дык и откомпилированный бинарник поправить мона... :)
вот того же gcc или g++
 

SeregaP

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

А уж если для этого надо пройти сквозь такие тернии как расшифровка и восстановление из байт-кода, то тут п.а) отпадает. Что остается?
 

Crazy

Developer
Восстанавливат исходный код нужно для:

1. Анализа алгоритма.
2. Внесения существенных исправлений.

Ибо хак -- это все же для относительно мелкой правки.
 

SeregaP

Guest
А что в нем править?
И какой бинарник? Декодер?
Так вот об том и речь - надо кодировать так, чтобы расшифровать закодированный файл было сложнее, чем декомпилировать декодер.
Или написать аналг этого файла самому :)
Нет абсолютной защиты. Есть только отнимающие много сил и времени.
 

AnToXa

prodigy-одаренный ребенок
и вообoе open source рулит :)
а не хотите отдавать код покупайте свои серваки или дедики и все делайте там и отдавайте клиенту в аренду.

про ASP(Application Service Provision) слышали?
 

SeregaP

Guest
Ты знаешь, для человека, продающего программу, внесение в нее таких изменений, что ее становится можно распространять простым копированием и без участия автора, так вот для автора это наверное ОЧЕНЬ СУЩЕСТВЕННОЕ исправление программы :)
 

SeregaP

Guest
главное чтоб не мы об ASP слышали, а клиенты :)
И - одно другому не мешает.
 

AnToXa

prodigy-одаренный ребенок
хехе... короче. не думаю, что твой корпоратиный клиент (они ведь у тебя все такие, надеюсь :) ) будет что-то ломать.

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

Crazy

Developer
Автор оригинала: SeregaP
А что в нем править?
В моей практике был не один десяток случаев, когда клиент приносил .exe'шник и просил поправить, чтобы оно по-другому работало. Именно в плане алгоритма.

И, как правило, клиент долго не мог понять, почему его пслали именно таду, куда ему пришлось потом пойти... :)
 

AnToXa

prodigy-одаренный ребенок
ведь ms живет и здравствует :) значит продажа программ, которые ломают все равно приносит деньги и очень хорошие :)
 

Crazy

Developer
Автор оригинала: SeregaP
Нет абсолютной защиты. Есть только отнимающие много сил и времени.
"За повышение безопасности борются до тех пор, пока это не становится дороже потенциального ущерба". :)

Де-факто банальный циклический xor исходника по кодовой строке уже отобьет охоту копаться у большинства малолетних гениев. :)
 

SeregaP

Guest
Отвечаю по пунктам:
1) клиент клиенту рознь. А есть еще и провайдеры, на чьих сайтах оно лежит. А есть еще сисадмины провайдеров. А есть и программисты клиентов, которым не хоцца платить за всякие расширения и дополнения.

2) кроме того важная часть для распространения программы - это ее демо версии. Тут уж сам бог велел кидаться ими направо и налево. Но надо сделать так чтобы демка оставалось демкой, с какими то ограничениями но в общем и целом работоспособной. Возможно такое при распространении в исходниках?

3) да, стоимость и сложность защиты надо соизмерять с возможными потерями из за отсутвия таковой.
 

SeregaP

Guest
ZE- как вариант. На будущее. Пока же банальная жаба :) душит
 

NeBuLuS

Guest
POBS - забавно, но пока настроишь опухнешь. Особенно когда ты хочешь описать API, но не показывать содержимое :(

и кстати, он у меня почему-то прогнал на следующем:
class ZZZZ{ - не закодировал!

но:
$v = new ENCODED(...) - в new закодировал!

короче его настраивать и настраивать.
 

maxy_v

Guest
А теперь я задам самый важный вопрос:
Кто может на шару закодировать не триальным ZE пару десятков скриптов ?
Нужно очень....
:)
 
Сверху