Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Закрытие кода, возможно?
 
 автор: Byrger   (31.08.2009 в 16:28)   письмо автору
 
 

Возможно ли закрыть исходных код PHP так чтобы не огли раскодировать либо в данный момент не умели это делать?

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

  Ответить  
 
 автор: heed   (31.08.2009 в 17:57)   письмо автору
 
   для: Byrger   (31.08.2009 в 16:28)
 

много раз уже обсуждалось
http://softtime.ru/forum/read.php?id_forum=1&id_theme=51067

  Ответить  
 
 автор: nikita2206   (31.08.2009 в 18:30)   письмо автору
 
   для: Byrger   (31.08.2009 в 16:28)
 

закрыть код php впринципе невозможно, покрайней мере по спецификации это не компилируемый язык, а интерпритируемый...
помойму можно обойтись c++, темболее что "внедрить" его в php можно одной строчкой...

  Ответить  
 
 автор: heed   (31.08.2009 в 19:18)   письмо автору
 
   для: nikita2206   (31.08.2009 в 18:30)
 

> обойтись c++
компилируемые языки тоже достаточно просто декомпилируются ,
там возникает только проблема с распознаванием в asm-коде , того что было конкретно написано на c++ (особенно при полученном нескольки-мегабайтном листинге), или с распознованием вообще языка программирования на котором всё было написано.
но всё это легко можно изменить и перекомпилировать, или даже изменить принцип работы простой перезаписью нескольких байт комманд.

// я лично сталкиваюсь с проблемой , что сам не могу понять что я недавно написал на php ,)
стоит потерять мысль , и уже легче написать всё сначала , чем разобраться в коде :)

  Ответить  
 
 автор: !   (31.08.2009 в 21:44)
 
   для: heed   (31.08.2009 в 19:18)
 

> компилируемые языки тоже достаточно просто декомпилируются
> там возникает только проблема с распознаванием в asm-коде

Вы же говорите, что декомпиляция проста, а при этом тут же оговариваете, что с её составной частью возникают проблемы. Журнал "Хакер" давно не в моде.

  Ответить  
 
 автор: heed   (31.08.2009 в 23:28)   письмо автору
 
   для: !   (31.08.2009 в 21:44)
 

Наверное просто я не смог донести то чего имел ввиду
Декомпиляторы, довольно-таки неплохо всё отображают, все вызовы функций , передачу им параметров, всё это на ассемблере, в который всё и переводится сишными и им подобными компиляторами.
Но никто не говорит, что декомпилятор должен всё переводить на Си например (хотя в некоторых есть такая возможность), Какой-бы не был компилятор , резултьтат всегда один, исполняемый байткод. Самое главное что изучив и поняв что конгкретно делается в программе , можно использовать любые её фрагменты.
Основная сложность колличество ненужного в программе кода ,) ну или не всегда нужного.
и колличество времени , на разбирание всего этого

Бывают конечно и запутывания кода , почти как в php ,) eval(base64_decode(base64_decode($txt))), и даже хуже
Но просто никто более-менее можущий всё это понять не захочет даже разбираться во всём этом
, если и заинтересует то как что-то делает программа, достаточно будет понять каким из возможных способов она это делает. И всё.
Намного полезнее декомпиляция своих программ , чтобы понять свой компилятор.
А как ломают всякие shareWare , мне не интересно ,) как и в большинстве своём все эти shareware. , вообще не очень стараюсь ставить такие программы, от которых при установке всё моргает в течении получаса из-за слишком быстрой прокрутки строк в regmon :)

  Ответить  
 
 автор: sim5   (02.09.2009 в 07:00)   письмо автору
 
   для: heed   (31.08.2009 в 23:28)
 

С трудом прочитал.... О чем вы?

  Ответить  
 
 автор: heed   (02.09.2009 в 23:46)   письмо автору
 
   для: sim5   (02.09.2009 в 07:00)
 

>. О чем вы?
Просто зацепился за возможность поговорить на другие темы :)
в теме по ссылке и по ссылкам в теме по ссылке
уже были разговоры о сокрытие php-кода в открытых исходниках

насчёт с++ одной строчкой , думаю имели ввиду exec() , то что работало-бы заметно медленнее , это однозначно, и плюс в зависимости от размера этого скомпилированного c++

  Ответить  
 
 автор: Byrger   (01.09.2009 в 21:38)   письмо автору
 
   для: Byrger   (31.08.2009 в 16:28)
 

АП

Что норм ответа.

  Ответить  
 
 автор: Саня   (02.09.2009 в 08:17)   письмо автору
 
   для: Byrger   (01.09.2009 в 21:38)
 

На ваш вопрос существует только два ответа:
1. Использовать прекомпиляторы (Zend Encoder, Ion Cube)
2. Использовать обфускаторы

Ну и ещё один универсальный: не выкладывать код вообще. Тогда его точно не своруют.

  Ответить  
 
 автор: Byrger   (02.09.2009 в 18:06)   письмо автору
 
   для: Саня   (02.09.2009 в 08:17)
 

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

  Ответить  
 
 автор: nikita2206   (02.09.2009 в 22:11)   письмо автору
 
   для: Byrger   (02.09.2009 в 18:06)
 

свой выделенный сервер тчк

  Ответить  
 
 автор: Саня   (03.09.2009 в 07:30)   письмо автору
 
   для: Byrger   (02.09.2009 в 18:06)
 

Тогда пишите на си.

  Ответить  
 
 автор: @ndry   (03.09.2009 в 09:55)   письмо автору
 
   для: Byrger   (02.09.2009 в 18:06)
 

