Как преобразовать зарегистрированную версию приложения обратно в пробную версию, когда она копируется на другой компьютер?

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

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

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

3 ответа

Решение

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

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

Вы должны сохранять информацию в нескольких местах, чтобы минимизировать вероятность того, что опытный пользователь сможет ее найти (например, с помощью Process Monitor). Я бы предложил

  • ключ реестра в HKCU и
  • скрытый файл в локальном каталоге приложения.

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

Что касается алгоритма генерации ключей: если защита "против" обычного пользователя, то просто придумайте что-нибудь. Этот зависит немного от вашей целевой группы. Простого, такого как ROT47, может быть достаточно.

Возможно, вы можете использовать то же самое.

За исключением того, что вместо сохранения данных в exe-файле (вызывая ложное срабатывание AV) хеш-код и сохраните данные в отдельном файле.

Другие вопросы по тегам