Saya tidak sengaja memutus hard drive saya ketika masih berjalan dan merusak instalasi Windows 7 saya; Saya sekarang benar-benar tidak dapat boot ke Windows. Saya telah mencoba segalanya untuk mencoba dan memperbaiki instalasi: Perbaikan Startup Windows, chkdsk / r, SFC / scannow, bootrec / rebuildbcd, dll. Dan tidak berhasil. Saya hanya ingin melakukan instalasi baru, tetapi masalah saya adalah bahwa saya tidak punya kunci produk Windows saya ditulis di mana saja, dan saya tidak dapat menggunakan skrip atau utilitas untuk mengambilnya dari registri karena saya tidak bisa boot ke Windows.
Kunci produk Windows 7 disimpan, dienkripsi, dalam nilai "DigitalProductId" dari kunci registri HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion. Saya dapat me-mount partisi Windows yang rusak hanya-baca dari live Ubuntu Ubuntu dan menyalin sarang registri Windows \ System32 \ config \ SOFTWARE, yang berisi kunci & nilai yang dimaksud, ke flash drive, tetapi memuat sarang ini ke regedit pada instalasi Windows yang berfungsi dan kemudian mencoba menggunakan skrip atau utilitas untuk mendekripsi nilai "DigitalProductId" yang dimuat hanya mengembalikan kunci produk instalasi Windows host, tidak peduli berapa banyak saya mengutak-atik. Saya sudah mencoba menghubungi dukungan Microsoft dan mereka agak tidak membantu. Adakah yang bisa membimbing saya lebih jauh? Mungkin jika ada cara berbeda untuk mengambil kunci produk dari Linux?
Jika seseorang yang lebih akrab dengan skrip / kriptografi akan bersedia untuk mencoba dan mengikuti skrip dekripsi untuk mendekripsi kunci produk dengan tangan, saya dapat mengirimi Anda email nilai "DigitalProductId" yang diekspor, kumpulan registri SOFTWARE, dan skrip dekripsi.
Jawaban:
Ada alat hebat yang tersedia untuk Linux
chntpw
. Anda bisa mendapatkannya dengan mudah di Debian / Ubuntu melalui:Untuk melihat ke file registri yang relevan, pasang disk Windows dan buka seperti ini:
Sekarang untuk mendapatkan yang diterjemahkan,
DigitalProductId
masukkan perintah ini:sumber
SOFTWARE
untuk nama file.Bagi yang tidak malu melakukan sedikit coding.
Saya menemukan algoritma sekitar 10 tahun yang lalu dan mengimplementasikannya dalam C # (Lihat di bawah)
Jika Anda hanya ingin menjalankannya di Windows
Saya mengambil kebebasan untuk mengubahnya menjadi skrip PowerShell:
Jalankan ini dan Anda mendapatkan kunci produk Anda. (Jadi tidak ada coding untuk Anda setelah semua)
Pos asli
Jadi ini adalah kode C # aktual yang saya gali dan komentari.
Anda harus melewatinya
Software\Microsoft\Windows NT\CurrentVersion
sebagai Kunci, di mana ia akan menemukanDigitalProductId
Pada saat itu Produk MS Office menggunakan algoritma yang sama, jadi dengan menyediakan fungsi dengan kunci registri yang relevan, ia dapat menghitung kunci produk tersebut juga.
Anda tentu saja dapat memperbaiki fungsi sehingga dibutuhkan array byte sebagai input.
Adapun hari ini. Saya baru saja mengujinya pada Mesin Windows 10 saya, dan masih berfungsi.
sumber
Berikut ini adalah port Python dari jawaban lain (disesuaikan untuk Windows 8.1). Kelebihan dari ini
chntpw
adalah bahwa ia akan bekerja bahkan dengan drive dalam kondisi read-only.Persyaratan:
Kode:
sumber
Inilah implementasi bash saya. Saya menyebutnya get_windows_key.sh berfungsi baik dari clonezilla. Saya awalnya diposting di sini https://sourceforge.net/p/clonezilla/discussion/Open_discussion/thread/979f335385/
sumber