Какие ограничения защиты программного обеспечения существуют для зашифрованной виртуальной машины?
Я исследую решения для защиты исходного кода программы на C# / IL (CLR).
Я знаю об обфускации исходного кода, но этого недостаточно.
Ограничения:
- Я могу предоставить образ приложения / виртуальной машины.
- Это приложение должно быть в состоянии работать без подключения к Интернету (с воздушным зазором).
Одно из решений, о котором я подумал, - это запустить приложение в виртуальной машине, которая будет иметь зашифрованный жесткий диск своей виртуальной машины, кроме того, я бы также попытался удалить все источники ввода (запросы на вход и т. Д.). Поэтому в идеале единственной точкой входа будет конечная точка HTTP (TCP). Этот вид звучит как то, что будет следовать за реализацией DRM.
Какие ограничения имеет вышеуказанный подход?