Winreg Zugang verweigert

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.
Antworten
phoenixx592
User
Beiträge: 66
Registriert: Sonntag 25. Juni 2017, 16:41

Code: Alles auswählen

   
    if __name__ == '__main__':
        with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r'SOFTWARE\Microsoft\Windows NT\CurrentVersion', 0, winreg.KEY_ALL_ACCESS) as ok:
            v, t = winreg.QueryValueEx(ok, 'ProductId')
            key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r'SOFTWARE\Microsoft\Windows NT\CurrentVersion', 0, winreg.KEY_ALL_ACCESS)
            print("Ihre alter ProductId wird im Verzeichnis gespeichert: " + v)
            Product_Id_Datei = open("Old_Product_ID.txt", "w")
            Product_Id_Datei.write("################\n   Product ID Log \n################\n\n" + time.asctime() + "\n" + v)
            Product_Id_Datei.close()
            New_key = Random_Key()
            winreg.SetValueEx(key, "ProductId", 1, New_key)
Guten Abend Freunde,
wieso bekomme ich Zugriff verweigert ? Wenn ich den Key Neu schreiben will?
Also eigendlich sollte er mir den Key auslesen in eine datei speichern und einen neuen Key eintragen? Funktioniert alles bis auf den neuen Key eintragen. :K :K :mrgreen:
Zuletzt geändert von Anonymous am Montag 3. Juli 2017, 21:58, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
phoenixx592
User
Beiträge: 66
Registriert: Sonntag 25. Juni 2017, 16:41

auch keiner ein Plan? :D
BlackJack

@phoenixx592: Warum es Sinn macht das man nicht so einfach den Produktschlüssel von einer Windows-Installation ersetzen kann? So überraschend finde ich das jetzt ja nicht. :-)
phoenixx592
User
Beiträge: 66
Registriert: Sonntag 25. Juni 2017, 16:41

Das ding ist das man den Product key super leicht ändern kann
BlackJack

@phoenixx592: Anscheinend ja nicht. ;-)
heiner88
User
Beiträge: 65
Registriert: Donnerstag 20. Oktober 2016, 07:29

Folgender Code funktioniert mit Win7 (64-bit) und Python 3.6 (32-bit):

Code: Alles auswählen

import random, winreg

hkey  = winreg.HKEY_LOCAL_MACHINE
rpath = r'SOFTWARE\Microsoft\Windows NT\CurrentVersion'

def set_reg(name, value):
        rkey = winreg.OpenKey(hkey, rpath, 0, winreg.KEY_WRITE | winreg.KEY_WOW64_64KEY)
        winreg.SetValueEx(rkey, name, 0, winreg.REG_SZ, value)
        winreg.CloseKey(rkey)

def get_reg(name):
        rkey = winreg.OpenKey(hkey, rpath, 0, winreg.KEY_READ | winreg.KEY_WOW64_64KEY)
        value, vtype = winreg.QueryValueEx(rkey, name)
        winreg.CloseKey(rkey)
        return value

print(get_reg('ProductId'))
set_reg('ProductId', 'test' + str(random.randint(100, 999)))
print(get_reg('ProductId'))
heiner88
User
Beiträge: 65
Registriert: Donnerstag 20. Oktober 2016, 07:29

Und man braucht Admin-Rechte.
phoenixx592
User
Beiträge: 66
Registriert: Sonntag 25. Juni 2017, 16:41

Danke !!!!!!!!!!!!!!!!!!!! hat super geklappt :D :D :D :D
Antworten