Seite 1 von 1

Windows ProductKey

Verfasst: Sonntag 2. Juli 2017, 17:14
von phoenixx592
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 :lol: :lol: :lol: :lol:

Re: Windows ProductKey

Verfasst: Sonntag 2. Juli 2017, 17:34
von BlackJack
@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.

Re: Windows ProductKey

Verfasst: Sonntag 2. Juli 2017, 17:59
von phoenixx592
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 :)

Re: Windows ProductKey

Verfasst: Sonntag 2. Juli 2017, 18:00
von phoenixx592
okay Rechtschreibfehler funktioniert jetzt :D :wink:

Re: Windows ProductKey

Verfasst: Sonntag 2. Juli 2017, 18:14
von phoenixx592
Aber jetzt mal unter uns , ich habe diese Zeile:

Code: Alles auswählen

v, t = winreg.QueryValueEx(ok, 'DigitalProductId')
in diese Zeile

Code: Alles auswählen

v, t = winreg.QueryValueEx(ok, 'ProductId')
geändert aber beide müssten doch das gleiche anzeigen oder ?
Das eine ist doch nur die Binärdatei oder nicht? :roll: :roll: