Windows许可密钥的所有排列组合

97 投票
5 回答
5603 浏览
提问于 2025-04-17 14:12

我需要为我的笔记本申请一个Windows 8的升级,而这需要我在笔记本底部找到Windows 7的许可证密钥。

因为微软决定使用容易磨损的标签,所以我现在看不清我的许可证密钥,这就意味着我无法通过自动化的方式来注册我的笔记本以获得Windows升级的优惠。

我试着把笔记本在光线下倾斜,虽然我能看清大部分代码,但有几个字母还是模糊不清(再次感谢微软使用了容易混淆的字符)。

我有以下这个(模糊的)许可证密钥,

MPP6R-09RXG-2H[8B]MT-[B8]K[HN]M9-V[6G]C8R

方括号里的字符是模糊的,所以它们可能是8BB8HN6G

这样一来,就有16种组合。

我想知道用itertools生成这个许可证密钥的可能排列是否合适,或者有没有更好的方法?

最后,在贡献者的帮助下,我找到了正确的密钥。检查密钥是否有效的一个非常方便的方法是使用Windows 7产品密钥检查器

5 个回答

17

另一种生成组合的方法

>>> ['MPP6R-09RXG-2H%sMT-%sK%sM9-V%sC8R' % (a, b, c, d)
...  for a in '8B' for b in 'B8' for c in 'HN' for d in '6G']
['MPP6R-09RXG-2H8MT-BKHM9-V6C8R',
 'MPP6R-09RXG-2H8MT-BKHM9-VGC8R',
 'MPP6R-09RXG-2H8MT-BKNM9-V6C8R',
 'MPP6R-09RXG-2H8MT-BKNM9-VGC8R',
 'MPP6R-09RXG-2H8MT-8KHM9-V6C8R',
 'MPP6R-09RXG-2H8MT-8KHM9-VGC8R',
 'MPP6R-09RXG-2H8MT-8KNM9-V6C8R',
 'MPP6R-09RXG-2H8MT-8KNM9-VGC8R',
 'MPP6R-09RXG-2HBMT-BKHM9-V6C8R',
 'MPP6R-09RXG-2HBMT-BKHM9-VGC8R',
 'MPP6R-09RXG-2HBMT-BKNM9-V6C8R',
 'MPP6R-09RXG-2HBMT-BKNM9-VGC8R',
 'MPP6R-09RXG-2HBMT-8KHM9-V6C8R',
 'MPP6R-09RXG-2HBMT-8KHM9-VGC8R',
 'MPP6R-09RXG-2HBMT-8KNM9-V6C8R',
 'MPP6R-09RXG-2HBMT-8KNM9-VGC8R']
>>> 
60
from itertools import product
for perm in product('8B', 'B8', 'HN', '6G'):
    print 'MPP6R-09RXG-2H%sMT-%sK%sM9-V%sC8R' % perm

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

167

免责声明:是的,我知道这不是Python代码。这只是突然冒出来的想法,我就是必须把它写下来。

最简单的方法是使用“shell扩展”:

$ echo MPP6R-09RXG-2H{8,B}MT-{B,8}K{H,N}M9-V{6,G}C8R
MPP6R-09RXG-2H8MT-BKHM9-V6C8R
MPP6R-09RXG-2H8MT-BKHM9-VGC8R
MPP6R-09RXG-2H8MT-BKNM9-V6C8R
MPP6R-09RXG-2H8MT-BKNM9-VGC8R
MPP6R-09RXG-2H8MT-8KHM9-V6C8R
MPP6R-09RXG-2H8MT-8KHM9-VGC8R
MPP6R-09RXG-2H8MT-8KNM9-V6C8R
MPP6R-09RXG-2H8MT-8KNM9-VGC8R
MPP6R-09RXG-2HBMT-BKHM9-V6C8R
MPP6R-09RXG-2HBMT-BKHM9-VGC8R
MPP6R-09RXG-2HBMT-BKNM9-V6C8R
MPP6R-09RXG-2HBMT-BKNM9-VGC8R
MPP6R-09RXG-2HBMT-8KHM9-V6C8R
MPP6R-09RXG-2HBMT-8KHM9-VGC8R
MPP6R-09RXG-2HBMT-8KNM9-V6C8R
MPP6R-09RXG-2HBMT-8KNM9-VGC8R

撰写回答