DomaiNesia

Cara Terbaru Membuat Serial Number Menggunakan Visual Basic ( VB ) 6.0 Versi Ke 2


Cara Terbaru Membuat Serial Number Menggunakan Visual Basic ( VB ) 6.0 Versi Ke 2 - Sebelumnya saya sudah share tentang Cara Membuat Serial Number (SN) Menggunakan Nama di Visual Basic 6.0, Nah kali ini saya akan share tentang Cara Terbaru Membuat Serial Number Menggunakan Visual Basic ( VB ) 6.0 Versi Ke 2, Sebenarnya cara ini sama saja dengan cara sebelumnya cuma perbedaan disini saya sedikit merubah kode untuk di bagian Serial Numbernya. Karena dengan cara ini nanti Serial Number yang keluar akan berbeda dengan cara sebelumnya, jika sebelumnya menggunakan gabungan kali ini Serial Number yang keluar yaitu berbentuk empat ( 4 ) angka dan terdapat Alfabetnya yang terbagi menjadi 4 bagian, contoh hasilnya seperti ini : 7B65-2217-51C5-981Z.

Fungsi Menggunakan Serial Number

Tidak lain fungsi dari menggunakan Serial Number yaitu untuk melindungi software atau aplikasi yang kita buat dan kita jual, artinya dengan menggunakan Serial Number maka hanya dari pembeli yang bisa menggunakan software atau aplikasi yang kita jual atau bisa juga hanya sekedar mengamankan software atau aplikasi kita dari tangan jahil.

Kalau saya sendiri biasanya menggunakan 2 perlindungan yaitu menggunakan Serial Number dan menggunakan Serial HWID, artinya dengan menggunakan 2 perlindungan tersebut maka hanya pengguna pembeli yang benar - benar memakai software atau aplikasi kita.

Cara Membuat Serial Number

Untuk cara pembuatannya cukup mudah dan yang perlu kalian siapkan hanya sebuah Form dan Modul saja. Simak di bawah ini :

  • Buka Visual Basic kalian atau jika kalian sudah punya project kalian buka dan buat form baru

Siapkan :

Textbox1  :
(Name) = TxtName
aligntment = 2-center
text = Username

TextBox2  :
(Name) = TxtKey
aligntment = 2-center
text = Serial Number

CommandButton :
(Name) = Command1
Caption = Get Key

Label1 :
(Name) = Label1
Caption = Nama

Label2 :
(Name) = Label2
Caption = Hasil Key

  • Buatlah seperti gambar di bawah ini 


  • Klik kanan pada form tersebut dan pilih View Code
  • Masukan kode di bawah ini kedalam form kode tersebut
Private Sub Command1_Click()
TxtKey.Text = KeyGen(TxtName.Text, "CONTOH KEYGEN", 3)
End Sub
Private Sub TxtKey_Change()
KeyAscii = Asc(UCase(Chr(KeyAscii)))
Dim sTemplate As String
sTemplate = "!#$%^&*+='~`{}\/"
If InStr(1, sTemplate, Chr(KeyAscii)) > 0 Then
    KeyAscii = 0
End If
End Sub
Private Sub TxtName_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
Dim sTemplate As String
sTemplate = "!#$%^&*+='~`{}\/"
If InStr(1, sTemplate, Chr(KeyAscii)) > 0 Then
    KeyAscii = 0
End If
  • Jika sudah buatlah modul dengan nama modkeygen dan masukan kode di bawah ini kedalam form modul tersebut
Option Explicit
Function KeyGen(kNamev As Variant, kPass As String, kType As Integer) As String
On Error Resume Next         'still here just as a precaution
Dim cTable(512) As Integer   'character map
Dim nKeys(16) As Integer     'xor keys used for pArray(x) xor nkeys(x)
Dim s0(512) As Integer       'swap-box data used to map character table
Dim nArray(16) As Integer    'name array data
Dim pArray(16) As Integer    'password array data
Dim n As Integer             'for next loop counter
Dim nPtr As Integer          'name pointer (used for counting)
Dim cPtr As Integer          'character pointer (used for counting)
Dim cFlip As Boolean         'character flip (used to flip between numeric and alpha)
Dim sIni As Integer          'holds s-box values
Dim temp As Integer          'holds s-box values
Dim rtn As Integer           'holds generated key values used agains chr map
Dim gKey As String           'generated key as string
Dim nLen As Integer          'number of chr's in name
Dim pLen As Integer          'number of chr's in password
Dim kPtr As Integer          'key pointer
Dim sPtr As Integer          'space pointer (used in hex key)
Dim nOffset As Integer       'name offset
Dim pOffset As Integer       'password offset
Dim tOffset As Integer       'total offset
Dim KeySize As Integer       'the size of the key to make
Const nXor As Integer = 18   'name xor value
Const pXor As Integer = 25   'password xor value
Const cLw As Integer = 65    'character lower limit 65 = A ** do not change **
Const nLw As Integer = 48    'number lower limit 48 = 0 ** do not change **
Const sOffset As Integer = 0 'character map offset
Dim VarType As String
Dim kName As String
Dim AryCtl As Integer
Dim AryCtrl As Control
VarType = TypeName(kNamev)
Select Case VarType
    Case "String"
        kName = kNamev
    Case "TextBox"
        kName = kNamev.Text
    Case "Object"
        For Each AryCtrl In kNamev
            If AryCtrl.Text <> "" Then
                kName = kName & AryCtrl.Text & "|"
            End If
        Next
        kName = Left(kName, Len(kName) - 1)
    Case "String()"
        For AryCtl = LBound(kNamev) To UBound(kNamev)
            If kNamev(AryCtl) <> "" Then
                kName = kName & kNamev(AryCtl) & "|"
            End If
        Next
        kName = Left(kName, Len(kName) - 1)
        Case Else
            MsgBox VarType & " is an unsupported type to be passed to KeyGen"
End Select
'****************************************************************************
nLen = Len(kName)
pLen = Len(kPass)
'password xor keys ** change to make keygen unique **
nKeys(1) = 46
nKeys(2) = 89
nKeys(3) = 142
nKeys(4) = 63
nKeys(5) = 231
nKeys(6) = 32
nKeys(7) = 129
nKeys(8) = 51
nKeys(9) = 28
nKeys(10) = 97
nKeys(11) = 248
nKeys(12) = 41
nKeys(13) = 136
nKeys(14) = 53
nKeys(15) = 78
nKeys(16) = 164
sIni = 0
'set s boxes
For n = 0 To 512
    s0(n) = n
Next n
For n = 0 To 512
    sIni = (sOffset + sIni + n) Mod 256
    temp = s0(n)
    s0(n) = s0(sIni)
    s0(sIni) = temp
Next n
If kType = 1 Then       '(numeric)

    nPtr = 0
    KeySize = 16
    gKey = String(16, " ")

    For n = 0 To 512
        cTable(s0(n)) = (nLw + (nPtr))
        nPtr = nPtr + 1
        If nPtr = 10 Then nPtr = 0
    Next n


ElseIf kType = 2 Then   '(alphanumeric)

    nPtr = 0
    cPtr = 0
    KeySize = 16
    gKey = String(16, " ")

    cFlip = False
    For n = 0 To 512
        If cFlip Then
            cTable(s0(n)) = (nLw + nPtr)
            nPtr = nPtr + 1
            If nPtr = 10 Then nPtr = 0
            cFlip = False
        Else
            cTable(s0(n)) = (cLw + cPtr)
            cPtr = cPtr + 1
            If cPtr = 26 Then cPtr = 0
            cFlip = True
        End If
    Next n



Else  '(hex)
    KeySize = 8
    gKey = String(19, " ")

End If
kPtr = 1
For n = 1 To nLen 'name
  nArray(kPtr) = nArray(kPtr) + Asc(Mid(kName, n, 1)) Xor nXor
  nOffset = nOffset + nArray(kPtr)
  kPtr = kPtr + 1
    If kPtr = 9 Then kPtr = 1
Next n
For n = 1 To pLen 'password
  pArray(kPtr) = pArray(kPtr) + Asc(Mid(kPass, n, 1)) Xor pXor
  pOffset = pOffset + pArray(kPtr)
  kPtr = kPtr + 1
    If kPtr = 9 Then kPtr = 1
Next n
tOffset = (nOffset + pOffset) Mod 512
kPtr = 1
sPtr = 1
For n = 1 To KeySize
  pArray(n) = pArray(n) Xor nKeys(n)
  rtn = Abs(((nArray(n) Xor pArray(n)) Mod 512) - tOffset)
  If kType = 3 Then 'hex key
        If rtn < 16 Then
            Mid(gKey, kPtr, 2) = "0" & Hex(rtn)
        Else
            Mid(gKey, kPtr, 2) = Hex(rtn)
        End If
            If sPtr = 2 And kPtr < 18 Then
                kPtr = kPtr + 1
                Mid(gKey, kPtr + 1, 1) = "-"
            End If
        kPtr = kPtr + 2
        sPtr = sPtr + 1
        If sPtr = 3 Then sPtr = 1
  Else  'numeric - alphanumeric key
    Mid(gKey, n, 1) = Chr(cTable(rtn))
  End If
Next
KeyGen = gKey
  • Klik simpan dan jalankan programnya maka program tersebut akan berjalan.
Nah seperti itulah Cara Terbaru Membuat Serial Number Menggunakan Visual Basic ( VB ) 6.0 Versi Ke 2, sangat mudah dan gampang tapi jika kalian mau mencoba hasil punya saya silahkan download di bawah ini secara gratis.

Sebenarnya dari cara pertama dan cara kedua fungsinya tidak jauh berbeda hanya saja ada perubahan saat Serial Number keluar, cara ini sangat efektif dan lebih keliahatan profesional. Silahkan kembangkan dan berkreasi lagi dengan apa yang sudah saya share.

Seperti itulah Cara Terbaru Membuat Serial Number Menggunakan Visual Basic ( VB ) 6.0 Versi Ke 2, jika ada yang salah mohon koreksinya dan selamat berkreasi.
Seseorang yang lebih suka menulis dan membagikan apa yang di tuliskan agar dunia tahu.
  • Facebook
  • WhatsApp
  • Instagram
  • Tampilkan Komentar
    Sembunyikan Komentar

    Belum ada Komentar untuk "Cara Terbaru Membuat Serial Number Menggunakan Visual Basic ( VB ) 6.0 Versi Ke 2"

    Posting Komentar

    Iklan Atas Artikel

    Iklan Tengah Artikel 1

    Iklan Tengah Artikel 2

    Iklan Bawah Artikel