Sebagai seorang programmer, tentu
kita tidak ingin program yang kita buat bisa dicopy seenaknya oleh orang lain,
bagi orang yang ingin menggunakan program buatan kita tentunya harus
membayar/membeli kepada kita . Terutama jika kita membuat program yang sifatnya
umum, misalnya Program aplikasi akuntasi, Inventory, Point Of Sale atau Program
Kasir. Untuk mencegah agar program kita tidak bisa di Copy sembarang, atau
disebarkan oleh orang lain, maka kita harus melindungi program kita. Jadi
setiap ada orang yang ingin menggunakan Program buatan kita, mereka harus
memebelinya dari kita bukan dengan mengcopy dari orang yang pernah membeli
sebelumnya. Umumnya ada dua cara
melindungi program yaitu Melindungi
Program Dengan Serial Number dan Melindungi
Program Dengan Dongle ( sebuah alat sebesar FlashDisk ). Namun pada posting
kali ini saya hanya akan menbahas tentang Cara
Melindungi Program dengan Serial Number
Saja. Sedangkan Melindungi Program
dengan dongle akan dibahas pada postingan yang lain. Dalam postingan kali
ini saya mencoba menjelaskan Cara Melindungi Program Dengan Serial Number dimana untuk komputer yang
berbeda diperlukan serial number yang berbeda, jadi meskipun seseorang sudah
menegathui satu serial number tetapi serial number tersebut tidak bisa
digunakan pada komputer lainnya. Jadi Satu Serial Number hanya berlaku untuk
satu komputer saja.
Gambar 1.
Contoh Form Registrasi Menggunakan Serial Nomer (Kode
Registrasi )
Cara Melindungi Program dengan
Serial Number adalah sebagai berikut:
Untuk dapat memberikan serial number
yang hanya berlaku pada satu komputer saja maka kita harus mengetahui sesuatu
yang sifatnya unik dalam komputer tersebut, misalnya serial number Prosesor,
serial number Motherboard atau serial number Hardiskdrivenya. Misalnya kita
menggunakan serial number Harddisk. Kalau kita menggunakan Serial Number
HarddiskDrive maka kita harus tahu bagaimana Coding membaca serial number Harddisk dengan
Delphi ( Nanti akan sayaberikan dibawah ).
Sekarang kita bahas logikanya dulu, lebih mudah dengan contoh berikut
Misalnya kita dapatkan Serial Number Hardisknya adalah 4239947770 , serial number ini kita simpan dalam variable Float/Real/double agar bisa kita tambahkan/kurangkan dengan bilangan.
Untuk memberikan Serial Number Kepada Komputer ini , maka angka Serial Number diatas kita tambah/kurangkan dengan bilangan tertentu yang tetap. Misalnya 898989. Agar lebih rumit bisa ditambahkan dengan cara lain, misalnya angka kedua dan kelima atau lainnya sesuaikan dengan kreatifitas kalian.
Hasil penambahan itulah yang kita gunakan sebagai serial Number
Untuk Contoh diatas SN = 4239947770 + 898989 = 4240846759
Jadi SN Untuk ini adalah 4240846759
Nah Saat Registrasi lakukan pemeriksaan serial number yang diinput , kita periksa jumlahnya apakah sesuai, jika sesuai maka registrasi berhasil, jika tidak , berarti registrasi gagal.
Angka 898989 adalah angka khusus yang kita ciptakan sendiri, sesuai dengan kreativitas masing masing.
Pada Contoh Form registrasi diatas , Kode Installasi adalah Serial Number Hardisk pada komputer dimana kita meregistrasi Program
Kode Registrasi adalah tempat Input Serial Numbernya.
Jadi Kode Intallasi yang muncul akan berbeda beda untuk setiap komputer karena serial Number Hardisknya pasti berbeda beda.
Berikut adalah Coding Cara membaca Serial Number
Misalnya kita dapatkan Serial Number Hardisknya adalah 4239947770 , serial number ini kita simpan dalam variable Float/Real/double agar bisa kita tambahkan/kurangkan dengan bilangan.
Untuk memberikan Serial Number Kepada Komputer ini , maka angka Serial Number diatas kita tambah/kurangkan dengan bilangan tertentu yang tetap. Misalnya 898989. Agar lebih rumit bisa ditambahkan dengan cara lain, misalnya angka kedua dan kelima atau lainnya sesuaikan dengan kreatifitas kalian.
Hasil penambahan itulah yang kita gunakan sebagai serial Number
Untuk Contoh diatas SN = 4239947770 + 898989 = 4240846759
Jadi SN Untuk ini adalah 4240846759
Nah Saat Registrasi lakukan pemeriksaan serial number yang diinput , kita periksa jumlahnya apakah sesuai, jika sesuai maka registrasi berhasil, jika tidak , berarti registrasi gagal.
Angka 898989 adalah angka khusus yang kita ciptakan sendiri, sesuai dengan kreativitas masing masing.
Pada Contoh Form registrasi diatas , Kode Installasi adalah Serial Number Hardisk pada komputer dimana kita meregistrasi Program
Kode Registrasi adalah tempat Input Serial Numbernya.
Jadi Kode Intallasi yang muncul akan berbeda beda untuk setiap komputer karena serial Number Hardisknya pasti berbeda beda.
Berikut adalah Coding Cara membaca Serial Number
Setelah memahami logika diatas
mari kita lanjutkan Cara Melindungi
Program dengan Serial Number sesuai langkah langkah berikut:
Langkah 1:
Hal pertama yang harus disiapkan
adalah menulis dan membaca Registry Windows, karena Serial Number akan kita
simpan dalam registry Windows. Jika belom paham tentang cara Menulis dan
Membaca Registry Windows dengan Delphi silahkan baca disini . Disana
akan dijelaskan Cara Menulis/Membaca Registry Windows dengan Delphi. Pada Program yang kita buat, tambahkan satu
menu untuk melakukan Registrasi dalam hal ini untuk memasukan Serial Nomer yang
sesuai, kemudian kita menyimpannya kedalam Registry Windows. Misalnya seperti
pada Gambar 1 diatas. Mengenai Pembuatan Serial Nomor, silahkan baca lagi
bagian penjelasan logika diatas. Berikut ini contoh Listing menyimpan hasil
registrasi kedalam registry Windows.
If cSerial.text= inttostr(SerialNum+ 898989)then
Begin
try
Reg.OpenKey('\Software\myStock_Sx\Registrasi',true);
Reg.WriteString('HD',inttostr(serialnum));
Reg.WriteString('Serial',cSerial.text);
finally
Reg.CloseKey;
end;
MessageDlg('Registrasi Berhasil !',
mtInformation,[mbOk], 0);
Close;
End else
Begin
MessageDlg('Registrasi
Yang Anda Masukkan Tidak Benar', mtWarning,[mbOk], 0);
cserial.SetFocus;
End;
If cSerial.text= inttostr(SerialNum+
898989)then … adalah untuk memeriksa apakah serial nomer
yang dimasukan sudah sesuai dengan yang kita berikan, untuk lebih jelasnya baca
lagi penjelasan logika diatas, angka 898989 adalah angka yang bisa anda buat
sendiri sesuai kreativitas masing masing.
Langkah 2
Langkah kedua dalam Cara Melindungi Program Dengan Serial
Number adalah membuat pemeriksaan
apakah program sudah di registrasi atau belum, caranya adalah tambahkan script
pemeriksaan di Form Utama pada Even on Activate atau onCreate. Maksudnya agar
pada saat program pertamakali dijalankan maka program akan memeriksa dulu
apakah sudah diregistrasi ( sudah di input serian nomernya atau belum ) Jika
Sudah Program bisa dilanjutkan, jika belum maka Program langsung di exit.
Berikut adalah Script Untuk
Membaca Registrasi di Registry Windows
try
try
Reg.OpenKey('\Software\myStock_Sx\Registrasi', false);
cHD:=Reg.ReadString('HD');
cSerial:=Reg.ReadString('Serial');
except on ERegistryException do
Begin
messagedlg( ‘Program Belum Teregistrasi, Harap
Lakukan Registrasi ', mtWarning,[mbOK],
0);
Application.Terminate; /// Jika Belum terregistrasi maka proses yang ini / Program langsung close
End;
end;
finally
Reg.CloseKey;
end;
cHD adalah string untuk menyimpan Serial Nomer Hardisk yang kita
simpan saat Registrasi
cSerial adalah string untuk menyimpan Serial Nomer yang kita
simpan saat Registrasi
kemudian lakukan pemeriksaan seperti saat Registrasi seperti berikut :
If cSerial= inttostr(strtoint(cHD)+ 898989)
then
Begin
Exit; /// Jika Benar Maka proses keluar dari sini > Program Bisa Dilanjutkan
End
Else
messagedlg( ‘Program Belum Teregistrasi, Harap
Lakukan Registrasi ', mtWarning,[mbOK],
0);
Application.Terminate; /// Jika Tidak Benar Maka Program langsung Exit
End; Kalau ada yang Kurang Jelas Bisa tuliskan pertanyaan di bagian Komentar
Semoga Bermanfaat.
thanks da bisa. tpi untuk statement "DRIVEINFO" tidak bisa digunakan. kenapa yaa?
ReplyDeleteTambahkan Function berikut ini untuk Driveinfo
Deletefunction DriveInfo(const sDrive: string; var SerialNum: DWORD;
var VolName, FileSysName: string) : BOOL;
var
MaxCompLength, FileSysFlag : DWORD;
aVolName, aSysName : array [0..255] of Char;
begin
aVolName := '';
aSysName := '';
SerialNum := 0;
Result := GetVolumeInformation(PChar(sDrive),
aVolName, 256, @SerialNum, MaxCompLength,
FileSysFlag, aSysName, 256);
VolName := string(aVolName);
FileSysName := string(aSysName);
end;
DriveInfo itu jenisnya apa ya?? button atau apa??
Deletebang bisa kasih contoh programnya gk??
ReplyDeletekita juga punya nih artikel mengenai 'Delphi', silahkan dikunjungi dan dibaca , berikut linknya
ReplyDeletehttp://repository.gunadarma.ac.id/bitstream/123456789/2320/1/Sinusoidal%20Scrolling%20OpenGL%20project%20in%20Delphi.pdf
trimakasih
semoga bermanfaat
ada download source code nya gan,,
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteBuat keygennya bagaimana gan..?
ReplyDeleteambil aja kode kode yang ada di postingan diatas,
ReplyDeletetrus ikuti pentunjuknya , pasti bisa
Sore om saya pengen tahu lebih detail tentang Dongle dari Flashdisk, dan om bisa membuat tools untuk membuat dongle dari FlashDisk untuk memproteksi File .exe yang sudah jadi om? saya Siap Donasi OM :) , saya tunggu kabarnya di email ane om => satriasudira@gmail.com
ReplyDeletemasih bingung mas, ada source code.xa gk biar lebih mudah di pahami
ReplyDeletemenarik sekali artikel nya mas.tp masih blm paham bener..
ReplyDeleteoiya mas lalu untuk meng'Genrate id hardware nya gimana?
sedangkan client (si customer kita) sudah memberikan ID hardware nya pada kita,
mohon pencerahan nya mas thnks berat..
vhicxs356@gmail.com
cara membaca serial hardisnya gmana?
ReplyDeletewah memberikan ilmunya setengah hati nich nggak iklas kayaknya masih ada yang di gantung nich
ReplyDeleteudah dijelasin semua tuh, klo belum jelas brarti belum dibaca semuanya.
ReplyDeleteTengkiu berat om @Agus
menyesatkan......... gak lengkap ini. :}
Deletegila :0
ReplyDeletebagaimana kalo untuk vb 6 ?
ReplyDelete4156915674
ReplyDeleteSETTINGAN DI VB NYA BACA NUMBER PROCESSOR + mAINBOARD ...
klo untuk vb.net 2010 ada gak bang
ReplyDeleteinbox nya di email salam.devil8@gmail.com
ReplyDeletekalau aplikasi kita di didalam flashdisk bagaimana kita beri proteksi?
ReplyDeletealhamdulilah terimakasih gan,,,saya berhasil membuattnya
ReplyDeletegan bisa berbagi saya cara deteksi serial number hard disknya gimana saya coba masukan serial number hardisk aja masih tidak bisa, apanya yang salah gan
DeleteGimana caranya disable button lewat Registry
ReplyDeletegimana cara mendapatkan serial number dengan waktu aktivenya
ReplyDeletesama semua kodenya nulisnya dimana bang gak ada petunjuk script ini di tulis dmn
ReplyDeleteCara Melindungi Program Dengan Serial Number - Aku Cinta Delphi >>>>> Download Now
ReplyDelete>>>>> Download Full
Cara Melindungi Program Dengan Serial Number - Aku Cinta Delphi >>>>> Download LINK
>>>>> Download Now
Cara Melindungi Program Dengan Serial Number - Aku Cinta Delphi >>>>> Download Full
>>>>> Download LINK 27