Здравствуйте!
Я знаю что защита этих приложений не поддерживается, однако не могли бы Вы дать некоторые рекомендации по работе с ними?
Также нашел на этом форуме сообщение от Dec 22, 2014
Эксперименты с .NET (в планах на 4.0):
Как результаты экспериментов? Есть успехи или идея заброшена?
У меня стоит задача защитить приложение написанное на .NET (или переписать его на С++ )
Как выяснилось в .NET все плохо с защитой исходного кода. После исследований на эту тему приходит в голову следующий вариант:
Написать нативное приложение на С++ иди Delphi, которое будет защищаться через WMProtect. Приложение C# будет добавлено в ресурсы этого приложения и будет вызываться из защищенной секции. Дополнительно на C# будет повешен какой-нибудь обсуфикатор но не суть.
Я в общих чертах понимаю как работает защита в обычных приложениях но не спец в этом. Подскажите насколько такой вариант работы будет надежным? Не смогут ли вытащить исполняемый файл C# из оперативной памяти или ресурсов?
Может дадите какие-то другие рекомендации, понимаю, что полностью защититься не получится, но как максимально усложнить взлом приложения?
Думал над таким вариантом.
Я работаю со сторонним API, предоставляющим DLL для работы с ним. Из DLL экспортируются объекты (интерфейсы) с помощью которых происходит управление внешним сервисом.
Эти объекты отдают имя сервера, с которым происходит работа и все лицензирование построено на определении имени сервера.
Поэтому важна защита на этапе инициализации и подключения. Перевод этой части на С++ равносилен переводу всего проекта на С++
Также в общем случае, если вынести какой-то код на С++ то это должна быть основная логика программы, т.е. тот код, без которого программа не будет работать и переписать который будет дороже чем купить. Чаще всего этот код критичен к времени выполнения и могут возникнуть сложности при его виртуализации. Тогда как в случае, когда весь проект написан на С++ достаточно защитить приложение на старте, спрятать создание важных объектов и защитить эту часть кода, оставив основную логику без виртуализации.
Но это мое мнение, и все сильно зависит от проекта, конечно.
P.S. Я понимаю, что VMProtect не предназначен для защиты С# приложений и не прошу их поддержку из коробки. Мне бы пару советов от специалистов, разбирающихся в тонкостях защиты кода больше чем я.
Или в случае С# все безнадежно?