如何检测Windows版本是否合法?

时间:2009-09-22 08:55:26

标签: windows windows-vista piracy-prevention piracy

我对获取版本信息不感兴趣。我想要做的就是确保我的应用程序只能在合法版本的Windows上运行,而不是在盗版版本上运行。 Windows使用一些技巧来确定这一点但仍然允许盗版版本继续运行,尽管有一些限制。

那么,有没有办法检查应用程序是否安装在合法的正版Windows版本上? (Vista和更好,至少。)


让我澄清一下:微软并没有阻止用户使用未经验证或非法版本的操作系统。因此,我没有任何理由在这样的版本上阻止我的申请。但我确实希望我的应用程序知道非法版本,并警告用户他的Windows版本未经过验证。也许他忘了,也许他不想验证。可能有很多原因,我不想阻止它们,只是让他们意识到他们的Windows版本的问题。

此外,当有人使用无效版本的Windows时,我可能希望对我自己的软件进行更严格的验证检查,如果它是商业产品的话。在我的免费产品中,我只想要一个烦人的弹出窗口,每天只出现一次。

未经验证的Windows版本的主要问题是它们可能包含其他间谍软件和其他恶意软件,并且他们可能无法获得所有必需的更新。这些Windows版本的保护功能比经过验证的Windows版本弱。由于我的一些应用程序使用敏感数据,因此我不希望任何恶意软件泄露这些敏感数据。

另外,我认为盗版软件对任何免费替代品都有害。如果不是所有那些漫游的盗版Windows版本,Linux和FreeBSD会更受欢迎。使用盗版软件的人不太可能首先购买该产品,但我更希望他们使用免费替代品。盗版软件对微软有一点伤害,但它对自由社区造成的伤害更大,因为它让人们与这些商业产品保持联系......

9 个答案:

答案 0 :(得分:24)

这是一个有趣的问题,但态度错误。检查用户事务不是您的业务。

或者您也可以:

  • 在向您出售软件之前需要申报纳税

  • 来自警方的书面证明,他们没有犯罪记录(或者他们可能会再次违法并盗版您的软件)

  • 检查他们是否安装了任何种子软件(当然可以合法使用,但他们认为这可能会误用它)

  • 检查他们是否安装了防病毒软件(以提高他们的社交意识并帮助打击垃圾邮件僵尸网络)

  • 信用记录报告(确保他们已及时支付账单,也不会忘记为您的软件付款)

  • 他们的家庭医生证明他们没有绝症(一个人感到受到谴责可能会违法并盗用你的软件)

你知道它在哪里吗?

开发软件的关键规则之一 - 您的软件应该是有用的,让用户满意并尽可能减少构建障碍。

答案 1 :(得分:7)

你不可能知道,你也不应该在意。

安装的合法状态与磁盘上的任何内容完全无关。相同的安装现在可以未经许可,并在下一分钟获得许可,而无需对机器进行任何更改。

答案 2 :(得分:6)

这是微软需要担心的事情。不是你。

答案 3 :(得分:4)

Microsof提供了一个小API,但MSDN没有说明如何在客户端系统上安装使用的DLL。我的猜测是它附带了Windows Update的SP2或WGA实用程序。

这是API的MSDN page

答案 4 :(得分:4)

为什么不检查以确保他们没有运行盗版的Photoshop?还是半条命?那么Microsoft Office呢?

看看我要去哪里?我并不特别同意盗版检查 - 但为了让您头疼,我建议您只关心自己的软件是否是盗版,使用您想要的任何方式(许可证密钥,打电话回家,无论你想要什么邪恶和侵扰性的方法!)。因此盗版Windows的人可能也会盗版你的软件。如果您打算阻止使用您的软件,如果您发现它们正在运行Windows的盗版副本 - 那么,这只是不好的做法。如果验证软件有错误或不正确,或报告该软件是盗版的,因为SOMEBODY ELSE使用此人合法购买的许可证密钥该怎么办?

除了它不属于您的业务之外,特别是Windows已经错误地报告了Windows的合法副本被盗版。你不应该相信任何人的验证工具,而是你自己的(甚至那时你可能编写了一个糟糕的验证工具!)。有太多的东西可能导致错误的盗版报告 - 我会避开这种方法。

答案 5 :(得分:3)

即使是微软也无法可靠地做到这一点。这是一场持续的军备竞赛,因为微软更新了WGA,而这些人似乎不得不绕过它。 OEM(正确)需要预先安装和预先验证的操作系统副本的需求加剧了这一点,因此他们不会惹恼他们的客户,他们可能是商业客户。我认为周围的很多“黑客”都与OEM主密钥有关。

基本上,盗版软件(包括Windows和您的软件)是一个社会问题,而不是技术问题。作为一个软件供应商(imho),你可以做的最糟糕的事情是惹恼你的合法客户,以阻止盗版,使你的合法客户成为盗版者。示例:一些游戏已经安装rootkit以及限制激活次数(例如Spore)。

特别限制激活是一种邪恶的做法。人们对这些事情有天生的公平感。如果他们有两个激活的东西,运行Windows XP并切换到Windows 7 RC,然后在发布时切换到真正版本的Windows 7,然后他们刚刚超过限制。就像Spore一样,你可以通过手机请求额外的激活,但这种事情只是以错误的方式骚扰人们。有些人认为他们在绕过这些限制时会觉得很合理。

至于低估你的问题,我怀疑这是因为人们不喜欢你的意图,可能是出于与我上面列出的相似的原因。

答案 6 :(得分:2)

我看到它的方式,我永远不会相信别人的验证系统足够准确,以至于我愿意锁定人们不使用我的软件。

我知道你来自哪里,但我建议让MS担心Windows验证。

此外,实际上无法通过机器本身了解安装的真正法律地位。当然,有“验证”和所有爵士乐,但在真相的背景下,这几乎毫无意义。

答案 7 :(得分:1)

只是询问技术部分,忽略你的理由/理念会给你直接答案。

答案 8 :(得分:-1)

如果你防止盗版你自己的软件(我的意思是阻止它在盗版窗口上运行),那么你的软件可能不会那么成功。

让您的客户为您的软件支付合理的价格。