Home
Hacking
Tutorial
.NET
IT News
Lain-lain
About Us
FAQ
Penerbitan Buku

Klik untuk join milist Jasakom




 

Jasakom Community - Article
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

 


 

Source: JASAKOM Information Center
 
1
Jasakom Community - Visitor Comment
Nama: rename   Tgl: 4/26/2006 4:08:54 AM
Komentar:
good article,menginspirasiku!good job keep coding
Nama: tomero   Tgl: 4/17/2006 6:11:57 PM
Komentar:
Salam kenal...
Nama: rheins   Tgl: 4/2/2006 6:51:22 PM
Komentar:
AKang Ari mau nanya, kalo di visual foxpro bisa buatin ga??? soalnya banya yang error, skalian pengen blajar jadi programmer neh!! umurku baru satu minggu, so ajarin donk!!! Rheins pening kalo make visual basic 6.0 mah bahasa programnya lebih banyak da
Nama: viruss   Tgl: 3/16/2006 4:22:12 AM
Komentar:
www.friendster.com/user.php?uid=8256115 www.friendster.com/user.php?uid=10774878
Nama: viruss   Tgl: 3/16/2006 4:18:25 AM
Komentar:
www.friendster.com/user.php?uid=7772943 www.friendster.com/user.php?uid=10937716 www.friendster.com/user.php?uid=12077230 www.friendster.com/user.php?uid=9698725 www.friendster.com/user.php?uid=9953330
Nama: kadal_punk   Tgl: 3/16/2006 2:50:11 AM
Komentar:
ini ciri orang sirik ga ada di dunia ini yg sempurna minimal mendekati nilai 9 begok..
Nama: ph0ux_4j035   Tgl: 3/15/2006 2:55:27 AM
Komentar:
masih banyak nih.. bugs allmyguests http://silmarillero.mundoserver.com/web/modules.php?name=AllMyGuests
Nama: c1bl3k   Tgl: 3/15/2006 2:12:41 AM
Komentar:
Informasi disini digunakan untuk tujuan pendidikan, Jasakom tidak bertanggung jawab untuk penyalahgunaan informasi yang ada pada web ini. Gunakan segala bentuk informasi disini secara bijak untuk melindungi diri anda sendiri agar tidak menjadi korban in
Nama: godzalli   Tgl: 3/14/2006 11:36:53 PM
Komentar:
whoiii... sapa sich nyang menang panhac kmaren?
Nama: Ari W   Tgl: 3/14/2006 11:18:49 PM
Komentar:
Wah ternyata dibatasi string postingnya. Ndak rame nih. Intinya gue ada kode tuk bloking sendmessage & terminateprocess
Nama: Ari W   Tgl: 3/14/2006 11:09:09 PM
Komentar:
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Dim tmp as string If Check1.Value = 1 Then Exit Sub If UnloadMode = vbAppWindows Then tmp = MsgBox("Ingin dimatikan?", vbYesNoCancel, "Pertanyaan")
Nama: Ari W   Tgl: 3/14/2006 11:07:28 PM
Komentar:
Selama checkbox tidak dicentang maka perintah Close dari SendMessage tdk akan berfungsi. Kecuali menggunakan perintah TerminateProcess pd ID proses program spti yg digunakan Task Manager. Tetapi TerminateProcess juga bisa diblok, kita dpt mengubah fungsi
Nama: sarge_kecil   Tgl: 3/14/2006 10:59:51 PM
Komentar:
http://www.geocities.com/sarge_kecil/GIP/
Nama: sarge_kecil   Tgl: 3/14/2006 10:05:12 PM
Komentar:
kecil2an http://www.zone-h.org/en/search/what=sarge_kecil/
Nama: ph0ux_4j035   Tgl: 3/14/2006 9:11:15 PM
Komentar:
| Parah... |>>>>
Nama: Ari W   Tgl: 3/14/2006 7:39:21 PM
Komentar:
Thanks, infonya kalo Delphi juga bisa diganti nama kelasnya. Jadi mau nanya juga nih, bisa ndak saat runtime nama kelas dirubah. Maklum masih belajar juga.
Nama: jembuat   Tgl: 3/14/2006 6:45:58 PM
Komentar:
ssss
Nama: th0nk   Tgl: 3/14/2006 6:29:08 PM
Komentar:
horee comment no.3 dapet piala perunggu mayan dah :)
Nama: galileo   Tgl: 3/14/2006 6:04:52 PM
Komentar:
Sepertinya, tidak hanya program yang dibuat dengan Delphi saja yang bisa di-'kill' seperti itu, semua program juga bisa Mas!!! Apalagi program2 VB. Setahu saya di Delphi juga bisa kok mengganti Class, gak cuma di C aja. Saya rasa itu bukan bug,mungkin kal
Nama: bulejawa   Tgl: 3/14/2006 5:08:05 PM
Komentar:
HuaHua ... NO.1 ... YES..!! Yes..! Bule-Jawa Is BACK..!!
1

 

© Copyright by Jasakom 2005 All Right Reserved

User Id: *

Password:
* Required Field
User Baru ? Klik di sini
Lupa Password ?
Keyword :
 

Click here to join jasakomdotnet
Klik di sini untuk Join jasakomdotnet




Informasi disini digunakan untuk tujuan pendidikan, Jasakom tidak bertanggung jawab untuk penyalahgunaan informasi yang ada pada web ini. Gunakan segala bentuk informasi disini secara bijak untuk melindungi diri anda sendiri agar  tidak  menjadi korban internet.