Языки, использующие латинский алфавит, имеют в своем языковом составе такие глаголы как obfuscare, obfuscate, означающие затенять, затемнять и делать неочевидным, распутывать. Именно слово обфускация и вошло в русский язык, как существительное – запутывание. Термин «обфускация» применяется среди профессионалов в области информационных систем и технологий. Он означает создание исходного текста или исполняемого кода программы, в таком виде, который способен сохранить её функционал, но существенно затруднит аналитическую работу, и модификацию при декомпиляции. Например,  JavaScript Obfuscator производиться, преследуя определенные цели.

Для чего используется обфускация JavaScript

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

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

Процедура обфускации JavaScript

Обфускация кода представляет собой преднамеренное сокрытие данного программного кода, посредством его запутывания, но при этом неприкосновенности работоспособности программного продукта. Данная процедура может быть выполнена:

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

— автоматически. Производиться достаточно быстро при помощи спецпрограмм обфускаторов, с функцией деобфускации.

К выполнению таких процедур привлекаются профессиональные программисты. Целью выполнения ими данной работы становиться невозможность других гениев программирования прочитать программный код и расшифровать алгоритмы, заложенные в работу обфускатора. Необходимо выбрать разработчика для такой задачи с учетом эффективности исполнения им обфускации.