Skocz do zawartości

Jak odzyskać klucz do win7 - wytarta naklejka


piespawlowa

Rekomendowane odpowiedzi

Pomoc jest darmowa, ale proszę rozważ przekazanie dotacji na utrzymanie serwisu: klik.

 

CONST HKEY_LOCAL_MACHINE = &H80000002

CONST SEARCH_KEY = "DigitalProductID"

Dim arrSubKeys(0,1)

foundKeys = Array()

iValues = Array()

arrSubKeys(0,0) = "Microsoft Windows Product Key"

arrSubKeys(0,1) = "SOFTWARE\Microsoft\Windows NT\CurrentVersion"

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

 

Skopiuj wszystko i wklej do pliku w notatniku. Zapisz jako - wybierz Wszystkie pliki - nazwa np.: klucz.vbs i uruchom przez dwuklik. Nazwa rozszerzenia obowiązkowa.

 

Nie wiem czy on zadziała na lapku przy instalacji z innej płyty niż dołączona (ewentualnie) do sprzętu. Może to być klucz dla instalatora z partycji odzyskiwania.

Edytowane przez wieslaw531
Odnośnik do komentarza

niestety, ale skrypt podany przez wieslawa531 na W7 nie działa (hulał na XPku).

niestety, ale żaden ze znanych mi programów (a przetestowałem ich co najmniej kilkanaście) nie pokazywał poprawnego seriala systemu.

 

Chłopcy z MS się postarali i zaszyfrowali te magiczne 25 znaków na fest.

 

Co jest zupełnie zrozumiałe - wyobraźcie sobie, że zapuszczam powyższy skrypt na komputerze w pracy... I po co mam kupować Windę, jeśli mogę se bezczelnie skopiować kod aktywacyjny?

 

Jeśli dodatkowo zakończę karierę w obecnym miejscu a będę chciał spłatać przykrego psikusa tejże firemce - wrzucę na, np. jakiś tracker obraz iso płytki instalacyjnej z korporacyjnym aktywatorem...

 

Niestety, ale czeka Cię zakup nowej kopii systemu.

Odnośnik do komentarza

Działa na W7. Nie wstawiłbym go bez sprawdzenia. Porównałem z naklejką na pudełku.

A na firmowym z W7 - licencja wielostanowiskowa też ale wyświetla taki ładny obrazek:

 

klucz.JPG

 

:P

 

Na lapkach, gdzie licencje dostarczane są hurtowo producentom może być podobna sytuacja.

Ale chyba nic straconego.

Miałem podobny problem z dwoma licencjami MSO2013 - pomyliłem instalator przy poborze ze strony MSO.

Klucze mam zapisane na nalepkach (bez płyty).

 

Jest coś takiego jak Komputer - PPM - Właściwości i na dole jest Identyfikator Produktu.

Należy dokładnie go spisać i wysłać maila do supportu MS w Polsce z prośbą o wygenerowanie klucza.

 

Ja miałem znane klucze i identyfikatory ale nie wiedziałem, który jest sparowany .

 

Bez problemu otrzymałem odpowiedź.

Edytowane przez wieslaw531
Odnośnik do komentarza

Jest jeszcze ProduKey od nirsoftu: http://www.nirsoft.net/utils/product_cd_key_viewer.html

Klucze SLP powinny się odczytać bez problemu ponieważ są zapisane w rejestrze, jeżeli nie to na tej stronie:

http://forums.mydigitallife.info/threads/10370-Windows-7-OEM-SLP-Key-Collection

wyszukaj klucz właściwy dla twojego brandu (klucze są jednakowe dla wszystkich egzemplarzy wyprodukowanych przez danego producenta o ile stosuje mechanizm SLP).

 

ps. odświeżony skrypt VBS z dodaną obsługą win8 wygląda tak:

 

Set WshShell = CreateObject("WScript.Shell")

