Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   защита программного кода (http://forum.oszone.net/showthread.php?t=216800)

Arbitr 29-09-2011 23:56 1762732

защита программного кода
 
Всем привет, нужна идея по защите кода на javascript/
Обфускация не подходит..так как дебагером все равно перехватывается
сейчас продумываю мысль по асимметричному шифрованию.
Задача сделать для енд юзера расшифровку проги нерентабельной, то бишь чтоб дешевле было купить чем нанять программиста который взломает... условная стоимость 300-400 баков.

Итак, программа на javascript работает на сайте, условно скажем обрабатывает фото, надо защитить данный код от юзера.. здесь проще...
а вот если я продал данную программу енд юзеру, то есть понятно активация требует подключения к инету, и программа должна получить обратный пароль дающий возможность программе работать..
здесь два узких места.. во первых можно из кодов вообще убрать процесс проверки ключа, второй при запросе ключа подставлять ему свое значение,

Delirium 30-09-2011 00:46 1762756

Arbitr, вопрос про javascript или же все таки про java? Первое выполняется на клиенте, второе может быть чисто серверным приложением. Уточни.

Arbitr 30-09-2011 10:27 1762917

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

Delirium 30-09-2011 18:57 1763284

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

Цитата:

Цитата Arbitr
или имеете ввиду не мой раздел?? так нет отдельного ... »

Нет нет, я имел ввиду именно какой язык используется. Раздел то тот...

Arbitr 01-10-2011 21:13 1763870

предложили на кибере такой вариант
читать дальше »
Пишем функцию по кодированию/декодированию текста, используя симметричный алгоритм — или любой открытый или пишем свой — алгоритм завязан на закрытый ключ, программа верного ключа не знает, но знает алгоритм дешифрования. Далее: код доступен в зашифрованном виде, например, в JSON-формате, мы его грузим, парсим, и запускаем порционно (построчно, блоками) через eval(), перед каждым запуском спрашивая пароль на сервере (ибо хранить в переменной небезопасно) и декодируя листинг. Но тогда непонятно один на всех пароль? Или под каждого юзера свой пароль, а значит и свой зашифрованный листинг? Или у вас будет пароль один, но каждый день разный? Или пароль вводит юзер? Тогда всё проще, но непонятно, почему бы юзеру не продать пароль ещё десятку тысяч пользователей за треть стоимости. Надо привязывать пароль к железу или там сигнатуре браузера. А вообще, можно придумать способ собрать код и из сегментированного eval(). Достаточно инъекций User JS и не устоит никакая защита. В итоге, в момент исполнения, код всё равно будет в программе в явном виде. Можно, конечно, отправлять серверу все включения js, а он уже будет сравнивать их все с эталоном и если всё ок, только тогда отдавать зашифрованный листинг... Но, подозреваю, это тоже вариант защиты только от «продвинутого пользователя». Единственный 90% вариант защиты — выполнять работу на стороне сервера на серверном языке (10% на взлом сервака). Решайте сами, что важнее — код на JS и хрупкая защита или неудобный для вас серверный вариант, но более надёжная защита. Есть ещё вариант: Если работать прога будет как десктопное приложение. Сделать прогу на HTML/JS, в формате HTA, затем конверировать её в exe, например вот этой прогой (вечный триал) и voila, код недоступен. Но надо разобраться в HTA, предложенная программа, кстати, поможет вам с тем, чтобы убрать контекстные меню, настроить окно и т.д.

ferget 01-10-2011 21:40 1763888

переписать основной алгоритм на пхп и выполнять на сервере

Arbitr 02-10-2011 12:31 1764088

ferget, я же писал программа может быть установлена и на мобилке юзера...

ferget 02-10-2011 13:13 1764115

Цитата:

Цитата Arbitr
может быть установлена и на мобилке юзера »

а что это меняет?
основную часть программы выполняйте на сервере, а юзеру выдавайте фейс, и контролировать проще будет

Arbitr 03-10-2011 10:36 1764810

и тогда должно быть постоянное подключение к сайту... чего хочется избежать


Время: 02:47.

Время: 02:47.
© OSzone.net 2001-