Aktywacja Windows XP dotyczy wersji retail, czyli kupowanej w sklepie, oraz częściowo wersji OEM. Systemy kupowane w ramach licencji typu Open, Enterprise lub Select nie wymagają aktywacji. Systemy kupowane wraz z nowymi komputerami (wersja OEM) są preaktywowane (instalowane i aktywowane przed sprzedażą). Sposób preaktywacji zależy od dostawcy komputera z systemem. Niektórzy dostawcy mogą zabezpieczyć Windowsy przez przypisanie konkretnej kopii systemu do konkretnej konfiguracji BIOS-u komputera. Ten sposób zabezpieczenia – to System Locked Pre-Installation, w skrócie SLP, nowsza odmiana używanego do tej pory blokera OEM CD BIOS. SLP podczas uruchamiania systemu porównuje konfigurację BIOS-u z odpowiednim zapisem w rejestrze Windows. Jeżeli kod się zgadza, nie jest konieczna aktywacja produktu. Jeżeli nie – należy aktywować kopię tak samo jak w wersji retail.

Dostawcy komputerów z wersją OEM systemu mogą także sami aktywować każdą z kopii, tak jak w wersji retail, przypisując ją do konfiguracji i wyręczając w ten sposób klienta. Należy jednak zaznaczyć, że systemy kupowane jako OEM podlegają takim samym ograniczeniom dotyczącym zmian w konfiguracji komputera, jak wersja retail.

Co jest ukryte w kodzie aktywacyjnym?

Podczas instalowania Windows XP system zbiera informacje o konfiguracji komputera i zapamiętuje je jako 50-cyfrowy numer instalacyjny (tzw. Installation ID). Numer ten jest podawany podczas aktywacji produktu, w zamian użytkownik otrzymuje od pracownika Microsoftu tzw. kod aktywacji, który służy do potwierdzania numeru instalacyjnego.

Installation ID jest podzielony na dziewięć grup (osiem sześciocyfrowych, jedna dwucyfrowa) i wygląda np. tak: 123456-123456-123456-123456-123456-123456-123456-123456-12. W każdej grupie ostatnia cyfra jest cyfrą kontrolną. Numer jest tworzony na podstawie oznaczenia identyfikacyjnego produktu (Product ID znajdujący się na opakowaniu systemu). Po odjęciu cyfr kontrolnych pozostaje 41-cyfrowy klucz, który powstaje po zakodowaniu 136-bitowej liczby. Osiem pierwszych bajtów (64 bity) tej liczby zawiera informacje o konfiguracji komputera, pozostałe dziewięć – numer identyfikacyjny (Product ID). Bajty te kryją kolejno informacje o:

  • numerze seryjnym wolumenu systemowego (10 bitów),
  • adresie MAC karty sieciowej (10 bitów),
  • ciągu identyfikacyjnym napędu CD-ROM (7 bitów),
  • ciągu identyfikacyjnym karty graficznej (5 bitów),
  • numerze seryjnym procesora (6 bitów),
  • ciągu identyfikacyjnym dysku twardego (7 bitów),
  • ciągu identyfikacyjnym kontrolera SCSI (5 bitów),
  • ciągu identyfikacyjnym kontrolera IDE (4 bity),
  • modelu procesora (3 bity),
  • rozmiarze pamięci RAM (3 bity),
  • możliwości dokowania (1 bit – tak/nie).

Pozostałe 3 bity są nieużywane. Jest to zatem 10 grup danych o konfiguracji komputera, zakodowanych w Installation ID. Należy zauważyć, że bity mają za małą pojemność w stosunku do numerów seryjnych komponentów komputera. Innymi słowy, zawierają tylko częściową informację o typie np. dysku twardego. Na przykład: jeżeli mamy w komputerze dysk IBM 60 GXP o pojemności 20 GB, po zakodowaniu może dać on liczbę 42. Po odkodowaniu tej liczby nie można jednak stwierdzić, że to akurat ten model dysku twardego. Podobnie jest z innymi komponentami. Stosunkowo najściślejszej informacji dostarczają bity, które przechowują dane o adresie MAC karty sieciowej oraz o pojemności pamięci RAM. Jeżeli chodzi o adres MAC – zapisana jest tylko jego część. Bity przechowujące dane o pamięci RAM mówią jedynie o przedziale, w którym mieści się jej rzeczywisty rozmiar (poniżej 32 MB, od 32 MB do 64 MB itd.). O tym, co dokładnie mamy w komputerze, wiemy tylko my. 50-cyfrowy Installation ID służy jedynie do identyfikacji komputera, a algorytm ­ do sprawdzania, czy system nie jest instalowany wielokrotnie na różnych komputerach, czyli używany niezgodnie z licencją. Zatem plotki o tym, jakoby Microsoft szpiegował swoich klientów, okazały się mocno przesadzone.

Co można wymienić?

Sporo kontrowersji budzi także ograniczenie rozbudowy i modernizacji komputera, który pracuje w Windows XP. Niektóre zmiany konfiguracji powodują konieczność ponownej aktywacji, inne – nie. Dane o konfiguracji są zapamiętane w pliku wpd.dbl, który znajduje się w katalogu windows/system32. To zaszyfrowana baza danych, w której przechowywane są: informacje o czasie, który minął od ostatniej zmiany konfiguracji, kodzie potwierdzającym aktywację, wartości aktualnej konfiguracji i – dla porównania – te same wartości w momencie aktywacji.

Najważniejszą informację w bazie danych zawiera ostatni bit zakodowanej liczby. Mówi on o tym, czy komputer jest dokowany. Jeżeli nie (czyli jest pecetem stacjonarnym), porównuje się wszystkie 10 grup danych, czyli testowana jest cała konfiguracja. Zmiana więcej niż czterech elementów w ciągu 120 dni powoduje konieczność ponownej aktywacji. Licznik kasuje się po trzech miesiącach od pierwszej zmiany. Wyjątkiem jest komputer z kartą sieciową. Jeżeli nie jest ona wymieniana, można dokonać modernizacji sześciu komponentów.

Przykład: W komputerze z kartą sieciową nie wymagającą ponownej aktywacji Windows możemy wymienić płytę główną, procesor, powiększyć pamięć, dołożyć drugi dysk twardy i wymienić napęd CD-ROM. W komputerze bez karty sieciowej możemy np. zwiększyć ilość pamięci, wymienić kartę grafiki i kontroler SCSI.

O wiele łagodniej działa algorytm sprawdzania konfiguracji komputera, gdy jest dokowany (np. jest to notebook). Jeżeli karta sieciowa komputera nie jest wymieniana, można wymienić osiem komponentów. Gdy nie ma karty sieciowej lub mamy zamiar zastąpić ją inną, można wymienić sześć komponentów (łącznie z kartą sieciową). Tak jak w komputerze niedokowanym, komponenty można wymieniać trzy razy w roku.

Należy zauważyć, że wielokrotna wymiana tego samego komponentu liczy się jako jedna zmiana. Nie wszystkie jednak wspomniane zmiany muszą prowadzić do ponownej aktywacji. Dane, przechowywane w dziesięciu bajtach, są na tyle niedokładne, że np. wymiana dysku na inny tej samej firmy, ale o większej pojemności, nie musi nieść zmiany zakodowanej liczby.