Задать вопрос
@Jljl4890

Как защитить ключи шифрования в программе?

Я создаю свою собственную локальную программу на python и немного c++, и я хочу защитить код с помощью шифрования файлов, но вот в чем проблема, а что делать с ключами шифрования которые будут расшифровывать файлы программы во время его работы? я же не могу оставить скрипты которые будут расшифровывать файлы просто так открытыми, обфускация вряд-ли сильно поможет. есть ли ещё варианты что в этом случае делать?
  • Вопрос задан
  • 185 просмотров
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    1C-разработчик
    8 месяцев
    Далее
  • Нетология
    Инженер по тестированию
    8 месяцев
    Далее
Решения вопроса 1
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Если ты хочешь обезопасить ключи разработчика, чтобы их не получит пользователь/администратор системы, на которой будет запускаться программа, то никак.
Если хочешь защитить ключи от других программ, то смотри ответ VoidVolker.
Все секреты, естественно, должны доставляться уже после запуска, а не храниться в коде, так как если ты зашифруешь секреты при помощи windows data protection API на компьютере разработчика, то ты не сможешь их расшифровать на компьютере пользователя
Ответ написан
Комментировать
@rPman
Единственный рабочий вариант - не давать критического кода пользователю, и держать его онлайн. Сейчас так игры стали защищать, даже соло работают только при наличии онлайн подключения (например мир игры хранится и обрабатывается на сервере, а так как игра соло, можно нивелировать лаги дублированием части функционала на клиенте)

Защита в данном случае - ключ авторизации (например логин пароль), и лимит одновременных подключений согласно лицензии. Хранить его обязан сам пользователь, это его ответственность.

Есть легкие проблемы по вторичному рынку доступа к приложению (например клиент продал свое приложение за не надобностью другому), я не считаю это проблемой, это больше верх наглости, запрещать вторичный рынок. Эта проблема решается механизмом подписок - подписка на год и все довольны.
Ответ написан
Комментировать
@codecity
Обфускация то как раз поможет (она бывает весьма и весьма не простая - раздувает код и делает не читабельным) - еще лучше создать нейтивный код + антиреверс, с ним сложнее работать на порядок. Если уж совсем заморочиться - то создают свою вирт. машину, переводят ко на язык этой машины и распространяют вместе с интерпретатором. Смысл в том что просто слишком дорого разобраться с реверсить. Есть готовые решения.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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