Cara mengetahui kunci Windows 8

Pada artikel ini kita akan berbicara tentang bagaimana Anda bisa mengetahui kunci Windows 8 yang dengannya sistem diaktifkan. Ingatlah bahwa di Windows 8, seperti pada sistem operasi sebelumnya dari keluarga Microsoft, kunci produk adalah urutan 25 karakter, dibagi menjadi 5 grup masing-masing 5 karakter (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX) Kunci ini digunakan untuk mengaktifkan semua versi Windows 8.

Saat mengaktifkan Windows 8, Anda perlu mempertimbangkan hal-hal berikut:

  • Kunci Windows 8 hanya dapat digunakan untuk mengaktifkan edisi Windows 8 yang dimaksudkan, dan bukan untuk yang lain (mis., Menggunakan kunci Windows 8 Pro tidak akan berfungsi untuk mengaktifkan Windows 8 home).
  • OEM kunci dapat digunakan untuk mengaktifkan salinan OEM Windows 8 pada komputer yang sama dengan yang pertama kali diaktifkan dan tidak ada yang lain
  • Kuncinya eceran Anda dapat mengaktifkan Windows 8 di komputer mana saja, tetapi hanya di satu per satu

Setelah pembelian eceran versi Windows 8, kunci produk datang dalam bentuk stiker yang dapat direkatkan ke unit sistem atau laptop, jika Anda membeli perangkat dengan Windows 8 yang sudah diinstal sebelumnya,  OEM- kunci sudah terpaku pada case perangkat. Stiker ini disebut Sertifikat Keaslian (COA).

Namun, sering terjadi bahwa karena beberapa "alasan tragis", teks pada stiker berlisensi tersebut menjadi tidak dapat dibaca (kopi tumpah, digosokkan pada lutut, hilang begitu saja, dll.). Bagaimana, dalam kasus ini, Anda dapat menemukan kunci Windows 8 secara terprogram sehingga Anda dapat mengaktifkannya kembali nanti ketika menginstal ulang sistem? Selain itu, mungkin perlu memeriksa sistem untuk perizinan dan kebetulan kunci yang dipasang dalam sistem dan kunci pada stiker.

Kunci aktivasi Windows 8 disimpan dalam registri, tetapi tidak dalam teks biasa, tetapi dalam terenkripsi (penyandian base 24) Dan pada prinsipnya, dapat diekstraksi dari sana, didekripsi, dan disalin ke selembar kertas. Informasi kunci disimpan dalam kunci registri HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ DigitalProductId, kita hanya perlu mengekstrak dan mendekripsi.

Secara umum, kunci yang diaktifkan dapat diambil melalui WMI. Anda dapat melakukan ini tanpa menggunakan program pihak ketiga menggunakan alat yang sudah tersedia di Windows 8: VBScrit dan Powershell. Di bawah ini adalah kedua cara untuk menentukan kunci Windows 8.

Dapatkan Kunci Aktivasi Windows 8 Menggunakan VBScript

  1. Buat file teks baru dengan nama get_windows_8_key.vbs dan simpan ke desktop Anda
  2. Rekatkan kode berikut ke dalamnya
    Set WshShell = CreateObject ("WScript.Shell") regKey = "HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \" DigitalProductId = WshShell.RegRead (regKey & "DigitalProductId") Win8ProductName = "Nama Produk Windows:" & W (RegKey & "ProductName") & vbNewLine Win8ProductID = "Windows ID Produk:" & WshShell.RegRead (RegKey & "ProductID") & vbNewLine Win8ProductKey = ConvertToKey (DigitalProductID) strProductKey = "Windows 8 Key:" & Win8ProductKey Win8ProductID = Win8ProductName & Win8ProductID & strProductKey MsgBox (Win8ProductKey) MsgBox (Win8ProductID) Fungsi ConvertToKey (regKey) Const KeyOffset = 52 isWin8 = (regKey (66) \ 6) Dan 1 regKey (66) = (regKey (66) = & (WW)) 2) * 4) j = 24 Chars = "BCDFGHJKMPQRTVWXY2346789" Do Cur = 0 y = 14 Do Cur = Cur * 256 Cur = regKey (y + KeyOffset) + Reg regKey (y + KeyOffset) = (Cur \ 24) Cur = Cur Mod 24 y = y -1 Loop While y> = 0 j = j -1 winKeyOutput = Mid (Chars, Cur + 1, 1) & winKeyOutput Last = Cur Loop Sementara j> = 0 If (is Win8 = 1) Kemudian keypart1 = Pertengahan (winKeyOutput, 2, Terakhir) masukkan = "N" winKeyOutput = Ganti (winKeyOutput, keypart1, keypart1 & masukkan, 2, 1, 0) Jika Terakhir = 0 Kemudian winKeyOutput = masukkan & winKeyOutput Berakhir Jika a = Mid (winKeyOutput, 1, 5) b = Mid (winKeyOutput, 6, 5) c = Mid (winKeyOutput, 11, 5) d = Mid (winKeyOutput, 16, 5) e = Mid (winKeyOutput, 21, 5) ConvertToKey = a & "-" & b & "-" & c & "-" & d & "-" & e Fungsi Akhir
  3. Klik dua kali pada file, setelah itu akan muncul jendela dengan kunci produk yang ditampilkan di dalamnya. Dalam kasus kami, sistem diaktifkan oleh kunci Windows 8 Release Preview.

