Imports System.Collections.Generic
Imports System.Security.Cryptography
Public Function GenerateBase64(RgbKey As Byte(), rgbIV As Byte(), Key As String, Text As String) As String
Dim rijndaelManaged As RijndaelManaged = New RijndaelManaged() With {.Padding = PaddingMode.Zeros, .Mode = CipherMode.ECB, .KeySize = 256, .BlockSize = 256}
Dim md5CryptoServiceProvider As MD5CryptoServiceProvider = New MD5CryptoServiceProvider()
rijndaelManaged.Key = md5CryptoServiceProvider.ComputeHash(Encoding.ASCII.GetBytes(Key))
Dim cryptoTransform As ICryptoTransform = rijndaelManaged.CreateEncryptor(RgbKey, rgbIV)
Return Convert.ToBase64String(Encoding.ASCII.GetBytes(Convert.ToBase64String(cryptoTransform.TransformFinalBlock(Encoding.ASCII.GetBytes(Text), 0, Encoding.ASCII.GetBytes(Text).Length))))
Public Function CheckIfValid(Name As String, Serial As String, MachineID As String) As List(Of String)
Dim list As List(Of String) = New List(Of String)()
If String.IsNullOrEmpty(Serial) Then
Dim md As MD5 = MD5.Create()
Dim bytes As Byte() = Encoding.ASCII.GetBytes(Me.method_0(md, "LordCoder"))
Dim bytes2 As Byte() = Encoding.ASCII.GetBytes("LORDCODER/REPT")
Dim bytes3 As Byte() = Encoding.ASCII.GetBytes(Me.method_0(md, Me.GenerateBase64(bytes, bytes2, "LordCoder", "019301832034810")))
If String.Equals(Serial, text + Me.GenerateBase64(bytes, bytes3, Me.GenerateBase64(bytes, bytes3, "", "LORDCODER/REPT HAS MADE THIS KEYGEN ME!!"), Name), StringComparison.OrdinalIgnoreCase) Then
Public Function method_0(md5Hash As MD5, input As String) As String
Dim array As Byte() = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(input))
Dim stringBuilder As StringBuilder = New StringBuilder()
For Each b As Byte In array
stringBuilder.Append(b.ToString("x2"))
Return stringBuilder.ToString()
Public Shared Function VerifyMd5Hash(md5Hash As MD5, input As String, hash As String) As Boolean
Dim encryption As Encryption = New Encryption()
Dim text As String = encryption.method_0(md5Hash, input)
Return String.Equals(text, hash, StringComparison.OrdinalIgnoreCase)
Dim encryption As Encryption = New Encryption()
Dim inputString As String = ""
Do While inputString.ToLower() <> "çıkış"
Console.WriteLine("Seri numarasını hesaplamak istediğiniz string'i girin (çıkış için 'çıkış' yazın):")
inputString = Console.ReadLine()
If inputString.ToLower() <> "çıkış" Then
Dim serial As String = "test"
Dim machineName As String = "dotnetfiddle"
Dim result As List(Of String) = encryption.CheckIfValid(inputString, serial, machineName)
Console.WriteLine("You have successfully activated LordCoder's KeygenMe! Now go to the next keygenme!")
ElseIf result(0) = "BAD" Then
Console.WriteLine("Bad, Bad, Bad Serial!!! Please check all signatures for any bug.")
ElseIf result(0) = "Null" Then
Console.WriteLine("You didn't enter any serial!!!")
Dim lordCoderHash As String = encryption.method_0(MD5.Create(), "LordCoder")
Dim reptBytes As Byte() = Encoding.ASCII.GetBytes("LORDCODER/REPT")
Dim firstBase64 As String = encryption.GenerateBase64(Encoding.ASCII.GetBytes(lordCoderHash), reptBytes, "LordCoder", "019301832034810")
Dim secondBase64 As String = encryption.GenerateBase64(Encoding.ASCII.GetBytes(lordCoderHash), Encoding.ASCII.GetBytes(encryption.method_0(MD5.Create(), firstBase64)), encryption.GenerateBase64(Encoding.ASCII.GetBytes(lordCoderHash), Encoding.ASCII.GetBytes(encryption.method_0(MD5.Create(), firstBase64)), "", "LORDCODER/REPT HAS MADE THIS KEYGEN ME!!"), inputString)
Dim calculatedSerial As String = "KSAP" + secondBase64
Console.WriteLine(inputString & " için seri numarası: " & calculatedSerial)