Обфускация
Обфускация — мероприятия по сокрытию значимой информации посредством добавления значительного количества мусора.
Описание[править]
Обфускация программного кода применяется с целью затруднения обратной разработки и изменения кода программ, в основном в целях защиты авторских прав (иначе любой человек мог бы вырезать программную защиту). Так как каждая программа исполняется на компьютере человека, то очевидно, что ея коды подаются на вход процессора и можно их записать и воспроизвести. Также исходные коды можно найти и в исполняемом файле, пусть и часто несколько не в человекочитаемом виде. В первом случае защита кода обеспечивается тем, что на вход процессора поступают только команды с конкретными вводными данными и нельзя увидеть, например, те блоки кода, которые не были исполнены. Во втором же используется обфускация.
Традиционно обфускация меняет названия переменных на ничего не значащие для человека, убирает всё форматирование кода, может добавлять огромное количество бессмысленных переходов типа goto, призванных сделать исходный код максимально сложным для понимания человеком. Могут добавляться и фрагменты кода, ничего не делающие и вставленные исключительно с целью внести путаницы в мозговые структуры его изучающего разумного существа. Некоторая базовая обфускация производится и с целью оптимизации (например, код JavaScript с переменными из одного слова занимает меньше места на сайте и быстрее загружается).
Стоит отметить, что обфускация не даёт гарантии, так как при желании распутать и разобраться в испорченном коде возможно, просто это занимает время.
В общем смысле обфускацией можно назвать мероприятия по запутыванию наблюдателя.