Как защищать прииложение (C#)?

Как лучше защищать не код, а само приложение от несанкционированного использования?
Пока придумал брать id какого-нибудь железа, шифровать RSA, например, а при запуске сравнивать данные
  • Вопрос задан
  • 8751 просмотр
Пригласить эксперта
Ответы на вопрос 4
@Beltoev
Живу в своё удовольствие
Пока придумал брать id какого-нибудь железа, шифровать RSA, например, а при запуске сравнивать данные

Одной железки, по-моему, будет мало. В идеале, брать несколько железок и каким-нибудь алгоритмом ( например, который здесь: geektimes.ru/post/69623 ) генерировать открытым ключом последовательность, уникальную для данного компьютера, а уже на сервере производить подпись, выдавая серийный номер к каждому экземпляру программы.

Учитывая, что пишите на C#, а в нем очень легко восстановить исходный код программы, нужно будет использовать обфускаторы. Возможно даже скрывать реализацию защиты в отдельных модулях, написанных на компилируемых ЯП.

Ну, и в заключение, чтобы избавиться от разных патчеров и генераторов ключей, нужно будет дописать еще один модуль защиты, который бы при запуске сверял хеш программы/отдельных модулей и, если они были изменены, запрещал запуск программы.
Ответ написан
effetto
@effetto
.Net разработчик
Для надежной защиты, рекомендую Вам доверить дело профессионалам вроде Сентинела. Любая защита, которую Вы напишете первый раз в жизни будет ломаться опытным крякером за несколько минут.
Ответ написан
Комментировать
wtf_object
@wtf_object
dedot снимает любой протектор, после чего можно восстановить сорец приложения.
-> Защищать приложение на .NET - бесполезно.
Можно писать на плюсах, это значительно усложнит задачу.

(или, как вариант, писать левой пяткой без использования ООП, чтобы анализировать такой код даже не хотелось) :D
Ответ написан
Комментировать
MilkyCoder
@MilkyCoder
Гений
Защиту делать крутую смысла нет, поскольку ее все равно сломают если надо будет. Серьезные люди все равно купят, а не серьезные не купят. Использование сломанной программы второй группой людей, является хорошим фактором против конкурентов. Так что не тратьте зря свое время, лучше сосредоточится на самой разработке. Вобщем я советую вам использовать стандартный менеджер лицензий и не парится.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы