Несколько способов защитить программный код от компиляции:
- Шифрование исходного кода. 1 Это позволит предотвратить вмешательство в программу и усложнить изучение взломщиком того, как она устроена и работает. 2 Можно зашифровывать только наиболее важные, критические участки кода. 2
- Обфускация. 24 Этот метод предполагает запутывание кода, например, путём удаления всех комментариев, пробелов и отступов, замены имён идентификаторов на длинные наборы символов, добавления лишних операций. 2
- Использование псевдокода. 4 Исходный код преобразуется в псевдокод, после чего для его выполнения генерируется виртуальная машина, которая на лету преобразовывает команды псевдокода в машинные инструкции и исполняет их. 4 В результате код приложения меняется до неузнаваемости, и «отреверсить» искомые алгоритмы можно лишь после вскрытия всей логики псевдокода. 4
При выборе метода защиты необходимо учитывать каналы дистрибуции, стоимость защиты, требования к надёжности и отказоустойчивости. 4