Где хранится приложение “Я деактивирован” в Windows?[закрыто]

StackOverflow https://stackoverflow.com/questions/992296

Вопрос

Приложения часто имеют регистрационные ключи.Возможно, он может быть помещен в файл или в реестр.Иногда приложение деактивируется вводом другого ключа, или переходом даты и т.д.Где можно безопасно хранить такую информацию о приложении, которое должно быть деактивировано?Файл - это не ответ;резервную копию можно восстановить, чтобы устранить это.Реестр - слабый ответ, только потому, что большинство людей не знают, что он там есть, и не думают его восстанавливать, а если и восстанавливают, то восстанавливают все целиком, что обычно имеет другие обескураживающие побочные эффекты.

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

Есть ли стандартный трюк, которого я не знаю, или стандартная схема, поддерживаемая Windows, которая помогает решить эту проблему?

Раунд 2:Я видел несколько ответов.Ни в одном из них конкретно не сказано "вы не можете этого сделать", но некоторые подразумевают что звонок домой - единственный правильный выбор (для "деактивации").

Давайте предположим, что звонки домой и электронные ключи - ЭТО НЕ выход, и нужно что-то оставить на автоответчике.Что на самом деле делают типичные схемы лицензирования в этом случае?

Это было полезно?

Решение

Создайте и подпишите файл лицензии на сервере.Если вы используете криптографию с открытым ключом, файл лицензии нелегко подделать.Ваше приложение, конечно, может быть взломано, чтобы не нуждаться в лицензии, но это совсем другое дело.

Другие советы

В отличие от iPhone и других закрытых сред на открытой платформе, такой как Windows / linux, вы всегда подвергаетесь очень высокому риску того, что защиту легко обойти (локальная последовательная защита) или она будет взломана путем изменения вашего кода и внесения исправлений.Практически в каждой современной одиночной игре есть эта проблема.Кроме того, очень трудно найти решение, которое не слишком раздражало бы пользователя.Мы все помним катастрофу Sony с CD-руткитами, и в игровой индустрии это всегда новейшая защита DVD, которая работает не на всех дисках так, как должна.Но что вы можете сделать?Вы можете попробовать обычный сериал, позвонить домой и запретить определенные сериалы в новых обновлениях (Adobe, FlashFXP, Windows).Если у вас очень низкая потребительская база, этого, вероятно, для вас достаточно.Если - по какой-либо причине - это невозможно, как насчет USB-ключа, который необходим для использования вашего программного обеспечения?Слышал о довольно многих CAD-программах, использующих это.И последнее, на что вы можете обратить внимание, - как насчет водяных знаков в вашем приложении?Если это появится в определенных p2p-сетях, вы, возможно, сможете увидеть, где находится утечка.В принципе, ничто не даст вам 100% гарантии, но есть варианты, которые усложнят задачу обычному пользователю...Пожалуйста, имейте в виду, что большую часть ваших денег следует потратить на создание отличного продукта, а не на покупку практически бесполезной защиты!

Вот краткий, но довольно хороший обзор различных вариантов.

http://www.developer-resource.com/how-to-protect-software.htm

Да, вы могли бы шифровать вещи, вот что они делают!.Проверьте сеть на наличие различных схем лицензирования.Даже у Microsoft есть одна...Лицензирование и защита программного обеспечения Корпорации Майкрософт

Вы можете использовать Microsoft Cryptographic API для разработки вашего кода.Плюс скрывать ваши сборки или библиотеки DLL.Принудительно активировать пользователя.

Все схемы защиты уязвимы для того или иного типа атаки.Шифрование информации действительно помогает предотвратить атаки, поскольку информация хранится в скрытом виде, но даже это не является нерушимым.

Другим возможным вариантом является удаленное хранение фактической информации о состоянии активации и оставление ссылки на эту информацию на компьютере, возможно, в зашифрованном виде.Есть много способов сделать это, но один, который приходит на ум, - сохранить какой-нибудь идентификатор GUID, который затем вы могли бы просмотреть в своей базе данных

Одним из недостатков этого является требование подключения к Интернету, я не знаю, является ли это запретительным или нет, но общая идея состоит в том, чтобы удалить состояние активации с компьютера, которым вы не управляете, и поместить его на тот, который вы делаете

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top