Home > Visual Basic > Memanfaatkan library IKG untuk membuat aktivasi + keygen

Memanfaatkan library IKG untuk membuat aktivasi + keygen

May 31, 2010

Sebelumnya saya ucapkan terima kasih kepada salah seorang pengunjung blog saya yang sudah memberikan koreksi pada salah satu artikel saya yang berjudul Menambahkan serial number pada paket instalasi (inno setup).

Karena adanya koreksi itu saya jadi punya ide untuk menulis artikel ini😀

Oke kita langsung saja, file library yang akan kita gunakan disini adalah IKGCG.DLL (untuk generate serial number) dan ISID.DLL (untuk melakukan validasi serial number)

Langkah awal sebelum kita masuk ke bagian kode program adalah membuat file Inno Key yang berfungsi sebagai public key yang akan kita distribusikan bersama aplikasi.

Bagaimana cara membuat file Inno Key ini, Anda bisa merujuk ke artikel saya yang berjudul Menambahkan serial number pada paket instalasi (inno setup).

1. Membuat Form Keygen
Buat project baru kemudian desain tampilan seperti gambar berikut :

download file IKGCG.rar, ekstrak dan copykan ke folder project. Berikut adalah source code lengkapnya :

Option Explicit

Private Declare Function GenerateSerialNumber Lib "IKGCG.DLL" (ByVal innoKeyFile As String, ByVal User As String, ByVal Orgn As String, ByVal ProdCode As String, ByVal HDD As String, ByVal MAC As String, ByVal privateKey As String, ByVal UnlockCode As String) As Boolean

Private Function getSerialNumber(ByVal registeredName As String, ByVal organisation As String) As String
    Dim innoKeyFile     As String
    Dim privateKey      As String
    Dim serialNumber    As String * 12
    Dim ret             As Boolean

    innoKeyFile = App.Path & "\key.iky"
    privateKey = "3D07966E-9AB4-4EBE-BF41-91C2D6611AC0" 'nilai ini didapat pada saat pembuatan file inno key

    ret = GenerateSerialNumber(innoKeyFile, registeredName, organisation, "", "", "", privateKey, serialNumber)
    getSerialNumber = serialNumber
End Function

Private Sub cmdGenerate_Click()
    txtSerialNumber.Text = getSerialNumber(txtRegisteredName.Text, txtOrganisation.Text)
End Sub

Hal penting yang perlu diperhatikan pada source code diatas adalah nilai variabel privateKey, nilai ini harus sama dengan nilai PRIVATE KEY pada saat membuat file Inno Key

2. Membuat Form Aktivasi

Setelah kita selesai mendesain tampilan seperti gambar diatas download file ISID.rar, ekstrak dan copykan ke folder project. Berikut kode lengkapnya :

Option Explicit

Private Declare Function ValidateSerialNumber Lib "ISID.DLL" (ByVal innoKeyFile As String, ByVal User As String, ByVal Orgn As String, ByVal ProdCode As String, ByVal HDD As String, ByVal MAC As String, ByVal privateKey As String, ByVal Serial As String) As Boolean

Public Function isValidSerialNumber(ByVal registeredName As String, ByVal organisation As String, ByVal serialNumber As String) As Boolean
    Dim innoKeyFile     As String
    Dim privateKey      As String
    Dim ret             As Boolean

    innoKeyFile = App.Path & "\key.iky"
    privateKey = "3D07966E-9AB4-4EBE-BF41-91C2D6611AC0" 'nilai ini didapat pada saat pembuatan file inno key

    isValidSerialNumber = ValidateSerialNumber(innoKeyFile, registeredName, organisation, "", "", "", privateKey, serialNumber)
End Function

Public Sub Main()
    Dim registeredName  As String
    Dim organisation    As String
    Dim serialNumber    As String

    registeredName = GetSetting("MyApp", "Aktivasi", "RegisteredName", "")
    organisation = GetSetting("MyApp", "Aktivasi", "Organisation", "")
    serialNumber = GetSetting("MyApp", "Aktivasi", "SerialNumber", "")

    If isValidSerialNumber(registeredName, organisation, serialNumber) Then
        'TODO : tampilkan form utama
    Else
        frmAktivasi.Show
    End If
End Sub

Selanjutnya tinggal pangil di form aktivasi seperti berikut :

Option Explicit

Private Sub cmdOk_Click()
    If isValidSerialNumber(txtRegisteredName.Text, txtOrganisation.Text, txtSerialNumber.Text) Then
        Call SaveSetting("MyApp", "Aktivasi", "RegisteredName", txtRegisteredName.Text)
        Call SaveSetting("MyApp", "Aktivasi", "Organisation", txtOrganisation.Text)
        Call SaveSetting("MyApp", "Aktivasi", "SerialNumber", txtSerialNumber.Text)

        MsgBox "Aktivasi berhasil", vbInformation, "Informasi"

        'TODO : tampilkan form utama

    Else
        MsgBox "Aktivasi gagal", vbExclamation, "Peringatan"
    End If
End Sub

Private Sub Command1_Click()
    Unload Me
End Sub

