Skocz do zawartości

Jak odczytać klucz licencyjny MSO2013 H&B?


Rekomendowane odpowiedzi

Dwa komputery W7 Pro x64 SP1.

Dwie licencje MSO2010 H&B - znam klucze.

Wykonałem online darmowy upgrade do MSO2013 H&B na obu komputerach. Jedna wersja x64 a druga x32.

Oba produkty aktywowane automatycznie.

Na wszelki wypadek pobrałem obraz płyty instalacyjnej i przy pobieraniu podany został nowy klucz dla każdego pakietu.

Płyta zawiera obie wersje pakietu.

 

Pytanie jak w temacie. Chcę zidentyfikować który nowy klucz jest przypisany do każdego komputera.

Zadałem również to pytanie do MS. Zobaczę co odpowiedzą.

 

AIDA64 wyświetla tylko klucz MSO2010.

Edytowane przez wieslaw531
Odnośnik do komentarza
Pomoc jest darmowa, ale proszę rozważ przekazanie dotacji na utrzymanie serwisu: klik.

Jeżeli w rejestrze istnieje sygnatura binarna klucza to można ją spróbować odszyfrować.
Coś takiego (VBS) bez problemu działa z wcześniejszymi wersjami:

 

 CONST HKEY_LOCAL_MACHINE = &H80000002
 CONST SEARCH_KEY = "DigitalProductID"
 Dim arrSubKeys(0,1)

 foundKeys = Array()
 iValues = Array()
 arrSubKeys(0,0) = "Office Product Key"
 arrSubKeys(0,1) = "SOFTWARE\Wow6432Node\Microsoft\Office\12.0\Registration\{90120000-0011-0000-0000-0000000FF1CE}"


 Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
 

  oReg.GetBinaryValue &H80000002, arrSubKeys(x,1), SEARCH_KEY, arrDPIDBytes
  If Not IsNull(arrDPIDBytes) Then
    call decodeKey(arrDPIDBytes, arrSubKeys(x,0))
  End If


 
 Function decodeKey(iValues, strProduct)
  
 
  arrDPID = Array()

  For i = 52 to 66
   ReDim Preserve arrDPID( UBound(arrDPID) + 1 )
   arrDPID( UBound(arrDPID) ) = iValues(i)
  Next
   

  arrChars = Array("B","C","D","F","G","H","J","K","M","P","Q","R","T","V","W","X","Y","2","3","4","6","7","8","9")
  

  For i = 24 To 0 Step -1
   k = 0
   For j = 14 To 0 Step -1
    k = k * 256 Xor arrDPID(j)
    arrDPID(j) = Int(k / 24)
    k = k Mod 24
   Next
   strProductKey = arrChars(k) & strProductKey
   If i Mod 5 = 0 And i <> 0 Then strProductKey = "-" & strProductKey
  Next
  
  ReDim Preserve foundKeys( UBound(foundKeys) + 1 )
  foundKeys( UBound(foundKeys) ) = strProductKey
  strKey = UBound(foundKeys)
  MsgBox strProduct & vbNewLine & vbNewLine & foundKeys(strKey)
 End Function

 

Jeżeli format zapisu klucza się nie zmienił a zmieniły się np. nazwy to wystarczy je odczytać z rejestru i podstawić do skryptu.
Interesują nas:
CONST HKEY_LOCAL_MACHINE = &H80000002 lub CONST HKEY_CURRENT_USER = &H80000001 (zastąpić w skrypcie w zależnoości od rozpatrywanego klucza)
CONST SEARCH_KEY - nazwa pod jaką wartość znajduje się w rejestrze
arrSubKeys(0,1) - ścieżka w której wartość się znajduje

Przykład zastosowania dla klucza systemu:

 

 CONST HKEY_LOCAL_MACHINE = &H80000002
 CONST SEARCH_KEY = "DigitalProductID"
.......
 arrSubKeys(0,0) = "Microsoft Windows Product Key"
 arrSubKeys(0,1) = "SOFTWARE\Microsoft\Windows NT\CurrentVersion"

 

ps.
nie jestem autorem skryptu, niestety nie potrafię podać źródła tym niemniej algorytm jest znany i dosepny w sieci publicznie.

pzdr

Odnośnik do komentarza

Product Key Decryptor 2.0 - http://securityxploded.com/product-key-decryptor.php

Currently it can recover product key from following Microsoft and other third party products,
Microsoft Windows NT, XP, 2003, Vista, Windows 7, Windows 8
Microsoft Office 2003, 2007, 2010, 2013
Microsoft Exchange Server
Microsoft SQL Server 2000, 2005, 2008, 2012
Visual Studio 2005, 2008, 2010, 2012
Internet Explorer 6, 7, 8, 9, 10
VMWare Workstation 6.x, 7.x, 8.x, 9.x
RealVNC Enterprise Edition

Odnośnik do komentarza

@maggreg

Skrypt w ogóle znam i testowo sprawdzałem klucz W7. Jednak dzięki za dodatkowe informacje.

 

@Bonifacy

Dzięki za linka. Pobrałem, zainstalowałem bez prezentów i ... kicha. Widzi tylko MSO2010 x64 + W7 x64. MSO2013 x64 nie.

Tak. Wiem, że zaraz mogę dowiedzieć się jaki jest mój klucz instalując na drugim kompie z MSO2013 x32. I zaraz to zrobię.

 

No niestety. Mimo info, że odczytuje MSO2013 to nie widzi klucza dla żadnej wersji.

Generalnie MSO2013 x32 i x64 siedzi w katalogu C:\Program Files\Microsoft Office 15.

Różnica jest taka, że x32 to około 1,7 GB a x64 to około 2 GB.

 

Pobawię się z tym skryptem jednak już na wstępie widzę podstawowy problem - lokalizacja właściwych danych w rejestrze.

Dla tej wersji (tylko) w ogóle nie występuje DigitalProductID. I nie jestem w stanie znaleźć klucza z wartościami do odczytu.

Dla MSO2010 - jest poprawnie i daje się to odczytać. Nie w skrypcie.

 

EDYTA

Wstawiając do skryptu SOFTWARE\Microsoft\Office\14.0\Registration\{90140000-003D-0000-1000-0000000FF1CE} mam całkowicie inny klucz produktu.

Edytowane przez wieslaw531
Odnośnik do komentarza

... już na wstępie widzę podstawowy problem - lokalizacja właściwych danych w rejestrze.

Dla tej wersji (tylko) w ogóle nie występuje DigitalProductID.

 

I pewnie to stanowi problem dla wszystkich programów, po prostu spodziewają się takiego wpisu.

Sęk w tym, że jego brak może być czymś niestandardowym skoro program podany przez @Bonifacego deklaruje zgodność a nie działa.

Generalnie "DigitalProductID" jest binarnym zapisem identyfikatora produktu który powinien ci wyświetlić Office w informacja o produkcie i ten standardowy ciąg jest zawarty wewnątrz ciągu, wg tego można go próbować odczytać.

Wyszukać można np wg wzorca:

powiedzmy, że PID to "12345-123-1234567-12345" to binarnie ten fragment wygląda - "31 32 33 34 35 2d 31 32 33 2d 31 32 33 34 35 36 37 2d 31 32 33 34 35", widać że każda cyfra w zapisie binarnym zostaje powiększona o 30 a myślnik to "2d", jeżeli w ID po myślniku mamy OEM to ten fragment binarnie zapisany jest jako "4F 45 4D".

 

pzdr

Odnośnik do komentarza

A jak rozumieć mój poprzedni post po EDYTA?

 

Edyta

Generalnie "DigitalProductID" jest binarnym zapisem identyfikatora produktu który powinien ci wyświetlić Office w informacja o produkcie i ten standardowy ciąg jest zawarty wewnątrz ciągu, wg tego można go próbować odczytać.

W identyfikatorze produktu mam cztery grupy cyfr - po 5 cyfr (ostatnia zaczyna się od AA).

W regedit wpisałem szukanie wg zapisu binarnego pierwszych trzech grup cyfr z myślnikami i niestety brak wyników.

To akurat dotyczy MSO2013.

 

EDYTA

 

