Как мне защитить свой лицензирующий файл? [закрыто

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

  •  30-09-2019
  •  | 
  •  

Вопрос

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

Как мне лучше защищать этот файл? (или информация)

Моя первая мысль - скрыть файл несколько папок глубоко где-то под Windows% Allusersprofile%. И используйте неясные имена для папок, чтобы не рекламировать местоположение.

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

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

Решение

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

  1. Я доверяю своим клиентам, но они могут непреднамеренно сломать мою лицензию
  2. Мой продукт очень желательна и, таким образом, будет целью крекеров
  3. Мой продукт не интересна взломать, но мои клиенты являются SlimeBags и скопируют из нее сопли.

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

В случаях 2 и 3 мало что можно сделать, это не может быть легко побеждено. Инструменты, доступные для крекеров, довольно мощные и широко доступны, наряду с методами использования их. Наша компания (www.wibu.us.) Имеет полный рабочий день, который просто наблюдает, как люди трещины программным обеспечением, поэтому мы можем построить более сильную защиту от него.

Вероятно, самый «нормальный» подход для решения DIY состоит в том, чтобы зашифровать файл лицензии с использованием некоторого «стандартного» алгоритма, такого как AES 128-бит или тройной DES. Затем сделайте ключ от хеша нескольких факторов, таких как MAC-адрес, серийный номер MB, дата установки и, возможно, некоторые данные ввода пользователей («имя» «Телефон» и т. Д.). Однако Crypto может усложнить, чтобы вы хотите убедиться, что вы знаете, что вы делаете с таким подходом.

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

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

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

И не пытайтесь слишком сильно. Это не использовать, чтобы сделать его сложнее, чем загрузка трещины или инструмента сброса лицензионного сброса с следующего сайта Warez. И взломщик найдет ваш файл лицензионов очень быстро с инструментами, такими как Филем.

Одна идея, которая может на самом деле работать (за исключением от трещин, которые исправляют ваш двоичный):
Исправьте дату срока годности при загрузке и встраиваем файл лицензии в настройках. Таким образом, им на самом деле им нужно скачать новую версию всякий раз, когда истекает их лицензию. Но, конечно, ваши пользователи могут обнаружить, что недопустимо или не соответствует вашей модели распространения ...

Заставьте приложение, чтобы перейти на удаленный сервер по порту 80, чтобы проверить хеш, который был установлен при первой установке, возможно, против MAC-адреса (не абсолютная гарантия, но достаточно хорошая). Если они пытаются снова установить, он по крайней мере привязан к MAC-адресу, и вы можете остановить установку.

РЕДАКТИРОВАТЬ:

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

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

Так что даже если пользователь удаляет его, это не поможет многое, он все еще истек.

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

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