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