Wednesday, July 6, 2011

Membuat Program Pemblokir Aplikasi Lain

Apakah Anda ingin mengamankan suatu aplikasi agar tidak dapat dibuka oleh orang lain kecuali yang memiliki password? Jika ya, Anda dapat menggunakan program proteksi aplikasi yang sudah tersedia di pasaran. Tetapi jika Anda dapat membuatnya sendiri, kenapa tidak? Selain lebih murah, Anda dapat memodifikasinya sesuai kreasi Anda. Cukup bermodalkan Visual Basic 6.0

Ok, mari kita mulai. Langkah pertama, bukalah Visual Basic 6.0 sehingga akan muncul tampilan seperti ini.


Pilih Standard EXE, klik Open. kemudian akan muncul tampilan seperti ini.


Tambahkan object timer ke form. Timer ini berada di toolbox yang berada di bagian kiri layar secara default. Untuk menambahkannya ke form, cukup dobel click pada timer tersebut.


Klik kanan pada form, pilih View Source untuk menampilkan jendela source code.


Ketikkan kode program berikut ini (Sebelumnya bersihkan terlebih dahulu seluruh tulisan yang terdapat pada jendela source code bila ada) Jika Anda malas mengetik semua source code ini, yaa.. copy paste saja :)


Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer



Private Const WM_CLOSE = &H10


Dim Sebelumnya_ditekan(256) As Boolean

Dim Mode_Password As Boolean
Dim Simpan As String
Dim Password As String

Private Sub Form_Activate()
Me.Hide
End Sub

Private Sub Form_Load()
For i = vbKeyA To vbKeyZ
Sebelumnya_ditekan(i) = False
Next i
Mode_Password = False
App.TaskVisible = False
Timer1.Interval = 10
Timer1.Enabled = True
Simpan = ""
Password = "rahasia" 'Password untuk membuka blokir
Password = UCase(Password) 'konversi jadi huruf besar semua
End Sub

Sub Bunyi_enter_password()
Beep 1000, 100
Beep 500, 100
Beep 1000, 100
Beep 500, 100
End Sub

Sub Bunyi_pwd_salah()
For i = 1 To 5
Beep 600 - i * 20, 100
Next i
End Sub

Sub Bunyi_pwd_benar()
Beep 600, 100
Beep 800, 200
End Sub

Private Sub Timer1_Timer()
Dim tulisan As String
Dim Jendela_yang_sedang_aktif As String

tulisan = Space(200)
Jendela_yang_sedang_aktif = GetForegroundWindow
GetWindowText Jendela_yang_sedang_aktif, tulisan, 200
tulisan = Trim(tulisan)

If InStr(1, tulisan, "Notepad") <> 0 Then
PostMessage Jendela_yang_sedang_aktif, WM_CLOSE, 0&, 0&
End If

If Mode_Password Then
If GetAsyncKeyState(vbKeyReturn) Then 'jika ditekan enter
If Simpan = Password Then
Bunyi_pwd_benar
Unload Me
End
Else
Bunyi_pwd_salah
Simpan = ""
Mode_Password = False
End If
End If
For i = vbKeyA To vbKeyZ
If GetAsyncKeyState(i) Then 'jika tombol ditekan
If Not Sebelumnya_ditekan(i) Then
Simpan = Simpan + Chr(i)
End If
Sebelumnya_ditekan(i) = True
Else
Sebelumnya_ditekan(i) = False
End If
Next i

ElseIf GetAsyncKeyState(vbKeyF11) Then
Bunyi_enter_password
Mode_Password = True
Simpan = ""
End If


End Sub




NB:
Masing-masing Private Declare Function harus ditulis dalam satu baris. Dalam artikel ini terlihat seperti berganti baris karena lebar halaman blog tidak mencukupi. Jika penulisan pada program juga ikut berganti baris, maka akan menimbulkan error.

Password untuk membuka blokir bersifat case insensitive (huruf besar dan kecil tidak dibedakan) dan hanya boleh terdiri dari huruf a-z. Silakan ubah sesuka Anda.

Untuk memblokir program lain, ganti "Notepad" dengan nama aplikasi yang ingin diblokir. Perlu diperhatikan bahwa ini bersifat case sensitive (huruf besar dan kecil berbeda artinya).


Klik icon save pada toolbar. Kemudian berikan nama Project dan nama Form sesuka Anda. Misalnya "Program Pemblokir.vbp" dan "Blokir.frm".


Jika ditanya "Add Project to SourceSafe?", klik No.

Nah, sekarang tinggal kita build Project ini menjadi executable file (*.exe) agar dapat dijalankan tanpa menggunakan VB. Caranya adalah dengan memilih File => Make .exe dari menubar


Tentukan direktori penyimpanan dan nama dari file exe yang ingin Anda buat. Klik OK, dan.. selesai!! Anda kini memiliki program berbentuk file exe yang dapat dibawa kemana-mana dan dijalankan di komputer Windows manapun (Asal jangan Windows versi jebot seperti Windows 3.0 ya, hehehe..) Selamat mencoba!

Oh iya, saya baru ingat bahwa saya belum menjelaskan cara menggunakan program ini. Pertama-tama, jalankan file exe yang sudah Anda buat. Tidak muncul apapun? Tenang saja, memang seharusnya begitu karena program ini bersifat hidden alias tidak memiliki bentuk apapun dan tidak terlihat. Namun coba saja Anda buka program yang diblokir (jika kode program di atas belum Anda ubah maka secara default yang diblokir adalah Notepad), tidak bisa bukan? Nah, untuk membuka blokir, tekan F11 pada keyboard, akan terdengar bunyi "tii nut tii nut". Ketikkan password (secara default adalah "rahasia" (tanpa tanda petik)), kemudian tekan enter pada keyboard. Jika benar, akan terdengar bunyi "ting tong" dan blokir akan terbuka. Jika salah, akan terdengar bunyi seperti game over pada video game zaman dahulu. Untuk memasukkan ulang password (jika Anda salah memasukkan) tekan kembali F11.

Lalu bagaimana untuk memblokir kembali jika sudah dibuka blokirnya? Yaa.. jalankan saja kembali file exe-nya :)