Назад

Обфускация

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

Существует несколько разных видов обфускации в зависимости от того, какой именно код запутывается при ней. Для тех языков программирования, для которых программа представляется прямо в виде исходных текстов, используются специальные методы, делающие код нечитабельным для человека, но приемлемым для интерпретатора. Среди них - запись программы в одну строку, замена имён переменных и функций, вставка ничего не значащих комментариев. Для обфускации двоичного кода (как для исполняемых файлов, так и двоичного кода виртуальных машин .NET и Java) используются уже более серьезные методы, в том числе и шифрование. Однако следует учитывать, что для двоичного кода обфускация способна серьезно снизить скорость работы защищенных участков программы. Поэтому критичные ко времени выполнения куски кода, как правило, не имеют серьёзной криптографической защиты.

Обфускации может подвергаться не только программный код, но и другие виды данных: например, существуют специализированные методы обфускации HTML-страниц (особенно эффективно внедрение сценариев JavaScript'е, которые пишут текст динамически, и картинок с текстом). Обфускация HTML-страниц весьма полезна для спамеров, которые с её помощью обходят спам-фильтры.