Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как защитить свои скрипты (обфускация) (https://javascript.ru/forum/misc/10386-kak-zashhitit-svoi-skripty-obfuskaciya.html)

Gozar 01.07.2010 23:07

Как защитить свои скрипты (обфускация)
 
Потребовалось мне тут срочно запутать код для, так сказать, защиты от воров. И вот что пришло в голову за пол часа ваяния.

берём файл скрипта:
script.js


файл список функций для замены, по штуке на строку:
arr.txt


вида:
Block
Checker
...
Loader


а далее заменяем все функции из списка arr.txt в файле script.js на нечто следующее:
Block на ththththththhhthht
Checker на thththththhhhhthht
Loader на thhhthththhhhhthht


Ну надеюсь смысл понятен. Чем больше замен тем сложнее расшифровка.

Защита не идеальная, но реализация проста.

Что думаете?

Octane 01.07.2010 23:14

Можно прогнать через обфускатор, а потом через jsbeautifier, и читать визуально различимые имена функций.

Gvozd 01.07.2010 23:36

то, что эта "защита" уже реализована например в packer-е
а вообще, кто захочет украсть-сделает это

Octane 01.07.2010 23:49

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

Gozar 01.07.2010 23:52

Цитата:

Сообщение от Gvozd (Сообщение 61918)
а вообще, кто захочет украсть-сделает это

Логику придется понять, а это самое главное.

B@rmaley.e><e 02.07.2010 00:11

А еще лучше - использовать только символы _ и $. Или юникодовые закорючки.
Но, как заметил Octane, повторная обфускация исправит названия переменных.

Gvozd 02.07.2010 01:57

Цитата:

Сообщение от B@rmaley.e><e
Или юникодовые закорючки.

вы таки читаете мои мысли)))

Kolyaj 02.07.2010 09:34

http://utf-8.jp/public/jjencode.html

Gozar 02.07.2010 11:12

Цитата:

Сообщение от B@rmaley.e><e (Сообщение 61925)
А еще лучше - использовать только символы _ и $. Или юникодовые закорючки.

чем лучше? пример, пожалуйста.

Цитата:

Сообщение от B@rmaley.e><e (Сообщение 61925)
Но, как заметил Octane, повторная обфускация исправит названия переменных.

дело в затраченном времени на это.

Цитата:

Сообщение от Kolyaj (Сообщение 61938)

не всё будет работать после применения, хотя этот вариант мне больше всего нравиться.

Я не претендую на шифрование кода, а только на приведение в плохо-читабельный вид.

B@rmaley.e><e 02.07.2010 11:59

Цитата:

Сообщение от Gozar
чем лучше?

Нечитабельностью.
__ = __.____()[___.__]


Кстати, от приведения переменных к нормальному виду спасет использование свойств объекта. Правда тут может помешать компрессор гугля.


Часовой пояс GMT +3, время: 11:55.