有一个 Windows 程序,在网页中输入有效序列号后即可下载。现在,我想限制用户只能在一台 PC 上安装该程序,即他或她第一次安装的 PC。

我需要一些关于创建这样的系统的建议。谢谢。

附:必须在网页上输入序列号,而不是在安装程序中输入。

有帮助吗?

解决方案

听起来您需要创建一个可下载的 ActiveX 控制程序,该程序将在客户端计算机上运行,​​并在其中询问:

  • 网络适​​配器的MAC
  • Windows 版本,包括 SP
  • 硬盘序列号
  • 处理器品牌和 CPU 类型

并将信息转发回网站,然后生成密钥,并将密钥附加到下载安装程序并允许用户下载安装程序,然后在运行时读取密钥并对照正在运行的计算机进行检查在。

唯一的事情是 ActiveX 必须用 C/C++ 编写,因为您不能在 .NET 语言上执行此操作,因为这假设客户端计算机将安装运行时,恕我直言,这是一个危险的假设。

希望这会有所帮助, 此致敬意 汤姆。

其他提示

通常的解决办法是:结果 创建描述系统的哈希(不知道确切的方式得到它虽然,GIYF)与串行结合起来,这样当用户安装他进入串行程序,然后得到他已经进入了关键其将输入的密钥为串行和系统哈希和检查系统是否哈希和串行存储的那些比赛,然后返回另一个键(或一个错误,如果已使用的串行)的网站,他已经进入到程序上

使用MAC地址作为一个系统关键是的,因为它可以很容易地伪造一个很好的解决方案。

基础上的一些硬件配置的序列号。如果硬件发生变化,然后验证序列号。微软窗口产物的激活。

过程中使用这种类型的方法

希望这有助于一些。

如果你写了一个自定义安装,那么你可以在成功的确认发送到Web服务器上安装发送由硬件生成的序列号,他们用于下载该文件的序列号。

然后,如果你找到相同的序列号,但不同的硬件串口,您可以发送回一个响应说,你不能激活软件...

修改

下面是在得到硬件信息一些信息(假设一个.NET环境,但你可以找到你所使用的环境)类似。

您可以尝试阻止上安装时,他们卸载疏通关键中的关键。这样,他们只能用一次键每个卸载之间。

设置Web服务和数据库......他们必须验证才能够进行安装。你此刻的模型问题是,你是保护或隐藏软件的服务器后面。你要令人有,即使他们不能使用它(通常)软件。串行关键阶段应该在那里在运行时解锁软件

它的唯一模式,对电脑游戏作品。

您需要查询各种硬件生成GUID,哈希它针对的产品密钥,你有一个可重复而复杂和难以伪造的数据块。

http://edn.embarcadero.com/article/26040 链接到.COM接口获取在该guid

另一种是使用类似的sysinfo或输入dxdiag并保存rseults到一个文件...哈希它并使用它作为串行。少了很多编码参与 - 但有点混乱

店铺,并出具安装密钥 - 容易被发现,然后重新安装管理。 例如,你真的不想去“的电脑说,没有” - 其真正营销opportinuty

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top