Support Forums
{TUT} Key Finder vb.2008 - Printable Version

+- Support Forums (https://www.supportforums.net)
+-- Forum: Categories (https://www.supportforums.net/forumdisplay.php?fid=87)
+--- Forum: Coding Support Forums (https://www.supportforums.net/forumdisplay.php?fid=18)
+---- Forum: Visual Basic and the .NET Framework (https://www.supportforums.net/forumdisplay.php?fid=19)
+---- Thread: {TUT} Key Finder vb.2008 (/showthread.php?tid=13357)

Pages: 1 2


{TUT} Key Finder vb.2008 - the_legend_nl - 11-01-2010

i didnt saw a tutorial aout this so i thought lets make 1. this is a good tutorial for beginners. i'm sorry my englisch sucks because im dutch.

first of all open visual basics > new project > windows forms aplication

add the following from the toolbox :

1 button
1 textbox
1 label

laat het er ongeveer zo uitzien.

[Image: 339rbmb.png]

call button 1 Find Key

then double click button 1 and add this code.

Code:
textbox1.text = (GetProductKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\", "DigitalProductId"))

then add this code to label 1 this will show your product key.

Code:
Label1.Text = My.Computer.Info.OSFullName

then double click form1 and add the following code to form1.

Code:
Public Function GetProductKey(ByVal KeyPath As String, ByVal ValueName As String) As String
        Dim HexBuf As Object = My.Computer.Registry.GetValue(KeyPath, ValueName, 0)
        If HexBuf Is Nothing Then Return "N/A"
        Dim tmp As String = ""
        For l As Integer = LBound(HexBuf) To UBound(HexBuf)
            tmp = tmp & " " & Hex(HexBuf(l))
        Next
        Dim StartOffset As Integer = 52
        Dim EndOffset As Integer = 67
        Dim Digits(24) As String
        Digits(0) = "B" : Digits(1) = "C" : Digits(2) = "D" : Digits(3) = "F"
        Digits(4) = "G" : Digits(5) = "H" : Digits(6) = "J" : Digits(7) = "K"
        Digits(8) = "M" : Digits(9) = "P" : Digits(10) = "Q" : Digits(11) = "R"
        Digits(12) = "T" : Digits(13) = "V" : Digits(14) = "W" : Digits(15) = "X"
        Digits(16) = "Y" : Digits(17) = "2" : Digits(18) = "3" : Digits(19) = "4"
        Digits(20) = "6" : Digits(21) = "7" : Digits(22) = "8" : Digits(23) = "9"
        Dim dLen As Integer = 29
        Dim sLen As Integer = 15
        Dim HexDigitalPID(15) As String
        Dim Des(30) As String
        Dim tmp2 As String = ""
        For i = StartOffset To EndOffset
            HexDigitalPID(i - StartOffset) = HexBuf(i)
            tmp2 = tmp2 & " " & Hex(HexDigitalPID(i - StartOffset))
        Next
        Dim KEYSTRING As String = ""
        For i As Integer = dLen - 1 To 0 Step -1
            If ((i + 1) Mod 6) = 0 Then
                Des(i) = "-"
                KEYSTRING = KEYSTRING & "-"
            Else
                Dim HN As Integer = 0
                For N As Integer = (sLen - 1) To 0 Step -1
                    Dim Value As Integer = ((HN * 2 ^ 8) Or HexDigitalPID(N))
                    HexDigitalPID(N) = Value \ 24
                    HN = (Value Mod 24)
                Next
                Des(i) = Digits(HN)
                KEYSTRING = KEYSTRING & Digits(HN)
            End If
        Next
        Return StrReverse(KEYSTRING)
    End Function


de hele code zou er zo uit moeten zien.

Code:
Public Class Form1
    Public Function GetProductKey(ByVal KeyPath As String, ByVal ValueName As String) As String
        Dim HexBuf As Object = My.Computer.Registry.GetValue(KeyPath, ValueName, 0)
        If HexBuf Is Nothing Then Return "N/A"
        Dim tmp As String = ""
        For l As Integer = LBound(HexBuf) To UBound(HexBuf)
            tmp = tmp & " " & Hex(HexBuf(l))
        Next
        Dim StartOffset As Integer = 52
        Dim EndOffset As Integer = 67
        Dim Digits(24) As String
        Digits(0) = "B" : Digits(1) = "C" : Digits(2) = "D" : Digits(3) = "F"
        Digits(4) = "G" : Digits(5) = "H" : Digits(6) = "J" : Digits(7) = "K"
        Digits(8) = "M" : Digits(9) = "P" : Digits(10) = "Q" : Digits(11) = "R"
        Digits(12) = "T" : Digits(13) = "V" : Digits(14) = "W" : Digits(15) = "X"
        Digits(16) = "Y" : Digits(17) = "2" : Digits(18) = "3" : Digits(19) = "4"
        Digits(20) = "6" : Digits(21) = "7" : Digits(22) = "8" : Digits(23) = "9"
        Dim dLen As Integer = 29
        Dim sLen As Integer = 15
        Dim HexDigitalPID(15) As String
        Dim Des(30) As String
        Dim tmp2 As String = ""
        For i = StartOffset To EndOffset
            HexDigitalPID(i - StartOffset) = HexBuf(i)
            tmp2 = tmp2 & " " & Hex(HexDigitalPID(i - StartOffset))
        Next
        Dim KEYSTRING As String = ""
        For i As Integer = dLen - 1 To 0 Step -1
            If ((i + 1) Mod 6) = 0 Then
                Des(i) = "-"
                KEYSTRING = KEYSTRING & "-"
            Else
                Dim HN As Integer = 0
                For N As Integer = (sLen - 1) To 0 Step -1
                    Dim Value As Integer = ((HN * 2 ^ 8) Or HexDigitalPID(N))
                    HexDigitalPID(N) = Value \ 24
                    HN = (Value Mod 24)
                Next
                Des(i) = Digits(HN)
                KEYSTRING = KEYSTRING & Digits(HN)
            End If
        Next
        Return StrReverse(KEYSTRING)
    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MsgBox(GetProductKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\", "DigitalProductId"))
    End Sub

    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
        Label1.Text = My.Computer.Info.OSFullName
    End Sub
End Class

all done now you build your own key finder.


RE: {TUT} Key Finder vb.2008 - Arеs - 11-01-2010

Awesome thread, I don't really code in Visual Basic something big, but I can learn this.


RE: {TUT} Key Finder vb.2008 - the_legend_nl - 11-01-2010

(11-01-2010, 08:25 AM)Firas™ Wrote: Awesome thread, I don't really code in Visual Basic something big, but I can learn this.

thanks im glad i can help Smile


RE: {TUT} Key Finder vb.2008 - Marik™ - 11-04-2010

I needed a function that decrypts the digital key, and here I got it. Thanks.


RE: {TUT} Key Finder vb.2008 - the_legend_nl - 11-04-2010

(11-04-2010, 05:57 AM)Marik™ Wrote: I needed a function that decrypts the digital key, and here I got it. Thanks.

no thanks glad i could help


RE: {TUT} Key Finder vb.2008 - Marik™ - 11-04-2010

Maybe you could make one for Office 2010?


RE: {TUT} Key Finder vb.2008 - the_legend_nl - 11-04-2010

(11-04-2010, 11:26 AM)Marik™ Wrote: Maybe you could make one for Office 2010?

yeah sure i will get right on it Smile


RE: {TUT} Key Finder vb.2008 - Marik™ - 11-04-2010

Alright, mind if you PM me right after you complete it?
Thanks.


RE: {TUT} Key Finder vb.2008 - the_legend_nl - 11-05-2010

(11-04-2010, 11:53 AM)Marik™ Wrote: Alright, mind if you PM me right after you complete it?
Thanks.

yes ofcourse i will pm you after i finished.


RE: {TUT} Key Finder vb.2008 - fas - 11-05-2010

Hi, This is FANTASTIC, thanks a lot for the code.Yeye
would it be possbile to get the Office 2010 keys?
thanks