Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
phoenixx592
User
Beiträge: 66 Registriert: Sonntag 25. Juni 2017, 16:41
Sonntag 2. Juli 2017, 17:14
Hallo Freunde,
Kruze frage habe meine Product ID von windows ausgelesen mit :
Code: Alles auswählen
def DecodeProductKey(digitalProductId):
_map = list('BCDFGHJKMPQRTVWXY2346789')
_key = list(range(0, 29))
_raw = list(digitalProductId)[52:-97]
i = 28
while i >= 0:
if (i + 1) % 6 == 0:
_key[i] = '-'
else:
k = 0
j = 14
while j >= 0:
k = (k * 256) ^ int(_raw[j])
_raw[j] = k / 24
k %= 24
_key[i] = _map[k]
j -= 1
i -= 1
return ''.join(map(str, _key))
if __name__ == '__main__':
with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r'SOFTWARE\Microsoft\Windows NT\CurrentVersion') as ok:
v, t = winreg.QueryValueEx(ok, 'DigitalProductId')
print(DecodeProductKey(v))
aber bei meiner regystry wenn ich manuell reingehe und mir den Key auslese zeigt er mir einen anderen an wieso ? :K
Zuletzt geändert von Anonymous am Sonntag 2. Juli 2017, 17:31, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
BlackJack
Sonntag 2. Juli 2017, 17:34
@phoenixx592: Hast Du denn dann auch manuell das ausgerechnet was `DecodeProductKey()` mit dem Wert aus der Registry macht? Denn das was Du in der Registry siehst, ist ja der Wert der an `v` gebunden wird und nicht das was nach dem Dekodieren mit `print()` ausgegeben wird.
phoenixx592
User
Beiträge: 66 Registriert: Sonntag 25. Juni 2017, 16:41
Sonntag 2. Juli 2017, 17:59
Nein, in der regedit folgende angaben unter SOFTWARE\Microsoft\Windows NT\CurrentVersion:
- (standart)
- DigitalProductId
- DigitalProductId4
- ProductId
was ich jetzt vorhatte ist die ProductId auslesen bzw. dann verändern, das problem ist aber das er mir die flasche Id ausgibt :/
schau mal bei dir in der Reg nach dann weißt du was ich meine
phoenixx592
User
Beiträge: 66 Registriert: Sonntag 25. Juni 2017, 16:41
Sonntag 2. Juli 2017, 18:14
Aber jetzt mal unter uns , ich habe diese Zeile:
in diese Zeile
geändert aber beide müssten doch das gleiche anzeigen oder ?
Das eine ist doch nur die Binärdatei oder nicht?