|
|
|
| Возможно ли закрыть исходных код PHP так чтобы не огли раскодировать либо в данный момент не умели это делать?
Может как-то можно сделать это подручными средствами?
Я думал закодировать функцией но опятьже сама функция должна быть открыта... | |
|
|
|
|
|
|
|
|
для: Byrger
(31.08.2009 в 16:28)
| | закрыть код php впринципе невозможно, покрайней мере по спецификации это не компилируемый язык, а интерпритируемый...
помойму можно обойтись c++, темболее что "внедрить" его в php можно одной строчкой... | |
|
|
|
|
|
|
|
для: nikita2206
(31.08.2009 в 18:30)
| | > обойтись c++
компилируемые языки тоже достаточно просто декомпилируются ,
там возникает только проблема с распознаванием в asm-коде , того что было конкретно написано на c++ (особенно при полученном нескольки-мегабайтном листинге), или с распознованием вообще языка программирования на котором всё было написано.
но всё это легко можно изменить и перекомпилировать, или даже изменить принцип работы простой перезаписью нескольких байт комманд.
// я лично сталкиваюсь с проблемой , что сам не могу понять что я недавно написал на php ,)
стоит потерять мысль , и уже легче написать всё сначала , чем разобраться в коде :) | |
|
|
|
|
автор: ! (31.08.2009 в 21:44) |
|
|
для: heed
(31.08.2009 в 19:18)
| | > компилируемые языки тоже достаточно просто декомпилируются
> там возникает только проблема с распознаванием в asm-коде
Вы же говорите, что декомпиляция проста, а при этом тут же оговариваете, что с её составной частью возникают проблемы. Журнал "Хакер" давно не в моде. | |
|
|
|
|
|
|
|
для: !
(31.08.2009 в 21:44)
| | Наверное просто я не смог донести то чего имел ввиду
Декомпиляторы, довольно-таки неплохо всё отображают, все вызовы функций , передачу им параметров, всё это на ассемблере, в который всё и переводится сишными и им подобными компиляторами.
Но никто не говорит, что декомпилятор должен всё переводить на Си например (хотя в некоторых есть такая возможность), Какой-бы не был компилятор , резултьтат всегда один, исполняемый байткод. Самое главное что изучив и поняв что конгкретно делается в программе , можно использовать любые её фрагменты.
Основная сложность колличество ненужного в программе кода ,) ну или не всегда нужного.
и колличество времени , на разбирание всего этого
Бывают конечно и запутывания кода , почти как в php ,) eval(base64_decode(base64_decode($txt))), и даже хуже
Но просто никто более-менее можущий всё это понять не захочет даже разбираться во всём этом
, если и заинтересует то как что-то делает программа, достаточно будет понять каким из возможных способов она это делает. И всё.
Намного полезнее декомпиляция своих программ , чтобы понять свой компилятор.
А как ломают всякие shareWare , мне не интересно ,) как и в большинстве своём все эти shareware. , вообще не очень стараюсь ставить такие программы, от которых при установке всё моргает в течении получаса из-за слишком быстрой прокрутки строк в regmon :) | |
|
|
|
|
|
|
|
для: heed
(31.08.2009 в 23:28)
| | С трудом прочитал.... О чем вы? | |
|
|
|
|
|
|
|
для: sim5
(02.09.2009 в 07:00)
| | >. О чем вы?
Просто зацепился за возможность поговорить на другие темы :)
в теме по ссылке и по ссылкам в теме по ссылке
уже были разговоры о сокрытие php-кода в открытых исходниках
насчёт с++ одной строчкой , думаю имели ввиду exec() , то что работало-бы заметно медленнее , это однозначно, и плюс в зависимости от размера этого скомпилированного c++ | |
|
|
|
|
|
|
|
для: Byrger
(31.08.2009 в 16:28)
| | АП
Что норм ответа. | |
|
|
|
|
|
|
|
для: Byrger
(01.09.2009 в 21:38)
| | На ваш вопрос существует только два ответа:
1. Использовать прекомпиляторы (Zend Encoder, Ion Cube)
2. Использовать обфускаторы
Ну и ещё один универсальный: не выкладывать код вообще. Тогда его точно не своруют. | |
|
|
|
|
|
|
|
для: Саня
(02.09.2009 в 08:17)
| | всё это декодируется обратно легко.
Мне нужно то что пока не удалось или что-то малоиспользуемое на что пока нету декодера | |
|
|
|
|
|
|
|
для: Byrger
(02.09.2009 в 18:06)
| | свой выделенный сервер тчк | |
|
|
|
|
|
|
|
для: Byrger
(02.09.2009 в 18:06)
| | Тогда пишите на си. | |
|
|
|
|
|
|
|
для: Byrger
(02.09.2009 в 18:06)
| | http://www.zend.com/en/products/guard/ | |
|
|
|
|
|
|
|
для: Byrger
(02.09.2009 в 18:06)
| | >всё это декодируется обратно легко.
>Мне нужно то что пока не удалось или что-то малоиспользуемое на что пока нету декодера
Ion Cube легко? | |
|
|
|
|
|
|
|
для: Byrger
(31.08.2009 в 16:28)
| | Для каких именно целей вам необходимо сделать его недоступным для других? | |
|
|
|
|
|
|
|
для: @ndry
(03.09.2009 в 00:43)
| | Я пишу CMS которая будет продаваться.
Для того чтобы её не занулили так скажем, нужно закрыть код чтоб его не смогли читать/исправлять. | |
|
|
|
|
|
|
|
для: Byrger
(03.09.2009 в 20:13)
| | Любая нормальная CMS должна предоставлять возможность клиенту свободно изменять её в процессе использования. Её часто необходимо адаптировать под разные задачи, писать модули и т.д.. Честно говоря не знаю ни одной действительно хорошей CMS, которая бы была защищена подобными методами.
Кроме того подобные действия существенно увеличивают нагрузку и требования к серверу (в случае использования Zend Defender [кстати его и рекомендую как вариант для защиты скриптов] нужно ставить соответственное ПО на сервер и т.д.).
Я практически уверен, что вы не сможете написать какой-нибудь велосипед лучше, чем те, которые уже существуют... Соответственно и защищать подобные разработки нецелесообразно. Да и покупать такие сомнительные вещи не стоит, мало ли что недобросовестный разработчик может напихать в исходники... | |
|
|
|
|
|
|
|
для: @ndry
(03.09.2009 в 22:07)
| | >Кроме того подобные действия существенно увеличивают нагрузку и требования к серверу (в случае использования Zend Defender [кстати его и рекомендую как вариант для защиты скриптов] нужно ставить соответственное ПО на сервер и т.д.).
Zend даже самой последней версии расшифровывается за 5 секунд | |
|
|
|
|
|
|
|
для: Visavi
(04.09.2009 в 00:41)
| | согласен, но как говорилось выше, обфускатор в связке с zend отличная штука:) Чаще шифровка требуется не для того чтобы запретить изменять код, а чтобы избежать присвоения имени создателя,или изменения жизненно важных для CMS функций:) | |
|
|
|
|
|
|
|
для: Visavi
(04.09.2009 в 00:41)
| | >
>Zend даже самой последней версии расшифровывается за 5 секунд
А вы сможете потом понять код который после расшифровки получился? | |
|
|
|
|
|
|
|
для: Visavi
(04.09.2009 в 00:41)
| | - Zend даже самой последней версии расшифровывается за 5 секунд
На сколько я знаю - вы не правы. Zend последней версии с нормальной лицензией (не крякнутый) вы скорее-всего не расшифруете. Кроме того есть немалая вероятность того, что после расшифровки вы получите или код который нереально понять или ресурсов на это вы потратите больше, чем на написание аналогичного скрипта руками =) .
Помнится на хабрахабре были люди которые предлагали спор на 100$, заключался он в том, что если вы сможете расшифровать зазенденый файл, который вам дадут, то получите 100$, иначе отдадите аналогичную сумму. Никто почему-то не согласился :D, а уровень "подкованности" у большинства с них значительно выше практически любого знакомого мне человека на этом форуме. | |
|
|
|
|
|
|
|
для: @ndry
(05.09.2009 в 00:20)
| | ... (случайно вылетел месаг) ... | |
|
|
|
|
|
|
|
для: @ndry
(03.09.2009 в 22:07)
| | А кто сказал что весь код будет закрыт?
Мне нужно закрыть только часть кода для того чтобы не смогли сорвать модуль проверки лицензии (так скажем занулить)
А в остальном все модули будут открыты для изменений.
Вопрос по закрытию ещё в силе, Зенд дорого+не все юзеры смогут у себя запустить двиг+есть онлайн сервиси по декодированию ну а сам код можно потом и в норм вид привести | |
|
|
|
|
|
|
|
для: Byrger
(04.09.2009 в 15:24)
| | 1. Вариантов с использованием встроеных в PHP функций нет, нужно в любом случае использовать стороннее ПО на серверной стороне.
2. Зенд не дорого если вы продадите много копий системмы, а если вы их продадите всего штук 10 то и в защите смысла нет.
3. Я выше писал что с Zend'ом не всё так просто.
4. Даже если вы закроете кусок кода это не спасёт вас тк. пользователь будет иметь возможность заменить определённый файл, передать ему какие-либо специфические данные и т.д.
5. Подумаем логически. Допустим мы зазендели весь сайт, любой онлайн сервис берёт определённую цену за страницу, так? Но ведь в итоге может оказаться, что страниц у системмы столько, что дешевле купить лицензию, чем дезендить для себя всё это добро да потом ещё и тратить время на разбирательства в проекте, который целяком прошёл обфускацию. | |
|
|
|