C # Серийный номер, встроенный в программу - PullRequest
4 голосов
/ 05 января 2011

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

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

Я действительно не хочу создавать отдельный файл лицензии.Есть ли способ встроить это в саму программу?Или реестр является единственным другим вариантом (помимо онлайн-проверки и т. Д.)

Ответы [ 4 ]

6 голосов
/ 05 января 2011

Вы не должны пытаться редактировать саму программу - она ​​сломает сигнатуры / строгие имена, файл exe / dll почти наверняка будет заблокирован, и даже если вы сделаете теневое копирование: у многих пользователей не будет разрешение редактировать его в программных файлах (или в виде клика один раз).

Что-то внешнее, такое как файл лицензии или параметр реестра, кажется подходящим (если вы не хотите создавать приложение на своем сервере для каждого клиента).

2 голосов
/ 05 января 2011

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

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

http://www.vcskicks.com/hardware_id.php

2 голосов
/ 05 января 2011

Есть ли способ встроить это в саму программу?

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

* Чтобы доказать это себе, я создал небольшой исполняемый файл, в котором просто записывается значение строки,и использовал шестнадцатеричный редактор, чтобы изменить значение строки.

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

Хранение регистрационных данных в реестре, вероятно, гораздо более простое решение.

0 голосов
/ 05 января 2011

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

...