Защита исходника

Статус
В этой теме нельзя размещать новые ответы.

Mongolor

Мастер
Регистрация
5 Дек 2007
Сообщения
156
Реакции
30
Собственно чтобы не ушло творение в паблик, как лучше защитить исходный код?
 
исходный код на чем писан? пых, перл, шарп... уточните задачу
 
Для PHP однозначно ioncube. Его тоже вроде бы взламывают, но долго и муторно, и очень мало кто берется, даже за деньги. А за деньги как правило дешевле у автора купить :)

Да, еще нюанс: когда будешь защищать, разбей на максимальное кол-во инклудов. Везде, где декодят за деньги, берут фиксированную плату за один декодируемый файл. Одно дело 5 файлов декодировать, и другое - 50. Хоть там в сумме один и тот же код получается, цена будет отличаться на порядок.
 
  • Нравится
Реакции: t3s
Да, еще нюанс: когда будешь защищать, разбей на максимальное кол-во инклудов.

как вариант добавить кучу файлов с бесполезным кодом (сто раз exit()) :D файлы не инклудятся и ничего не делают только для веса
 
А если сначала обфускатор, а потом ioncube?

Да и количество инклюдов не повлияет на скорость выполнения?
 
Обфускатор в принципе и сам по себе нормальная защита. Навешивать одно на другое - ну это реально уже параноиком надо быть :)

Ты пойми, 100% защиты все равно не получится. Есть зашифрованый код, есть алгоримт расшифровки, есть ключ. Все это есть у юзера на руках (без любой из этих компонент код не запустится). Так что в теории все взламываемо. Вопрос только в количестве затраченных усилий, возможно проще будет с нуля написать аналог.

Единственное, что может в теории дать 100% - это часть кода выполняемая на сервере.
 
Единственное, что может в теории дать 100% - это часть кода выполняемая на сервере.
не подскажешь как это реализовать? простенький пример:
у юзера:
$a = 1;
$b = 2;

if($c != $a+$b){
echo "С не равно А+Б"
}
тогда как получить переменную $c со своего сервера? можно конешно file_gets_content и установить значение, но это легко взломается + если код будет не ввиде строчки, а ввиде функции?
 
не подскажешь как это реализовать?

Немного не понял, что в твоем примере $c, откуда она взялась?

Давай как пример считать, допустим, факториал от $a

Вариант только на клиенте:
PHP:
function factorial($a) {
   if ($a <= 1) return $a;
   else return $a * factorial($a-1);
}
echo factorial(25);

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

Вариант клиент-сервер (прячем код, вычисляющий факториал, насовсем)
Клиент:
PHP:
echo file_get_contents('http://server.com/factorial.php?a=25');

Сервер:
PHP:
function factorial($a) {
   if ($a <= 1) return $a;
   else return $a * factorial($a-1);
}
echo factorial($_GET['a']);

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