如何检测 Windows 版本是否合法? [英] How to detect if a Windows version is legal or not?

查看:34
本文介绍了如何检测 Windows 版本是否合法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm not interested in getting version information. All I want to do is to make sure my application will only run on a legal version of Windows and not on a pirated version. Windows uses some trick to determine this but still allows pirated versions to continue to run, although with some limits.

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

So, is there a way to check if the application is installed on a legal, genuine Windows version? (Vista and better, at least.)

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

Let me clear something up: Microsoft isn't preventing users to use a non-validated or illegal version of their operating system. Thus I don't have any reasons to block my application on such a version either. But I do want my application to be aware of the illegal version and warn the user that his Windows version isn't validated. Maybe he forgot, maybe he doesn't want to validate. There could be plenty of reasons for this and I don't want to block them, just making them aware of a problem with their Windows version.

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

Also, when someone uses a non-valid version of Windows then I might want to do a more strict validation check of my own software, if it's a commercial product. In my free products, I just want an annoying popup, which will just appear once per day.

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

The main problem with non-validated Windows versions is that they might contain additional spyware and other malware and there's a chance that they don't get all required updates. These Windows versions have a weaker protection than validated Windows versions. Since several of my applications use sensitive data, I don't want any malware leaking away this sensitive data.

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

Plus, I consider pirated software harmful for any free alternatives. Linux and FreeBSD would have been much more popular if it wasn't for all those pirated Windows versions that are roaming around. People who use pirated software are unlikely to have bought the product in the first place but I would prefer them to use a free alternative instead. Pirated software does a little harm to Microsoft, but it does a lot more harm to the Free community since it keeps people connected to those commercial products...

推荐答案

即使是 Microsoft 也无法可靠地做到这一点.这是一场持续的军备竞赛,因为微软更新 WGA 以对抗那些似乎几乎不需要做任何事情就可以绕过它的人.OEM 的需求加剧了这种情况,他们(理所当然地)需要预先安装和预先验证操作系统的副本,这样他们就不会惹恼他们的客户,而这些客户很可能是商业客户.我认为围绕这个问题的很多技巧"都与 OEM 主密钥有关.

Not even Microsoft can do this reliably. It is a constant arms race as Microsoft updates WGA against people who seemingly have to do very little to bypass it. This is exacerbated by the needs of OEMs who (rightly) need to have preinstalled and prevalidated copies of OSs so they don't annoy their customers, whom may well be business customers. I think that a lot of the "hacks" around this have to do with OEM master keys.

基本上,盗版软件(包括 Windows 和您的软件)是一个社会问题,而不是技术问题.作为软件供应商(恕我直言),您可以做的最糟糕的事情是激怒您的合法客户,以阻止盗版,以至于您使合法客户成为盗版.示例:一些游戏甚至安装了rootkit 并限制了激活次数(例如孢子).

Basically, pirating software (including Windows and your software) is a social problem not a technical one. The worst thing you can do as a software vendor (imho) is to annoy your legitimate customers in the quest to stop pirates to the point that you make your legitimate customers pirates. Example: some games have gone so far as to install rootkits as well as limiting the number of activations (eg Spore).

特别是限制激活是一种邪恶的做法.人们对这些事情有一种与生俱来的公平感.如果他们有两次激活,正在运行 Windows XP 并切换到 Windows 7 RC,然后在发布时切换到 Windows 7 的真实版本,那么他们刚刚超过了限制.与 Spore 的情况一样,您可以通过电话请求额外的激活,但这种事情只会让人们误会.有些人会觉得绕过这些限制是合理的.

Limiting activations in particular is an evil practice. People have an innate sense of fairness about these things. If they have two activations of something, are running Windows XP and switch to Windows 7 RC and will then switch to a real version of Windows 7 when released then they've just gone over the limit. As in the case of Spore, you can request additional activations over the phone but this kind of thing just rubs people the wrong way. Some to the point that they'll feel quite justified in bypassing such restrictions.

至于否决您的问题,我怀疑是因为人们不喜欢您的意图,原因可能与我上面列出的原因类似.

As for downvoting your question, I suspect it's because people don't like your intent, probably for reasons that are similar to the ones I've listed above.

这篇关于如何检测 Windows 版本是否合法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