Jak pisałem wcześniej w systemie nadal był MSO2010 ale okazało się, że po instalacji MSO2013 tamten pakiet stał się wersją TRIAL.

Dzisiaj testowo odpaliłem excela 2010 i okazało się, że wszystkie elementy pakietu są w wersji - BRAK LICENCJI.

Zastosowałem deinstalację z Programy i funkcje oraz poprawiłem MSO2010Remove.msi oraz usuwaniem z ręki pozostałości.

Po restarcie okazało się, że odpalenie nowego Outlooka 2013 wymaga naprawy !!!!! i aktywacji !!!!! :angry:

Było zaloguj do konta i wybierz z którego konta aktywować. Jak pisałem mam dwa i oczywiście wybrałem niewłaściwe.

Pakiet nie został aktywowany i wszelkie próby spełzły na niczym. Szlag mnie trafił i odinstalowałem MSO2013 - komunikat, że produkt nie jest zainstalowany w systemie :o . Odpaliłem Fixa MS - O15CTRRemove.diagcab i restart. Poprawki z ręki.

 

Po dokładnym czyszczeniu odpaliłem płytę instalacyjną (pobrana wcześniej) i wybrałem SETUPx64 bo taki chciałem mieć.

Wpisałem prawdopodobny klucz i bingo. Teraz już mam identyfikację.

 

Uwaga dla próby instalacji MSO2013 x64. NIE NALEŻY odpalać setup.exe tylko z katalogu Office setupx64.exe.

 

I to by było na tyle.

Zrobię to samo na drugim kompie i poczekam na odpowiedź MS. :D

Edytowane przez wieslaw531
Odnośnik do komentarza

...

W identyfikatorze produktu mam cztery grupy cyfr - po 5 cyfr (ostatnia zaczyna się od AA).

...

Powyższe stanowi zmianę w stosunku do wcześniejszego formatu (zdaje się, że ósemka też ma format 5-5-5-5) a to sugeruje, że mamy zmianę algorytmu i skrypt ani programy bazujące na dotychczasowym algo nie zadziałają (jeżeli używają odczytu binarki to pewnie zadziałają ale wyliczą niewłaściwy klucz).

To tylko uwaga techniczna bo problem rozwiązany (a właściwie zastosowane obejście).

 

pzdr

Odnośnik do komentarza

Dzięki za info. MSO2010 miało również układ 5-5-5-5 a klucz był możliwy do odczytania (Aida64, Produkey itp.).

Na MSO2013 jest identycznie ale niestety.

A oto odpowiedź z Supportu MS - zapytałem jak odczytać aktualny klucz produktu + informacje dodatkowe:

 

Szanowny Panie,

 

Dziekujemy za kontakt z Centrum Obslugi Klienta Microsoft.

 

Chcialbym przekazac, ze Pakiet Office 2013 moze Pan zainstalowac w dowolnym momencie z pozycji Moje konto logujac sie na stronie office.com za pomoca konta Microsoft. Moze Pan równiez uzyc utworzonej samodzielnie plyty i wprowadzic odpowiedni klucz.

 

Jezeli chcialby Pan sie upewnic, który klucz zostal uzyty do instalacji danego Pakietu Office, to prosze przeslac obydwa klucze produktów oraz Identyfikatory produktów. Identyfikator odnajdzie Pan uruchamiajac dowolna aplikacje, np. Word, wybierajac Plik, nastepnie Konto i Microsoft Word - informacje. Po otrzymaniu tych  danych bedziemy w stanie dopasowac Identyfikatory do kluczy.

 

Dodatkowo chcialbym przekazac, iz jesli jest Pan pierwotnym uzytkownikiem Pakietu Office 2013, to moze Pan posiadana licencje przenosic z komputera na komputer.

 

W przypadku dodatkowych pytan lub watpliwosci prosze o kontakt.

 

Z poważaniem,

 

Ponieważ już znam swoje klucze tzn. mam je zidentyfikowane to w zasadzie temat można zamknąć.

Chyba, że temat może zainteresować innych userów i ktoś poda sposób.

 

Pzdr

Odnośnik do komentarza

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...