Задать вопрос
mixtape774
@mixtape774
Занимаюсь Web, Desktop разработкой и реверсингом

Как реализовать защиту программы через сервер?

Привет. Как люди реализуют лицензирование программ на C# или C++ через сервер? (выносят часть логики). Про алгоритмы шифрования, вроде AES и RSA знаю, но на практике не использовал. Например Zennoposter не взломали из-за такой привязки.

Допустим у меня бот (С# и C++ библиотека) для игры. Некоторые жизненно важные константы можно вынести на сервер, тогда в случае патча условных переходов на этапе проверки лицензии - бессмысленна, т.к. авторизация по ключу не будет и клиент не получит необходимых данных.

Идея с самопроверкой exe на целостность тоже интересна.

PS: дизассамблером Native & .Net владею хорошо, не стесняйтесь любых решений. Про упаковщики знаю, сомнительно.

Спасибо.
  • Вопрос задан
  • 2316 просмотров
Подписаться 5 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 3
@Sing303
Самые жёсткие способы:
1. Разрешить запуск ПО только по логину/паролю (регистрация на сайте, работать без инета не будет)
2. Привязка к железу
3. Упаковать и обфусцировать весь код

Далее 2 варианта:
1. Вынести весь важный функционал на сервер, само приложение по такой схеме будет просто клиентом, ничего не умеющим, кроме как выполнять запросы на сервер и отображать данные.
2. После авторизации выгружать из интернета dll прямо в память (упакованную и обфусцированую), обнаруживать любую попытку перехвата и банить без разбора. (таким образом защищены приватные читы для игр, но это менее надёжный способ, чем первый. Т.к. перехватить все равно возможно)
Можно сочетать 1 и 2 вариант.

В таком случае (если не вынести все на сервер), взлом тоже возможен, но он достаточно дорогой, и не целесообразен в большинстве случаев.
Ответ написан
Комментировать
sim3x
@sim3x
Заопенсорсить
Зарабатывать на поддержке
Ответ написан
Комментировать
Имхо.

Делов то, напишут эмулятор ответа от сервера.
Windows активацию сделали (группы желающих и разбирающихся), игры от серверов отвязывали, чем у вас то лучше будет?

Если все вкусное может лежать не сервере и клиент только работает по API, то ничего защищать не нужно, главное на сервер не пускать файлы читать и исполнять не предусмотренные команды.

Опенсорсим или лицензию указываем.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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