Немного о обфускации 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

Не трудно понять, что из перечисленных выше способов защиты самым идеальным вариантом будет третий.

02:10
1696