Selamat MENCOBA🙂

  1. joun
    April 2, 2011 at 1:15 am

    gan…ini bisa ngitung pemakaian trila…
    share donk????

    • April 7, 2011 at 4:33 am

      Oke om kapan2x ya🙂
      Sekarang belom sempat lagi banyak kerjaan😀

  2. Alan Shufy
    August 2, 2011 at 3:40 am

    Assalamu’alaikum, selamat menunaikan ibadah puasa. mohon maaf sebelumnya sudah banyak merepotkan kang admin selama ini. langsung ajha sya coba coding di atas alhamdulillah untuk form keygen dah suksek tapi untuk form aktivasi hasilnya selalu gagal nih, padahal serial numbernya udah kopas langsung dari aplikasi inno-nya, mohon pencerahannya nih!……

    • August 2, 2011 at 5:23 am

      Klo sample asli diatas udah dicoba belum om ?

  3. Alan Shufy
    August 2, 2011 at 2:14 pm

    saya coba download sample dari kang admin berhasil, saya coba lihat perbedaannya hanya pada private key dan nama inno key-nya saja, kelihatannya kesalahannya adalah dalam pembuatan file innokey-nya kang! kira2 hal penting apa saja yang harus saya lakukan dalam pembuatan inno key ini…? terima kasih…

  4. Alan Shufy
    August 3, 2011 at 6:52 pm

    udah ketemu masalahnya kang, ternyata ada pada ceklist expiry date-nya ketika ceklistnya saya buang berhasil dengan baik. terimakasih pencerahannya…🙂

    • August 4, 2011 at 6:23 am

      Sama2x om🙂

  5. May 4, 2012 at 1:04 pm

    Buntu sampai running file IKG+Aktivasi+Keygen. yang project aktivasi cuma bisa di running 1 kali.

  6. March 11, 2013 at 7:17 pm

    om tutorial yg pke hdd serial number dong atau yg trial dong

    • March 16, 2013 at 1:03 pm

      Bukannya udah ada pilihan HDDnya jadi tinggal dicoba sendiri aja om😀

  7. helmy
    August 31, 2013 at 2:31 pm

    om ane udah bisa cuma kok waktu aktivasi berhasil kagak mau lanjut ke form berikutnya? padahal kyknya udah bener waktu to do … ada yg salahkah?

    • September 3, 2013 at 8:46 am

      Mungkin salah manggil formnya

  8. Arlink Gea
    September 3, 2013 at 4:03 am

    bisa minta projectnya mas? :kirim ke emailku yak, thanks.

  9. onesetia82
    December 14, 2013 at 3:54 pm

    untuk pembuatan Form Aktivasi memakai VB10 suport ga gan sama code diatas … ?
    maksudnya pada kalimat “Selanjutnya tinggal pangil di form aktivasi seperti berikut :” itu maksudnya code tersebut di copy ke pemanggil form di visual basic setelah membuat form bukan … ?
    saya sudah coba di vb10, tapi gagal gan …
    mohon pencerahannya dan ma’af saya masih newbie di vb …🙂

  10. onesetia82
    December 15, 2013 at 2:38 pm

    alhamdulillah keygen+aktivasi sudah bisa diterapkan di vb10 …
    cuma saya masih bingung dalam penerapan code (‘TODO : tampilkan form utama) …
    saya coba terapkan code seperti ini :

    Form2.Show()

    [untuk memanggil form selanjutnya, contoh Form2]

    kode tersebut memang sukses gan ketika sudah diaktivasi dan berhasil menayangkan Form selanjutnya …
    tapi masalahnya kenapa setiap buka aplikasi, terus menerus meminta aktivasi ?
    padahal kan sudah diaktivasi diawal … ???😦
    solusinya bagaimana gan, apa saya salah memberikan code untuk menggantikan code “TODO : tampilkan form utama” … ???

  11. onesetia82
    December 15, 2013 at 2:51 pm

    atau mungkin kesalahannya disini gan, pada code pemanggil inno key … ? kalau seperti contoh diatas kan seperti ini :

    innoKeyFile = App.Path & “\key.iky”

    code tersebut tidak berfungsi di VB10, saya ganti menjadi :

    innoKeyFile = Application.StartupPath & “\key.iky”

    hasilnya memang berhasil, bisa memanggil “inno key” dan bisa aktivasi, cuma masalahnya itu seperti yang saya sampaikan di komentar sebelumnya, bahwa setiap buka aplikasi, terus menerus meminta aktivasi ????

    • December 23, 2013 at 1:49 pm

      Coba cek di bagian registry windowsnya, klo berhasil kan seharusnya hasil aktivasinya tersimpan di registry windows.
      Coba perhatikan kode berikut :

      Private Sub cmdOk_Click()
          If isValidSerialNumber(txtRegisteredName.Text, txtOrganisation.Text, txtSerialNumber.Text) Then
              Call SaveSetting("MyApp", "Aktivasi", "RegisteredName", txtRegisteredName.Text)
              Call SaveSetting("MyApp", "Aktivasi", "Organisation", txtOrganisation.Text)
              Call SaveSetting("MyApp", "Aktivasi", "SerialNumber", txtSerialNumber.Text)
       
              MsgBox "Aktivasi berhasil", vbInformation, "Informasi"
       
              'TODO : tampilkan form utama
       
          Else
              MsgBox "Aktivasi gagal", vbExclamation, "Peringatan"
          End If
      End Sub
      

      Nah pada perintah “Call SaveSetting …” itu kan ada perintah untuk menyimpan hasil aktivasi ke registry windows, coba cek di tempatkan kesimpan enggak datanya ke registry windows.

  1. April 16, 2014 at 9:13 am
Comments are closed.
%d bloggers like this: