• Главная
  • Карта сайта
Не найдено

Подробиці "Microsoft Windows Product Activation"

  1. Як же це все працює?
  2. Додаткові матеріали:

Вперше з механізмом активації від Microsoft ми зіткнулися ще в Windows 2000 Server, де було потрібно активувати Terminal Server, без чого він працював тільки 90 днів. Придуманий механізм активації з однією єдиною метою - щоб запобігти нелегальне копіювання програмних продуктів. Принцип, який лежить в основі механізму активації, виключно простий - на стороні користувача генерується спеціальний ключ, який відсилається в Microsoft. Там на основі цього ключа генерується інший, який відсилається назад. Користувач вводить цей ключ у себе, і якщо вони обидва (той що відіслав, і той що прийшов назад) відповідають один одному, то активація вважається завершеною. Якщо ні - то через деякий час все, крім аплету що відповідає за активацію, перестає працювати. Експеримент з активацією Terminal Server в Windows 2000 пройшов успішно, тому сьогодні вона все ширше і ширше впроваджується в нові продукти Microsoft. Наприклад, активація є обов'язковою для OC від Microsoft починаючи з Windows XP. Про це свідчить і те назва, яку отримав цей механізм стосовно ОС - Microsoft Windows Product Activation (WPA).

Однак та інформація, яка доступна від Microsoft про WPA, залишає більше питань, ніж дає відповідей. Найважливіші з них:

1. Що саме за інформацію про комп'ютер збирає система?
2. Як саме реагує WPA на зміни в апаратної складової комп'ютера?

Щоб відповісти на них, доведеться розглянути роботу Windows Product Activation більш детально. Інформація грунтується на даних з www.licenturion.com/xp/ . Вона ніколи не підтверджувалася Microsoft, проте я вважаю, що її достовірність досить висока.

Все, що відсилається в Microsoft в процесі реєстрації, це 50-значний номер (назвемо його Installation ID). Таким чином, знаючи як формується цей номер, ми будемо знати, що саме за інформація збирається про комп'ютер.

Номер розбитий на 8 груп по 6 цифр, і одна група з 2. У групах з 6 цифр, остання цифра служить для контролю правильності групи. Наприклад, ми маємо групу:

1 1 4 5 7 3

Перш за все складаються перші п'ять чисел: 1 + 1 + 4 + 5 + 7 = 18
Потім до отриманої цифри додаються парні за порядковим номером (2 і 4), 18 + 1 + 5 = 24
Отримане число ділиться на 7, і береться ціле 24/7 - ціла частина 3.
Віднімаємо одне з іншого 24- (7 * 3) = 3. Це і є остання цифра в групі.

У підсумку, у нас залишається всього 41 десяткова цифра. Що відповідає 136 битному multi-precision integer. Таким чином, Installation ID може бути представлений у вигляді набору з 17 байт:

0xXX 0xXX 0xXX 0xXX 0xXX 0xXX 0xXX 0xXX 0x94 0xAA 0x46 0xD6 0x0F 0xBD 0x2C 0xC8 0x00

Примітка: деякі цифри з реального номера замінені на XX.

Вміст номера крім останнього байта зашифровано, тому якщо який-небудь зловмисник і перехопить цей номер, нічого корисного він не дізнається. Алгоритм, який використовується Microsoft для шифрування номера, заснований на патентованому чотирьох-прохідному шифрі Фейстеля (Feistel cipher), і нічого іншого про нього не відомо. В результаті розшифровки виходить чотири подвійні слова (double word), кожне з яких містить по 4 байта, і ще один байт. Перші два слова (байти від 0 до 7) ми назвемо H1 і H2. Вони прив'язані до апаратного забезпечення комп'ютера (H - hardware). Наступні два слова (байти від 8 до 15) назвемо їх P1 і P2, прив'язані до серійного номеру Windows. Останній байт, назвемо його P3, також прив'язаний до серійного номеру (P - program).

25-значний номер, який вбивається при установці XP, після установки бере участь у формуванні групи з 20 десяткових цифр під назвою Product ID, знайти яку можна або на закладці General вікна System Properties, або в реєстрі за адресою:

HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurentVersion, ключ ProductID


Product ID розбитий на групи цифр:

AAAAA-BBB-CCCCCCC-DDDDD,

Де перші 5 цифр вказують на версію ОС (завжди однакові для одного і того ж типу), а решта формуються з серійного номера системи, вбивається при інсталяції (саме з цих цифр обчислюють серійний номер системи різні утилитки, наприклад ця: /files/pub/tweak/ViewKeyXP.zip ). Як вже говорилося, ці 20 цифр формують P1, P2 і P3 частини Installation ID. Робиться це елементарно.

AAAAA - складають 17 біт, які стають битами від 0 до 16 для P1.
BBB - складають 10 біт, які стають битами від 17 до 26 для P1.
CCCCCCC - складають 28 біт, які стають битами від 27 до 31 для P1 і битами від 0 до 22 для P2.
DDDDD - складають 17 біт, які стають битами від 23 до 31 для P2 і битами від 0 до 7 для P3.

Таким чином видно, що Installation ID містить в собі повну інформацію про тип операційної системи, і цілком серійний ключ, який вбивається при інсталяції (як уже говорилося, його можна обчислити з Product ID). В принципі це очікувано (адже повинен же Microsoft точно ідентифікувати продану копію при активації), і ніякої критичної інформації для користувача не становить. Набагато більший інтерес представляють перші два слова, H1 і H2, що складаються на основі даних про апаратне забезпечення комп'ютера. Розглянемо і їх.

Як читачеві, безумовно, відомо, кожне подвійне слово складається з 32 біт. Для H1 і H2 вони розподіляються так:

H1.

Біти 1-9. Серійний номер і назва системного розділу диска.
Біти 10-19. MAC адресу мережевої карти.
Біти 20-26. CD-ROM hardware ID.
Біти 27-31. Hardware ID відеокарти.

H2.

Біти 0-2. Не використовуються, завжди 001.
Біти 3-8. Серійний номер центрального процесора.
Біти 9-15. Hardware ID жорсткого диска.
Біти 16-20. SCSI host adapter hardware ID.
Біти 21-24. Модель центрального процесора.
Біти 28-30. Розмір RAM.
Біт 31. Вказує, чи стає комп'ютер в док-станцію. 1 - стає, 0 - не стає.

Якщо будь-яка з пристроїв відсутній (наприклад мережева карта або SCSI контролер), то поле призначене для нього заповнюється нулями.

Неозброєним поглядом видно, що багато хто з значень, що збираються системою для генерації Installation ID, ніякими силами не можна "втиснути" в ті біти, які для них призначені. Саме тому Microsoft не зможе обчислити, що саме за залізо стоїть у користувача тільки по одному Installation ID, так що за недоторканність критичною або особистої інформації при активації дійсно можна бути спокійним.

Як же це все працює?

Вся інформація про активацію в зашифрованому вигляді зберігається в маленькому файлі, під назвою wpa.dbl, який знаходиться в WindowsSystem32. У момент активації в цей файл записується інформація, зібрана для генерації Installation ID. Крім цієї інформації, яка записується один раз, і ніколи більше не змінюється, кожен раз при завантаженні системи оновлюється копія цих даних, що збирається безпосередньо з реєстру. Після цього отримані значення порівнюються, і якщо не збігаються більше трьох позицій, то система вимагає повторної активації. З цього випливає, що широко поширена думка що після активації Windows можна апгрейдити тільки три рази - невірно. Апгредіться можна скільки завгодно, тільки апгрейду повинні піддаватися не більше трьох залізяк. Тобто, якщо ви 10 раз будете змінювати відеокарту, і 5 разів центральний процесор, але не будете чіпати нічого іншого, то проблем з активацією виникнути не повинно. Якщо на додаток до цього ви наростити обсяг оперативної пам'яті, то теж все пройде гладко. Але варто після цього поміняти HDD, як система попросить вас активувати її заново.

Трохи особняком у цьому ряду стоять користувачі ноутбуків. Для механізму активації вони відрізняються 31 бітом в H2, який свідчить про те, що комп'ютер може встановлюватися в док станцію. Якщо він дорівнює 1, то на ідентичність заліза перевіряється тільки 7 значень з 10. Виключаються відеокарта, IDE контролер і SCSI host adapter.

Таким чином, wpa.dbl підходить тільки для одного єдиного комп'ютера (адже на іншому, навіть повністю повторює його по конфігурації, hardware ID різних пристроїв будуть іншими). Але для одного комп'ютера підходить цей файл завжди, незалежно від того, скільки разів і яке програмне забезпечення ставилося на цю машину. Цей файлик ніколи не буде перезаписано (за винятком, звичайно ж, інформації яка оновлюється при кожному завантаженні), крім як при повній перевстановлення системи. В цьому випадку, якщо вам не хочеться знову проходити процедуру активації, збережіть wpa.dbl, і просто запишіть його назад, коли система буде переінстальовано. Це знову активує вашу систему (але тільки вашу, для сусіда ВАШ файл буде абсолютно даремний).

З виходом Service Pack 1 для WindowsXP технологія активації отримала подальший розвиток. Не секрет, що на піратському ринку програмного забезпечення з'явилися копії Windows XP з серійними номерами від корпоративних релізів, які не потребують активації. Для боротьби з цим в SP1 є список серійних номерів про які достеменно відомо, що вони використовуються піратами. Що саме за номери увійшли в цей список точно не відомо. Та це й не важливо. Адже, без сумніву, цей список буде розширюватися. Виявивши інсталяцію з серійним номером з "чорного списку", SP1 просто відмовляється встановлюватися, виводячи наступне повідомлення:

Service Pack 1 Setup Error-
The product key used to install Windows is invalid . Please contact your system administrator or retailer immediately to obtain a valid product key . You may also contact Microsoft Corporation's Anti-Piracy Team by emailing [email protected] if you think you have purchased pirated Microsoft software . Please be assured that any personal information you send to the Microsoft Anti -Piracy team will be kept in strict confidence.

Крім цього, подібна практика, швидше за все, буде використовуватися і для механізму Windows Update. Коли Windows Update виявить піратську інсталяцію, він просто відмовиться обслуговувати цю машину. Ніяких інших заходів впливу до нечесних користувачам (або користувачам обдуреним нечесними продавцями), за запевненнями Microsoft застосовуватися не буде. Вони просто будуть позбавлені технічної підтримки у всіх видах.

Разом з тим, незважаючи на таке посилення заходів, у користувачів піратських версій все ще залишається теоретична можливість обійти захист WPA. Для цього досить поміняти серійний номер системи на будь-якої з які не перебувають в "чорному списку".

Для цього в реєстрі за адресою [HKey_Local_MachineSoftwareMicrosoftWindowsNTCurrentVersionWPAEvents]
Потрібно поміняти хоча б одну цифру (будь-яку) в ключі oobetimer, і це "зіпсує" активацію. Працювати це буде тільки до першого перезавантаження, після чого система вважає поточний статус активації з wpa.dbl, і все буде відновлено в первісному вигляді.

Після цього запускається аплет активації (% systemroot% system32oobemsoobe.exe / a). Вибравши активувати по телефону, з'являється можливість змінити встановлений ключ на будь-який інший, кнопкою Change Product Key. Залишається тільки перезавантажитися.

Але для того що б поміняти номер, треба його знати. Найнадійніший спосіб - це купити легальну версію Windows XP. Таким чином, ця методика більше підходить для користувачів які хочуть легалізувати свою версію ОС купивши офіційну версію, але не хочуть переставляти все заново.

Для повноти інформації варто згадати про різних генераторах ключів для Windows XP, які можна зустріти на просторах мережі і які, на перший погляд, здатні вирішити проблеми нечесних користувачів крадених копій Windows XP. Але це тільки на перший погляд. Переважна більшість цих генераторів насправді нічого не генерує, а просто беруть один з номерів, список яких зберігається всередині програми. Чи варто і говорити, що навіть якщо вдасться що-небудь зробити з таким номером, то рано чи пізно він потрапить в "чорний список", і всі проблеми почнуться спочатку. Рідше (хоч і можливо) можна зустріти генератори, які дійсно генерують ключі. Але навіть з цих програм тільки одиниці здатні створювати ключі, які не гірше того що робить Microsoft, і можуть використовуватися для інсталяції та активації ОС. Однак, навіть такий "якісний" продукт піратської думки не здатний вирішити всіх проблем. Справа в тому, що для різних версій Windows XP ключі генеруються різні, і якщо ви знайдете генератор який робить абсолютно правильні ключі для, наприклад, Windows XP Home, англійської версії, то він нічим не допоможе користувачеві версії Windows XP Home іншою мовою.

Примітка. Автор НЕ ВІДПОВІДАЄ ні на які питання пов'язані з нелегальним використанням Microsoft Windows, як то: який KeyGen найкращий, де взяти працює ключ, і їм подібні.

Додаткові матеріали:

Win XP FAQ
Win 2000 FAQ
W2k / WinXP Encrypting
Організація IP брандмауера вбудованими засобами Windows 2000 і XP
Windows XP - ламати або купувати?
Короткий огляд клієнтських версій Windows XP

Якщо Ви помітили помилку - виділіть необхідний текст і натисніть CTRL + ENTER.

Як же це все працює?
1. Що саме за інформацію про комп'ютер збирає система?
2. Як саме реагує WPA на зміни в апаратної складової комп'ютера?
Як же це все працює?
Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью