【问题标题】:Get hardware id with inno setup script to prevent piracy使用 inno 设置脚本获取硬件 ID 以防止盗版
【发布时间】:2016-01-05 20:52:33
【问题描述】:

我刚刚完成我的程序,现在我想使用 Inno-setup 构建一个安装程序,它获取硬件 ID 并将其存储到 CD 中的文件中,以便程序只能安装在只有一个许可证的一台计算机上.不幸的是,我一点也不擅长 Inno-setup 脚本语言。你们能帮我做的任何事情都会做,任何事情,甚至是小提示, 请帮助我现在没有选择。

【问题讨论】:

  • 什么是硬件 ID?

标签: installation inno-setup setuptools setup-deployment anti-piracy


【解决方案1】:

我想用 Innosetup 构建一个安装程序,它获取硬件 ID 并将其存储到 CD 中的一个文件中,以便该程序只能安装在只有一个许可证的一台计算机上。

  • 您想为每个客户端创建一个唯一的安装程序和 CD? 哇,这是很多工作。它只对非常小的企业有意义。

  • 无论如何,关于获得hardware-id

    • InnoSetup 中没有获取“硬件 id”的函数。

    • 您可能是指某种标识符,例如硬盘或主板序列号,对吧?您可以通过查询WMI 来决定获取一些序列号或标识符。

  • 但是等一下?你在开发者机器上编译 Innosetup,对吧? 那时您可能获得的唯一硬件 ID 是来自您自己的开发人员机器的 ID。您如何获取客户端的硬件 ID,该客户端稍后会尝试从 CD 安装您的软件?


整个方法没有多大意义,而且有缺陷。

一般来说,在安装程序中做这种保护是没有用的。

请在应用程序中处理您的保护,而不是在设置中。

您可以使用以下方法之一:“API-Key”或“license-code”或“license file”或“hardware-dongle”。

换句话说:它总是在多张 CD 上使用相同的安装程序,但额外的单独许可证代码会有所不同 - 不是在安装期间,而是在安装之后。用户只需输入密钥或将许可证文件加载到应用程序中,并获得“应用程序注册到 XY”。

【讨论】:

  • 首先,这里写的所有这些东西都是我提前几个月想到的,所以你们没有说什么新东西。无论如何,我设法使用批处理文件和getmac 命令解决了这个问题。背后的逻辑很简单,远非不行。
猜你喜欢
  • 2010-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多