설치된 윈도우 제품키 확인하는 방법
- IT/팁과 강좌
- 2018. 1. 10. 01:12
안녕하세요. RootKR입니다.
윈도우 제품키(시디키)를 분실해서 프로그램을 이용해서 제품키를 찾아야하는 경우가 있는데
블로그상에 배포중인 프로그램은 바이러스 포함되어있을수도있고 배포자에게 전송될까봐 불안할 수 있습니다.
아래 윈도우 내장 스크립터를 이용하면 프로그램 없이 윈도우 제품키(시디키)를 확인할 수 있습니다.
FPP(처음사용자용), DSP, OEM키만 확인가능하며 MAK키는 확인 불가능합니다.
1. 글 마지막에 위치한 윈도우 내장 스크립터를 복사후 메모장에 붙여넣어주세요.
2. 파일, 다른 이름으로 저장(A) 순서대로 클릭후 윈도우 내장 스크립터를 저장해주세요.
3. 파일 형식은 모든 파일(*.*) 선택후 파일이름은 windows-cd-key-check.vbs 입력후 저장(S)버튼을 클릭해주세요.
저장한 윈도우 내장 스크립터를 실행하면 윈도우 제품키(시디키)가 나옵니다.
예(Y) 버튼을 클릭하면 친절하게 윈도우 제품키(시디키)를 저장해줍니다.
윈도우 7, 비스타, XP
Set WshShell = WScript.CreateObject("WScript.Shell")
KeyPath = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"
MsgBox ExtractKey(WshShell.RegRead(KeyPath))
Function ExtractKey(KeyInput)
Const KeyOffset = 52
i = 28
CharWhitelist = "BCDFGHJKMPQRTVWXY2346789"
Do
Cur = 0
x = 14
Do
Cur = Cur * 256
Cur = KeyInput(x + KeyOffset) + Cur
KeyInput(x + KeyOffset) = (Cur \ 24) And 255
Cur = Cur Mod 24
x = x -1
Loop While x >= 0
i = i -1
KeyOutput = Mid(CharWhitelist, Cur + 1, 1) & KeyOutput
If (((29 - i) Mod 6) = 0) And (i <> -1) Then
i = i -1
KeyOutput = "-" & KeyOutput
End If
Loop While i >= 0
ExtractKey = KeyOutput
End Function
윈도우 10, 8.1, 8
Option Explicit
Dim objshell,path,DigitalID, Result
Set objshell = CreateObject("WScript.Shell")
'Set registry key path
Path = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\"
'Registry key value
DigitalID = objshell.RegRead(Path & "DigitalProductId")
Dim ProductName,ProductID,ProductKey,ProductData
'Get ProductName, ProductID, ProductKey
ProductName = "Product Name: " & objshell.RegRead(Path & "ProductName")
ProductID = "Product ID: " & objshell.RegRead(Path & "ProductID")
ProductKey = "Installed Key: " & ConvertToKey(DigitalID)
ProductData = ProductName & vbNewLine & ProductID & vbNewLine & ProductKey
'Show messbox if save to a file
If vbYes = MsgBox(ProductData & vblf & vblf & "Save to a file?", vbYesNo + vbQuestion, "BackUp Windows Key Information") then
Save ProductData
End If
'Convert binary to chars
Function ConvertToKey(Key)
Const KeyOffset = 52
Dim isWin8, Maps, i, j, Current, KeyOutput, Last, keypart1, insert
'Check if OS is Windows 8
isWin8 = (Key(66) \ 6) And 1
Key(66) = (Key(66) And &HF7) Or ((isWin8 And 2) * 4)
i = 24
Maps = "BCDFGHJKMPQRTVWXY2346789"
Do
Current= 0
j = 14
Do
Current = Current* 256
Current = Key(j + KeyOffset) + Current
Key(j + KeyOffset) = (Current \ 24)
Current=Current Mod 24
j = j -1
Loop While j >= 0
i = i -1
KeyOutput = Mid(Maps,Current+ 1, 1) & KeyOutput
Last = Current
Loop While i >= 0
keypart1 = Mid(KeyOutput, 2, Last)
insert = "N"
KeyOutput = Replace(KeyOutput, keypart1, keypart1 & insert, 2, 1, 0)
If Last = 0 Then KeyOutput = insert & KeyOutput
ConvertToKey = Mid(KeyOutput, 1, 5) & "-" & Mid(KeyOutput, 6, 5) & "-" & Mid(KeyOutput, 11, 5) & "-" & Mid(KeyOutput, 16, 5) & "-" & Mid(KeyOutput, 21, 5)
End Function
'Save data to a file
Function Save(Data)
Dim fso, fName, txt,objshell,UserName
Set objshell = CreateObject("wscript.shell")
'Get current user name
UserName = objshell.ExpandEnvironmentStrings("%UserName%")
'Create a text file on desktop
fName = "C:\Users\" & UserName & "\Desktop\WindowsKeyInfo.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
Set txt = fso.CreateTextFile(fName)
txt.Writeline Data
txt.Close
End Function
소스 : VBS Script to get the Windows(R) 7 Product Key from a PC's registry. - https://gist.github.com/eyecatchup/d577a2628666a0ad1375, How to view your product key in Windows 10, Windows 8 and Windows 7 - https://winaero.com/blog/how-to-view-your-product-key-in-windows-10-windows-8-and-windows-7/
감사합니다. 유용한 글이네요.
좋은 정보 감사드립니다. 윈7 CD-key를 윈10에서도 사용 가능하다고 해서 현 윈7에 시험해 봤는데 시리얼 번호가 뜹니다. 시리얼 번호가 보이면 인증 툴을 사용한 게 아닌 정식 사용 가능한 시리얼 번호라고 생각해도 되나요? 윈7 설치 때에 별도 시리얼을 입력하지 않았고 인증 툴도 사용하지 않았습니다. 시간 되시면 답변 부탁 드립니다. 새해 복 많이 받으세요.
감사합니다 프로그램안쓰고 잘찾았어요 굳굳
정말 감사합니다. 좋은글 써주셔서 덕분에 찾았네요
감사합니다.
(키파인더같은) 프로그램 다운받기가 찜찜했는데,
덕분에 잘 확인했습니다.
윈도우 에듀케이션 키 잃어버려서 찾았는데 고맙습니다!
감사합니다!!!!!!!!!!!!!!!!!!
좋은 글 감사합니다 ^^
'문장의 끝이 필요합니다'라면서 오류라고 뜨는데 메모장에 VBS Script to get the Windows(R) 7 Product Key from a PC's registry 이렇게 입력해서 위와 같이 저장했는데 여기서 어떻게 해야 할까요..?
감사합니다 완전 유용해요 !!
매우 감사합니다...정말 좋은 정보네요 (__)
저도 문장이 필요합니다
라고 뜨고 오류나요 ㅠ
정말 감사합니다.
아주 유용하게 잘 사용하였습니다.
스크립트를 어떻게 해야 볼수있나요?
vbs 파일 만들어진걸 스크립트 소스 보고 싶다는 말씀이신가요 ?
첫 이미지에 있는 메모장을 찾고싶어서요 제컴퓨터있는
윈도우 10 기준으로 작업표시줄 검색창에 메모장 검색하시면 메모장 실행됩니다.
스크립트 소스는 게시물 제일 하단에 있습니다.
계속 질문해서 죄송합니다. 스크립터 소스는 어디다가 쳐야 나오나요?
블로그 강좌 그대로 따라해도 어려우신건가요 ?
컴맹이라 이 글 첫 이미지가 이해가 안됩니다ㅜㅜ
메모장 프로그램을 켜시고 게시물 마지막에 있는 스크립트(검은색 바탕, 하얀 글씨)를 그대로 복사해서 붙여 넣으시면 됩니다.
어느정도 이해 했습니다. 문장에 끝이 필요하다고 오류가 뜨는데 해결방법은 없나요?
질문해서 죄송합니다
도대체 윈도우 내장 스크립터가 어디에 있는거죠??,,,ㅜㅜ
파일이름.vbs로 저장한 파일 말하는거에요.