Skrip vbs siap dapat diunduh di sini: get_windows_8_key_vbs.zip.

Cara mengetahui kunci aktivasi Windows 8 menggunakan Powershell

Anda juga dapat menemukan kunci Windows 8 yang diinstal menggunakan Powerhell.

  1. Buat file dengan ekstensi get_windows_8_key.ps1 dan salin kode berikut ke dalamnya:
    fungsi Get-WindowsKey ## dapatkan Kunci Produk Windows dari param PC manapun ($ target = ".") $ hklm = 2147483650 $ regPath = "Perangkat Lunak \ Microsoft \ Windows NT \ CurrentVersion" $ regValue = "DigitalProductId" Foreach ($ target dalam $ target) $ productKey = $ null $ win32os = $ null $ wmi = [WMIClass] "\\ $ target \ root \ default: stdRegProv" $ data = $ wmi.GetBinaryValue ($ hklm, $ regPath, $ regValue ) $ binArray = ($ data.uValue) [52 ... 66] $ charsArray = "B", "C", "D", "F", "G", "H", "J", "K", "K", "M", "P", "Q", "R", "T", "V", "W", "X", "Y", "2", "3", "4", "6 "," 7 "," 8 "," 9 "## mendekripsi base24 data biner yang dikodekan Untuk ($ i = 24; $ i -ge 0; $ i--) $ k = 0 Untuk ($ j = 14; $ j -ge 0; $ j--) $ k = $ k * 256 -bxor $ binArray [$ j] $ binArray [$ j] = [math] :: truncate ($ k / 24) $ k = $ k% 24 $ productKey = $ charsArray [$ k] + $ productKey If (($ i% 5 -eq 0) -dan ($ i -ne 0)) $ productKey = "-" + $ productKey $ win32os = Get-WmiObject Win32_OperatingSystem -computer $ target $ obj = Obyek-Objek Baru $ obj | Add-Member Noteproperty Computer -nilai $ target $ obj | Add-Member Noteproperty Caption -nilai $ win32os.Caption $ obj | Tambah-Anggota Noteproperty CSDVersion -nilai $ win32os.CSDVersion $ obj | Tambah Anggota Noteproperty OSArch -nilai $ win32os.OSArchitecture $ obj | Tambah-Anggota Noteproperty BuildNumber -nilai $ win32os.BuildNumber $ obj | Add-Member Noteproperty RegisteredTo -nilai $ win32os.RegisteredUser $ obj | Add-Member Noteproperty ProductID -nilai $ win32os.SerialNumber $ obj | Add-Member Noteproperty Productey -nilai $ productkey $ obj
  2. Jalankan command prompt dengan hak administrator dan jalankan perintah powershell di dalamnya untuk membuka konsol PoSh
  3. Di jendela yang muncul, Anda harus mengaktifkan eksekusi skrip yang tidak ditandatangani dengan perintah:
    Set-ExecutionPolicy RemoteSigned
  4. Jalankan perintah
    Modul Impor d: \ myfile.ps1; Dapatkan-windowskey
  5. Akibatnya, kunci Windows yang diinstal akan ditampilkan di jendela Powershell
  6. Jika Anda perlu menemukan kunci aktivasi di komputer jarak jauh, gunakan perintah Get-WindowsKey "computer1", "serv-dc2", "romp-buh02"

Skrip PowerShell yang sudah selesai ada di sini: get_windows_8_key_ps.zip

Versi lain dari skrip Powershell dari komentar dari akaNeo

   
## Deklarasi fungsi untuk mendapatkan kunci produk Windows ## Skrip ini dirancang oleh PowerShell versi 2.0 (relevan untuk semua versi Windows) Fungsi Get-WindowsProduct ## Fungsi mengembalikan kunci Windows yang diinstal dari mesin apa pun pada jaringan, plus info singkat tentang versi yang diinstal. Panggilan tanpa kunci melibatkan pengaksesan param host ($ Target = [System.Net.Dns] :: GetHostName ()) fungsi PIDDecoderFromRegistry ($ digitalProductId) Variabel -Name baru base24 -Value 'BCDFGHJKMPQRTVWXY2346789' ## -Otion Const ## karakter yang digunakan dalam kunci produk Windows dan Office Baru-Variabel -Nama decodePanjang -Nilai 14 ## -Opsi Const ## Panjang kunci terenkripsi Baru-Variabel -Nama decodePanjang -Nilai 14 ## -Opsi Const ## Panjang kunci terenkripsi produk dalam byte (karakter disimpan dalam camilan) New-Variable -Name decodedKey -Value ([System.String] :: Empty) ## String yang berisi kunci produk yang didekripsi ## Memeriksa apakah kunci produk mengandung 'N' (ini dimungkinkan untuk Windows 8 Office 15) $ berisiN = ($ digitalProductId [$ decodeLength] / 8) -bDan 1 ## ($ digitalProductId [$ decodeLength] -shr 3) -bAnd 1 ## PS 4.0 $ digitalProductId [$ decodeLength] = [System.Byte ] ($ digitalProductId [$ decodeLength] -bDan [System.Convert] :: ToByte ('F7', 16)) ## 247 ## Proses dekripsi sendiri untuk ($ i = $ decodeStringLength; $ i -ge 0; $ i--) $ digitMapIndex = 0 untuk ($ j = $ decodeLength; $ j -ge 0; $ j--) $ digitMapIndex = $ digitMapIndex * 256 -bXor $ digitalProductId [$ j] ## $ digitMapIndex - shl 8 -bXatau $ digitalProductId [$ j] ## PS 4.0 $ digitalProductId [$ j] = [System.Math] :: Truncate ($ digitMapIndex / $ base24.Length) $ digitMapIndex = $ digitMapIndex% $ base24.Length $ decodedKey = $ decodedKey.Insert (0, $ base24 [$ digitMapIndex]) ## Menghapus karakter pertama di kunci dan meletakkan 'N' di posisi yang diinginkan jika ([System.Boolean] $ berisiN) $ firstLetterIndex = 0 untuk ($ index = 0; $ index -lt $ decodeStringLength; $ index ++) if ($ decodedKey [0] -ne $ base24 [$ index]) continue $ firstLetterIndex = $ index break $ keyWithN = $ decodedKey $ keyWithN = $ keyWithN.Hapus (0, 1) $ keyWithN = $ keyWithN.Substring (0, $ firstLetterIndex) + 'N' + $ keyWithN.Hapus (0, $ firstLetterIndex) $ decodedKey = $ keyWithN;  $ returnValue = $ decodedKey ## Menyisipkan tanda hubung setiap lima karakter untuk ($ t = 20; $ t -ge 5; $ t - = 5) $ returnValue = $ returnValue.Insert ($ t, '-') return $ returnValue ## Utama Baru-Variabel -Nama hklm -Value 2147483650 ## -Opsi Const Baru-Variabel -Nama regPath -Nilai 'Perangkat Lunak \ Microsoft \ Windows NT \ CurrentVersion' ## -Opsi Const Baru-Variabel-regregame -Nilai 'DigitalProductId' ## -Opsi Const Foreach ($ target dalam $ Target) $ win32os = $ null $ wmi = [WMIClass] "\\ $ target \ root \ default: stdRegProv" $ binArray = $ wmi.GetBinaryValue ( $ hklm, $ regPath, $ regValue) .uValue [52 ... 66] $ win32os = Get-WmiObject -Class 'Win32_OperatingSystem' -ComputerName $ target $ product = New-Object -TypeName System.Object ## Constructor $ product | Add-Member -MemberType 'NoteProperty' -Name 'Computer' -Nilai $ target $ produk | Add-Member -MemberType 'NoteProperty' -Name 'Caption' -Nilai $ win32os.Caption $ produk | Add-Member -MemberType 'NoteProperty' -Name 'CSDVersion' -Nilai $ win32os.CSDVersion $ produk | Add-Member -MemberType 'NoteProperty' -Name 'OSArch' -Nilai $ win32os.OSArchitecture $ produk | Add-Member -MemberType 'NoteProperty' -Name 'BuildNumber' -Nilai $ win32os.BuildNumber $ produk | Add-Member -MemberType 'NoteProperty' -Name 'RegisteredTo' -Nilai $ win32os.RegisteredUser $ product | Add-Member -MemberType 'NoteProperty' -Name 'ProductID' -Nilai $ win32os.SerialNumber $ produk | Add-Member -MemberType 'NoteProperty' -Name 'ProductKey' -Value (PIDDecoderFromRegistry ($ binArray)) Write-Output $ product ## End Get-WindowsProduct