كود :
Imports System.Management
Module ModReg
Public Function GetComputerCode() As String
On Error Resume Next
Dim Searcher As ManagementObjectSearcher
Dim Encrypt As String = ""
Dim Idp As String = ""
Dim Code As String = ""
Searcher = New ManagementObjectSearcher("Select ProcessorId From Win32_Processor")
For Each Device As ManagementObject In Searcher.Get
For Each Prop As PropertyData In Device.Properties
Idp = (Prop.Value.ToString)
Next
Next
Encrypt = EncryptingData(Idp, 17)
For I As Integer = 0 To Idp.Length - 1
Code += Idp(I) & Encrypt(I)
Next
Return Code
End Function
Public Function GetRegCode(ByVal Code As String) As String
On Error Resume Next
Dim Idp As String = ""
Dim Encrypt As String = ""
Dim UnCode As String = ""
For I As Integer = 0 To Code.Length - 1 Step 2
Idp += Code(I)
Encrypt += Code(I + 1)
Next
For I As Integer = 0 To Idp.Length - 1
UnCode += Obfuscate(Idp)(I) & Obfuscate(Encrypt)(I)
Next
Return ReplaceOem(UnCode)
End Function
Private Function EncryptingData(ByVal DataString As String, ByVal Key As Integer) As String
On Error Resume Next
Dim Ch As Char() = DataString.ToCharArray
Dim sb As New System.Text.StringBuilder
For i As Integer = 0 To Ch.Length - 1
sb.Append(Convert.ToChar(Convert.ToInt64(Ch(i)) + Key))
Next
Return sb.ToString
End Function
Private Function Obfuscate(ByVal origText As String) As String
On Error Resume Next
Dim textBytes As Byte() = System.Text.Encoding.Unicode.GetBytes(origText)
For counter As Integer = 0 To textBytes.Length - 1
If (textBytes(counter) > 31) And (textBytes(counter) < 127) Then
textBytes(counter) += CByte(counter Mod 31 + 1)
If (textBytes(counter) > 126) Then textBytes(counter) -= CByte(95)
End If
Next counter
Return System.Text.Encoding.Unicode.GetChars(textBytes)
End Function
Private Function ReplaceOem(ByVal Str As String) As String
Str = Replace(Str, "`", "0")
Str = Replace(Str, "]", "1")
Str = Replace(Str, "[", "2")
Str = Replace(Str, "'", "3")
Str = Replace(Str, "\", "4")
Str = Replace(Str, ";", "5")
Str = Replace(Str, "/", "6")
Str = Replace(Str, ".", "7")
Str = Replace(Str, ",", "8")
Str = Replace(Str, "}", "9")
Str = Replace(Str, "{", "10")
Str = Replace(Str, "<", "11")
Str = Replace(Str, ">", "12")
Str = Replace(Str, "?", "13")
Str = Replace(Str, "~", "14")
Str = Replace(Str, "=", "15")
Str = Replace(Str, "+", "16")
Str = Replace(Str, "-", "17")
Str = Replace(Str, "_", "18")
Str = Replace(Str, """", "19")
Str = Replace(Str, "*", "20")
Str = Replace(Str, "&", "21")
Str = Replace(Str, "^", "22")
Str = Replace(Str, "%", "23")
Str = Replace(Str, "$", "24")
Str = Replace(Str, "#", "25")
Str = Replace(Str, "@", "26")
Str = Replace(Str, "!", "27")
Return Str
End Function
End Module
بعد الانتهاء وعمل Build قم بتشفير برنامجك بأحد برامج التشفير (مثل .Net Reactor) لكي لا يتم سرقت الأوامر