http://www.zend.com/en/products/guard/

  Ответить  
 
 автор: AlexRich   (04.09.2009 в 09:49)   письмо автору
 
   для: Byrger   (02.09.2009 в 18:06)
 

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

Ion Cube легко?

  Ответить  
 
 автор: @ndry   (03.09.2009 в 00:43)   письмо автору
 
   для: Byrger   (31.08.2009 в 16:28)
 

Для каких именно целей вам необходимо сделать его недоступным для других?

  Ответить  
 
 автор: Byrger   (03.09.2009 в 20:13)   письмо автору
 
   для: @ndry   (03.09.2009 в 00:43)
 

Я пишу CMS которая будет продаваться.
Для того чтобы её не занулили так скажем, нужно закрыть код чтоб его не смогли читать/исправлять.

  Ответить  
 
 автор: @ndry   (03.09.2009 в 22:07)   письмо автору
 
   для: Byrger   (03.09.2009 в 20:13)
 

Любая нормальная CMS должна предоставлять возможность клиенту свободно изменять её в процессе использования. Её часто необходимо адаптировать под разные задачи, писать модули и т.д.. Честно говоря не знаю ни одной действительно хорошей CMS, которая бы была защищена подобными методами.

Кроме того подобные действия существенно увеличивают нагрузку и требования к серверу (в случае использования Zend Defender [кстати его и рекомендую как вариант для защиты скриптов] нужно ставить соответственное ПО на сервер и т.д.).

Я практически уверен, что вы не сможете написать какой-нибудь велосипед лучше, чем те, которые уже существуют... Соответственно и защищать подобные разработки нецелесообразно. Да и покупать такие сомнительные вещи не стоит, мало ли что недобросовестный разработчик может напихать в исходники...

  Ответить  
 
 автор: Visavi   (04.09.2009 в 00:41)   письмо автору
 
   для: @ndry   (03.09.2009 в 22:07)
 

>Кроме того подобные действия существенно увеличивают нагрузку и требования к серверу (в случае использования Zend Defender [кстати его и рекомендую как вариант для защиты скриптов] нужно ставить соответственное ПО на сервер и т.д.).

Zend даже самой последней версии расшифровывается за 5 секунд

  Ответить  
 
 автор: chexov   (04.09.2009 в 08:51)   письмо автору
 
   для: Visavi   (04.09.2009 в 00:41)
 

согласен, но как говорилось выше, обфускатор в связке с zend отличная штука:) Чаще шифровка требуется не для того чтобы запретить изменять код, а чтобы избежать присвоения имени создателя,или изменения жизненно важных для CMS функций:)

  Ответить  
 
 автор: AlexRich   (04.09.2009 в 09:51)   письмо автору
 
   для: Visavi   (04.09.2009 в 00:41)
 

>
>Zend даже самой последней версии расшифровывается за 5 секунд

А вы сможете потом понять код который после расшифровки получился?

  Ответить  
 
 автор: @ndry   (05.09.2009 в 00:20)   письмо автору
 
   для: Visavi   (04.09.2009 в 00:41)
 

- Zend даже самой последней версии расшифровывается за 5 секунд
На сколько я знаю - вы не правы. Zend последней версии с нормальной лицензией (не крякнутый) вы скорее-всего не расшифруете. Кроме того есть немалая вероятность того, что после расшифровки вы получите или код который нереально понять или ресурсов на это вы потратите больше, чем на написание аналогичного скрипта руками =) .

Помнится на хабрахабре были люди которые предлагали спор на 100$, заключался он в том, что если вы сможете расшифровать зазенденый файл, который вам дадут, то получите 100$, иначе отдадите аналогичную сумму. Никто почему-то не согласился :D, а уровень "подкованности" у большинства с них значительно выше практически любого знакомого мне человека на этом форуме.

  Ответить  
 
 автор: @ndry   (05.09.2009 в 00:28)   письмо автору
 
   для: @ndry   (05.09.2009 в 00:20)
 

... (случайно вылетел месаг) ...

  Ответить  
 
 автор: Byrger   (04.09.2009 в 15:24)   письмо автору
 
   для: @ndry   (03.09.2009 в 22:07)
 

А кто сказал что весь код будет закрыт?
Мне нужно закрыть только часть кода для того чтобы не смогли сорвать модуль проверки лицензии (так скажем занулить)
А в остальном все модули будут открыты для изменений.

Вопрос по закрытию ещё в силе, Зенд дорого+не все юзеры смогут у себя запустить двиг+есть онлайн сервиси по декодированию ну а сам код можно потом и в норм вид привести

  Ответить  
 
 автор: @ndry   (05.09.2009 в 00:25)   письмо автору
 
   для: Byrger   (04.09.2009 в 15:24)
 

1. Вариантов с использованием встроеных в PHP функций нет, нужно в любом случае использовать стороннее ПО на серверной стороне.

2. Зенд не дорого если вы продадите много копий системмы, а если вы их продадите всего штук 10 то и в защите смысла нет.

3. Я выше писал что с Zend'ом не всё так просто.

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

5. Подумаем логически. Допустим мы зазендели весь сайт, любой онлайн сервис берёт определённую цену за страницу, так? Но ведь в итоге может оказаться, что страниц у системмы столько, что дешевле купить лицензию, чем дезендить для себя всё это добро да потом ещё и тратить время на разбирательства в проекте, который целяком прошёл обфускацию.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования