Немного о обфускации JS
Цели обфусификации кода:
- Затруднение декомпиляции/отладки и изучения программ с целью обнаружения функциональности.
- Затруднение декомпиляции проприетарных программ с целью предотвращения обратной разработки или обхода DRM и систем проверки лицензий.
- Затруднение взлома программного обеспечения
- Оптимизация программы с целью уменьшения размера работающего кода и (если используется не компилируемый язык) ускорения работы.
- Демонстрация не очевидных возможностей языка и квалификации программиста (если производится вручную, а не инструментальными средствами).
В интернете существует несколько основных способов модификации javascript кода:
- замена имен функций и переменных на случайные;
- удаление комментариев и преобразование скрипта в непрерывную строку;
- шифрование отдельных функций и всего скрипта.
Существует несколько видов программных средств для усложнения кода javascript:
1. специальные программы для защиты javascript кода (HTMLCrypt, Java Script Mutator, Jasob, HTML Guardian
и другие). Такие программы могут шифровать не только javascript код, но
и код html, запихивая его в переменные js. К плюсам этого способа
защиты можно отнести различные степени шифрования, мощные алгоритмы
шифровки, удобство и быстрота. К минусам: не всегда получается
кроссбраузерность, программы распространяются не бесплатно.
2. специальные сайты сервисы, на которых Вы можете бесплатно зашифровать свой javascript файл с помощью javascript компрессоров. Наиболее популярными являются:
- http://dean.edwards.name/packer/
- http://javascriptobfuscator.com
- http://sure-in.com/htmlcoder.htm
Плюсами такого способа есть бесплатная возможность и ничем не хуже платных программ степень защиты javascript файлов. Минус: удаленность
сервиса, постоянное посещение сайта и новая перекодировка скриптов.
3. Cоздать самому или скачать php библиотеку (класс), которая будет находится на Вашем сервере и автоматически будет шифровать необходимые
javascript файлы. Плюс: бесплатный и понятный js компрессор, который Вы
можете использовать по своему усмотрению. Таких библиотек в интернете
немного, но Вы можете бесплатно скачать здесь:
- http://joliclic.free.fr/php/javascript-packer/en/
- http://phpclasses.segmenta.ru/browse/package/4818.html
Не трудно понять, что из перечисленных выше способов защиты самым идеальным вариантом будет третий.