strFile = "key.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
If Not objFSO.FileExists(strFile) Then
objFSO.CreateTextFile(strFile)
End If
Set objFile = objFSO.OpenTextFile(strFile, 2)
MsgBox ConvertToKey(WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"))
objFile.writeline ConvertToKey(WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"))
objFile.Close
Function ConvertToKey(Key)
Const KeyOffset = 52 ' Offset of the first byte of key in DigitalProductId - helps in loops
isWin8 = (Key(66) \ 9) And 1 ' Check if it's Windows 8 here...
Key(66) = (Key(66) And &HF7) Or ((isWin8 And 2) * 4) ' Replace 66 byte with logical result
Chars = "BCDFGHJKMPQRTVWXY2346789" ' Characters used in Windows key
' Standard Base24 decoding...
For i = 24 To 0 Step -1
Cur = 0
For X = 14 To 0 Step -1
Cur = Cur * 256
Cur = Key(X + KeyOffset) + Cur
Key(X + KeyOffset) = (Cur \ 24)
Cur = Cur Mod 24
Next
KeyOutput = Mid(Chars, Cur + 1, 1) & KeyOutput
Last = Cur
Next
' If it's Windows 8, put "N" in the right place
If (isWin8 = 1) Then
keypart1 = Mid(KeyOutput, 2, Cur)
insert = "N"
KeyOutput = keypart1 & insert & Mid(KeyOutput, Cur + 2)
End If
' Divide keys to 5-character parts
a = Mid(KeyOutput, 1, 5)
b = Mid(KeyOutput, 6, 5)
c = Mid(KeyOutput, 11, 5)
d = Mid(KeyOutput, 16, 5)
e = Mid(KeyOutput, 21, 5)
' And join them again adding dashes
ConvertToKey = a & "-" & b & "-" & c & "-" & d & "-" & e
' The result of this function is now the actual product key
End Function

 

pzdr

Odnośnik do komentarza

niestety, ale skrypt podany przez wieslawa531 na W7 nie działa (hulał na XPku).

niestety, ale żaden ze znanych mi programów (a przetestowałem ich co najmniej kilkanaście) nie pokazywał poprawnego seriala systemu.

 

Chłopcy z MS się postarali i zaszyfrowali te magiczne 25 znaków na fest.

 

Co jest zupełnie zrozumiałe - wyobraźcie sobie, że zapuszczam powyższy skrypt na komputerze w pracy... I po co mam kupować Windę, jeśli mogę se bezczelnie skopiować kod aktywacyjny?

 

Jeśli dodatkowo zakończę karierę w obecnym miejscu a będę chciał spłatać przykrego psikusa tejże firemce - wrzucę na, np. jakiś tracker obraz iso płytki instalacyjnej z korporacyjnym aktywatorem...

 

Niestety, ale czeka Cię zakup nowej kopii systemu.

U mnie Win 7 64 działa !!!

Odnośnik do komentarza

U mnie Win 7 64 działa !!!

to jest nieśmiertelny tekst wszystkich Zapiekłych Linuksiarzy :D

 

u mnie nie działa, czyli - zgodnie z zasadami logiki pana Boole'a - w kategoriach bezwzględnych nie działa. I nie wzruszają mnie deklaracje całego świata, jeśli ja nie mogę z określonej funkcjonalności skorzystać.

 

Nie miałem zamiaru prostować czy dodatkowo tłumaczyć swojego poglądu na tę sprawę.

Ale obok tekstu, który zacytowałem na samym początku po prostu nie mogłem przejść obojętnie :lol:

Odnośnik do komentarza

W kwestii formalnej, skrypt odpalałeś z uprawnieniami administracyjnymi? Jeżeli nie to może nie odczytać odpowiedniej gałęzi rejestru (brak uprawnień).

Skrypt w instancji administratora można odpalić przez cscript lub wscript z poziomu konsoli odpalonej w trybie administratora, można też sam skrypt troszkę poprawić aby wymuszał odpowiednie uprawnienia:



If WScript.Arguments.length =0 Then
  Set objShell = CreateObject("Shell.Application")
  objShell.ShellExecute "wscript.exe", Chr(34) &  WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1
Else
Set WshShell = CreateObject("WScript.Shell")
strFile = "key.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
If Not objFSO.FileExists(strFile) Then
objFSO.CreateTextFile(strFile)
End If
Set objFile = objFSO.OpenTextFile(strFile, 2)
MsgBox ConvertToKey(WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"))
objFile.writeline ConvertToKey(WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"))
objFile.Close
Function ConvertToKey(Key)
Const KeyOffset = 52 ' Offset of the first byte of key in DigitalProductId - helps in loops
isWin8 = (Key(66) \ 9) And 1 ' Check if it's Windows 8 here...
Key(66) = (Key(66) And &HF7) Or ((isWin8 And 2) * 4) ' Replace 66 byte with logical result
Chars = "BCDFGHJKMPQRTVWXY2346789" ' Characters used in Windows key
' Standard Base24 decoding...
For i = 24 To 0 Step -1
Cur = 0
For X = 14 To 0 Step -1
Cur = Cur * 256
Cur = Key(X + KeyOffset) + Cur
Key(X + KeyOffset) = (Cur \ 24)
Cur = Cur Mod 24
Next
KeyOutput = Mid(Chars, Cur + 1, 1) & KeyOutput
Last = Cur
Next
' If it's Windows 8, put "N" in the right place
If (isWin8 = 1) Then
keypart1 = Mid(KeyOutput, 2, Cur)
insert = "N"
KeyOutput = keypart1 & insert & Mid(KeyOutput, Cur + 2)
End If
' Divide keys to 5-character parts
a = Mid(KeyOutput, 1, 5)
b = Mid(KeyOutput, 6, 5)
c = Mid(KeyOutput, 11, 5)
d = Mid(KeyOutput, 16, 5)
e = Mid(KeyOutput, 21, 5)
' And join them again adding dashes
ConvertToKey = a & "-" & b & "-" & c & "-" & d & "-" & e
' The result of this function is now the actual product key
End Function

End If
WScript.quit
Jeżeli skrypt nadal nie zadziała to w edytorze rejestru przejdź do właściwego klucza:

"HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion"

i sprawdź czy istnieje wartość binarna DigitalProductId i czy możesz ją odczytać i (masz uprawnienia i nie jest uszkodzona).

 

 

edit.

Jeszcze jedno, napisałeś:

 

niestety, ale żaden ze znanych mi programów (a przetestowałem ich co najmniej kilkanaście) nie pokazywał poprawnego seriala systemu.

Co to oznacza? Pamiętaj, ze programy odczytają klucz na którym system został zainstalowany ale ten w przypadku producentów OEM nigdy nie pokryje się z tym co masz na naklejce ponieważ - jak już wcześniej pisałem - producenci stosowali w przypadku systemów z linii XP do 7 jeden wspólny klucz dla wszystkich produkowanych w ramach jednego brandu komputerów, ułatwiało to produkcję i umożliwiało automatyczną aktywację.

Tak więc wracając do cytatu, programy nie odczytują nic czy też to co odczytuję nie pokrywa się z naklejką (prawidłowo)?

 

pzdr

Odnośnik do komentarza

W kwestii formalnej, skrypt odpalałeś z uprawnieniami administracyjnymi?

Problem jest trochę innej natury. Skrypt z zasady działa za wyjątkiem pewnych szczególnych sytuacji. Taką szczególną sytuacją jest licencja studencka (DreamSpark), a sądząc z postu Wiesława także VKL. Ten pierwszy przypadek przerabiałem ostatnio i okazuje się, że ta część wartości DigitalProductID, która powinna zawierać zakodowany klucz Windows jest wypełniona zerami. W konsekwencji daje to efekt jak na zrzucie Wiesława, czyli:

 

BBBBB-BBBBB- ....
W związku z powyższym żaden program do odczytywania klucza nie może pobrać poprawnej wartości, bo jej tam po prostu nie ma. I w tym miejscu rodzi się pytanie, w jaki sposób taki Windows identyfikuje się jako oryginalny np. podczas pobierania aktualizacji? Odpowiedź nasuwa się jedna - nie za pomocą klucza! Product Key wraz z pewnymi komponentami hardware służy do wygenerowania w procesie aktywacji identyfikatora i to on identyfikuje system jako legalny.
Odnośnik do komentarza

Product Key wraz z pewnymi komponentami hardware służy do wygenerowania w procesie aktywacji identyfikatora i to on identyfikuje system jako legalny.

 

To by się zgadzało. W którymś memencie (po aktywacji) zmieniałem sam procesor i po pierwszym odpaleniu system zażądał aktywacji, która poszła bez problemu. Nie sprawdzałem czy identyfikator się zmienił. Klucz nadal ten sam.

Odnośnik do komentarza

Przy czym to raczej na pewno nie chodzi o identyfikator, który widzimy we właściwościach systemu ^_^ .

Gdyby udało się dowiedzieć, gdzie to się zapisuje, to możnaby uniknąć kłopotów przy reinstalacji systemów z DS. Zwłaszcza, że klucze DreamSpark'a są chyba ograniczone czasowo (według innych źródeł pozwalają na jednokrotną aktywację).

Odnośnik do komentarza

Klucz z dremsparka powinien się zapisać w rejestrze standardowo (bo istnieje fizycznie), natomiast w przypadku licencji - nazwijmy je ogólnie - wielostanowiskowych które aktywują się poprzez serwer KMS klucz dla pojedynczej maszyny nie istnieje, po prostu identyfikator sprzętu zdejmuje jednostkę z ogólnej puli a fizyczny klucz przypisany jest do KMS.

Oczywiście w przypadku jakiś instalacji instytucjonalnych istnieją rożne wariacje powodujące rozbieżność między licencją a kluczem, od ponad dziesięciu lat pracuję przy produkcji komputerów i widziałem już nawet sytuację w której z licencją home był instalowany win pro (nomen omen dla policji, oczywiście na wszystko była umowa z MS).

Generalnie jeżeli klucz nie jest zapisany w rejestrze to nie da się go odczytać czyli albo nie istnieje albo jest jednorazowy (czyli licencja nie uwzględnia reinstalacji) więc jego zapamiętanie jest zbędne.

Tutaj natomiast obstawiam, że część naklejki która daje się odczytać nie zgadza się z tym co podają programy (bo SLP) i pewnie stąd cały temat.

 

pzdr

Odnośnik do komentarza

W takim razie klucz jest traktowany jako jednorazowy i nie ma potrzeby jego zapamiętania/zapisania, ale to dyskusja akademicka bo w przypadku kiedy mamy naklejkę COA możemy mieć system zainstalowany z kluczem z naklejki bądź SLP, inne byłyby naruszeniem licencji.

Ponadto @piespawlowa nie pisał, że odczytuje mu BBBBB (wynik kodowania base24), pisał tylko że odczytuje nieprawidłowe dane (patrz moje wcześniejsze sugestie), przydałoby się też dowiedzieć jaki to brand laptopa i edycja systemu, wtedy można by skonsultować czy jest to znany SLP.

 

pzdr

Odnośnik do komentarza

to jest nieśmiertelny tekst wszystkich Zapiekłych Linuksiarzy :D

 

u mnie nie działa, czyli - zgodnie z zasadami logiki pana Boole'a - w kategoriach bezwzględnych nie działa. I nie wzruszają mnie deklaracje całego świata, jeśli ja nie mogę z określonej funkcjonalności skorzystać.

 

Nie miałem zamiaru prostować czy dodatkowo tłumaczyć swojego poglądu na tę sprawę.

Ale obok tekstu, który zacytowałem na samym początku po prostu nie mogłem przejść obojętnie :lol:

Nie sądziłem że to kogoś tak zaboli, soorryy-nigdy nie byłem "Zapiekłym Linuksiarzem" i nie jestem po prostu stwierdziłem fakt  :P Pozdrawiam serdecznie

Odnośnik do komentarza

no nie, nie traktuj mojego wywodu jako zapoczątkowanego boleścią :D

 

Staram się podchodzić racjonalnie do wszelkich dyskusji, w których biorę udział.

 

Więc absolutnie nie poczułem się ugodzony przez Ciebie. Ale są sformułowania, których nigdy nie pozostawiam bez odzewu. Jak "u mnie działa" :).

 

A naczytałem się go na rozmaitych forach (polsko- i anglojęzycznych) poświęconych systemom spod znaku pingwina.

 

Dlatego użyłem epitetu, który zacytowałeś, absolutnie nie zaliczając Cię do żadnej "komputerowej grupy".

 

Lecz gdy ponownie przejrzysz cały topik (maggreg, gajowy, wieslaw531 - dziękuję za fachowe wyjaśnienia), zobaczysz, że hurraoptymistyczny wykrzyknik czasem może być sporym nadużyciem ;)

 

Dokładnie tak, jak moje ostrzeżenie o konieczności zakupu nowego systemu :lol:

Odnośnik do komentarza
  • 2 miesiące temu...

WItam po długiej przerwie,

jeżeli kogoś interesuje, to dzięki polecanemu programowi do odczytu kluczy windowsa, udało mi się go odzyskać i przy instalacji okazalo się, że jest... prawidłowy!

 

W tym wątku: https://www.fixitpc.pl/topic/25797-hard-disc-1-quick-303-w-biosie/page-3opisywałem nietypowe problemy przy próbie instalacji Win7 , a mianowicie, że podczas instalacji wieszał się na 'completing installing'. Problem opisywany również przez innych na zagranicznych forach. 

Pomogło zbootowanie pedrivea programem WinUSB działającym pod Ububntu. Robiło się chyba z godzinę (przez Yumi z 5minut), ale za to skutecznie :)

pozdrawiam serdecznie i dziekuję za rady

Odnośnik do komentarza
  • 1 miesiąc temu...

WItam po długiej przerwie,

jeżeli kogoś interesuje, to dzięki polecanemu programowi do odczytu kluczy windowsa, udało mi się go odzyskać i przy instalacji okazalo się, że jest... prawidłowy!

 

W tym wątku: https://www.fixitpc.pl/topic/25797-hard-disc-1-quick-303-w-biosie/page-3opisywałem nietypowe problemy przy próbie instalacji Win7 , a mianowicie, że podczas instalacji wieszał się na 'completing installing'. Problem opisywany również przez innych na zagranicznych forach. 

Pomogło zbootowanie pedrivea programem WinUSB działającym pod Ububntu. Robiło się chyba z godzinę (przez Yumi z 5minut), ale za to skutecznie :)

pozdrawiam serdecznie i dziekuję za rady

Coś jest jednak nie tak. Dzisiaj pulpit zrobił się czarny i w prawym dolnym rogu wyświetla się: 'Windows 7 build 7601 this copy of windows is not genuine'.

Co z tym zrobic? Windows powinien byc oryginalny, gdyż te laptopy były sprzedawane razem z Win7, a poza tym jest naklejka pod spodem.

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ę...