Мне нужно подать заявку на обновление Windows 8 для моего ноутбука, для чего мне нужен лицензионный ключ Windows 7 на нижней стороне ноутбука.

Поскольку корпорация Microsoft решила в бесконечной мудрости создать ярлыки лицензий, которые стираются, и я не могу четко прочитать свой лицензионный ключ, это означает, что я не могу зарегистрировать свой ноутбук для предложения обновления Windows с помощью автоматизированного процесса.

Держа ноутбук под углом к свету, я смог проверить большую часть кода, но некоторые буквы неоднозначны (еще раз спасибо Microsoft за использование легко ошибочно читаемых символов на вашем ярлыке).

У меня есть следующий (обфусцированный) лицензионный ключ,

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

Где символы в квадратных скобках неоднозначны, поэтому это либо 8, либо B, B, либо 8, H, либо N, { {X6}} или G.

Составление 16 комбинаций.

Целесообразно ли генерировать возможные перестановки этого лицензионного ключа с помощью itertools или есть лучший способ?

Я получил правильный ключ благодаря вкладчикам. Очень удобный способ проверить правильность ключа - использовать средство проверки ключа продукта Windows 7.

97
Kerridge0 30 Янв 2013 в 18:27

6 ответов

Лучший ответ

Отказ от ответственности: Да, я знаю, что это не Python код. Это просто пришло мне в голову, и мне просто пришлось записать это.

Самым простым способом является использование расширения оболочки:

$ 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
164
Peter Mortensen 5 Фев 2013 в 23:39

Если вы используете обновление Windows Anytime Upgrade непосредственно из Windows 7, вам НЕ нужно знать что такое лицензионный ключ.

Пока операционная система активирована, Windows 8 будет просто перезаписывать существующую операционную систему и помещать все из Windows 7 в папку «Windows-old», которую вы можете удалить, если вам не нужен файл или что-то еще.

Процесс обновления Windows ищет активированную операционную систему Windows, даже Windows XP будет делать, пока она активирована до установки обновления.

При покупке через обновление в любое время вы получите по электронной почте лицензионный ключ Windows 8. Если вы покупаете обновление в магазине, вы просто получите лицензионный ключ и загрузите URL-адрес ИЛИ Просто вставьте ключ в Windows Anytime Upgrade, и он загрузится и установится сам.

1
Peter Mortensen 5 Фев 2013 в 23:42

Еще один способ генерировать комбинации

>>> ['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']
>>> 
17
Nick Dandoulakis 30 Янв 2013 в 22:27
from itertools import product
for perm in product('8B', 'B8', 'HN', '6G'):
    print 'MPP6R-09RXG-2H%sMT-%sK%sM9-V%sC8R' % perm
59
Yuval Adam 30 Янв 2013 в 14:31

Как насчет использования itertools и functools одновременно?

>>> from operator import mod
>>> from functools import partial
>>> from itertools import product
>>> map(partial(mod, 'MPP6R-09RXG-2H%sMT-%sK%sM9-V%sC8R'), product('8B', 'B8', 'HN', '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']
9
bikeshedder 30 Янв 2013 в 14:49

http://www.magicaljellybean.com/keyfinder/

Magical Jelly Bean Keyfinder - это бесплатная утилита, которая извлекает ваш ключ продукта (ключ cd), используемый для установки windows из вашего реестра. Он также содержит обновленный сообществом файл конфигурации, который извлекает ключи продукта для многих других приложений.

Просто запустите его на той установке, для которой вы хотите получить ключ.

3
Paul Collingwood 30 Янв 2013 в 14:30