pasang iklan gratis

Selamat Datang dan jangan lupa kembali ya teman... saya ucapkan terimakasi atas kunjungan nya !!! :)

  • Web
  • Google Search
  • Photobucket

    Minggu, 27 Mei 2012

    TUTORIAL MEMBUAT ANTIVIRUS DENGAN VISUAL BASIC



    Avast free antivirus 5.0
    hai kawan semua... kali ini saya akan membahas soal visual basic lagi nih! tapi yang ini bukan dasar-dasarnya. buat yang belum tau apa itu visual basic coba anda baca dlu postingan sebelumnya yg membahaas dasar2nya, biar ngerti gituh! nih silahkan klik. buat yang udah ngerti mah langsung aja check this out . pertama saya akan menjelaskan kalau di sini saya akan membuat antivirus kayak itu tuh. tapi lebih mirip smadav sih.. hehe tutorial membuat antivirus dengan visual basic ini sangat sederhana dan dibuat untuk menangapi tutorial sebelumnya yang tidak lengkap apabila hanya membuat virus saja oke langsung aja deh tanpa basa-basi lagi

    Mari kita belajar membuat sebuah AV sederhana, yang diperlukan :
    1. Software Visual Basic 6.0
    2. Sedikit pemahaman akan pemograman Visual Basic 6.0
    3. Sampel file bersih atau virus (- opsional)
    First

    Sekarang kita akan belajar membuat sebuah rutin sederhana untuk :
    - Memilih file yang akan dicek
    - Membuka file tersebut dalam mode binary
    - Memproses byte demi byte untuk menghasilkan Checksum
    Buka MS-Visual Basic 6.0 anda, lalu buatlah sebuah class module dan Form dengan menambahkan sebuah objek Textbox, CommonDialog dan Command Button. (Objek CommonDialog dapat ditambahkan dengan memilih Project -> COmponent atau Ctrl-T dan memilih Microsoft Common Dialog Control 6.0). Ketikkan kode berikut pada class module (kita beri nama class module tsb clsCrc) :

    ================= START HERE ====================
    Private crcTable(0 To 255) As Long ‘crc32
    Public Function CRC32(ByRef bArrayIn() As Byte, ByVal lLen As Long, Optional ByVal lcrc As Long = 0) As Long
    ‘bArrayIn adalah array byte dari file yang dibaca, lLen adalah ukuran atau size file
    Dim lCurPos As Long ‘Current position untuk iterasi proses array bArrayIn
    Dim lTemp As Long ‘variabel temp hasil perhitungan
    If lLen = 0 Then Exit Function ‘keluar fungsi apabila ukuran file = 0
    lTemp = lcrc Xor &HFFFFFFFF
    For lCurPos = 0 To lLen
    lTemp = (((lTemp And &HFFFFFF00) &H100) And &HFFFFFF) Xor (crcTable((lTemp And 255) Xor bArrayIn(lCurPos)))
    Next lCurPos
    CRC32 = lTemp Xor &HFFFFFFFF
    End Function
    Private Function BuildTable() As Boolean
    Dim i As Long, x As Long, crc As Long
    Const Limit = &HEDB88320
    For i = 0 To 255
    crc = i
    For x = 0 To 7
    If crc And 1 Then
    crc = (((crc And &HFFFFFFFE) 2) And &H7FFFFFFF) Xor Limit
    Else
    crc = ((crc And &HFFFFFFFE) 2) And &H7FFFFFFF
    End If
    Next x
    crcTable(i) = crc
    Next i
    End Function
    Private Sub Class_Initialize()
    BuildTable
    End Sub
    ================= END HERE ====================
    Lalu ketikkan kode berikut dalam event Command1_Click :
    ================= START HERE ====================
    Dim namaFileBuka As String, HasilCrc As String
    Dim CCrc As New clsCrc ‘bikin objek baru dari class ClsCrc
    Dim calCrc As Long
    Dim tmp() As Byte ‘array buat file yang dibaca
    Private Sub Command1_Click()
    CommonDialog1.CancelError = True ‘error bila user mengklik cancel pada CommonDialog
    CommonDialog1.DialogTitle = “Baca File” ‘Caption commondialog
    On Error GoTo erorhandle ‘label error handle
    CommonDialog1.ShowOpen
    namafilbuka = CommonDialog1.FileName
    Open namafilbuka For Binary Access Read As #1 ‘buka file yang dipilih dengan akses baca pada mode binary
    ReDim tmp(LOF(1)) As Byte ‘deklarasi ulang untuk array
    Get #1, , tmp()
    Close #1
    calCrc = UBound(tmp) ‘mengambil ukuran file dari array
    calCrc = CCrc.CRC32(tmp, calCrc) ‘hitung CRC
    HasilCrc = Hex(calCrc) ‘diubah ke format hexadesimal, karena hasil perhitungan dari class CRC masih berupa numeric
    Text1.Text = HasilCrc ‘tampilkan hasilnya
    Exit Sub
    erorhandle:
    If Err.Number <> 32755 Then MsgBox Err.Description ‘error number 32755 dalah bila user mengklik tombol cancel pada saat memilih file
    ================= END HERE ====================
    Coba anda jalankan program diatas dengan memencet tombol F5, lalu klik Command1 untuk memilih dan membuka file. Maka program akan menampilkan CRC32nya.
    Second

    Kode diatas dapat kita buat menjadi sebuah rutin pengecekan file suspect virus dengan antara membandingkan hasil CRC32nya dan database CRC kita sendiri. Algoritmanya adalah :
    - Memilih file yang akan dicek
    - Membuka file tersebut dalam mode binary
    - Memproses byte demi byte untuk menghasilkan Checksum
    - Buka file database
    - Ambil isi file baris demi baris
    - Samakan Checksum hasil perhitungan dengan checksum dari file
    Format file database dapat kita tentukan sendiri, misal :
    - FluBurung.A=ABCDEFGH
    - Diary.A=12345678
    Dimana FluBurung.A adalah nama virus dan ABCDEFGH dalah Crc32nya. Jika kita mempunyai format file seperti diatas, maka kita perlu membaca file secara sekuensial per baris serta memisahkan antara nama virus dan Crc32nya. Dalam hal ini yang menjadi pemisah adalah karakter ‘=’.
    Buat 1 module baru (- diberi nama module1) lalu isi dengan kode :
    ================= START HERE ====================
    Public namaVirus As String, CrcVirus As String ‘deklarasi variabel global untuk nama dan CRC virus
    Public pathExe as String ‘deklarasi variabel penyimpan lokasi file EXE AV kita
    Public Function cariDatabase(Crc As String, namaFileDB As String) As Boolean
    Dim lineStr As String, tmp() As String ‘variabel penampung untuk isi file
    Open namaFileDB For Input As #1 ‘buka file dengan mode input
    Do
    Line Input #1, lineStr
    tmp = Split(lineStr, “=”) ‘pisahkan isi file bedasarkan pemisah karakter ‘=’
    namaVirus = tmp(0) ‘masukkan namavirus ke variabel dari array
    CrcVirus = tmp(1) ‘masukkan Crcvirus ke variabel dari array
    If CrcVirus = Crc Then ‘bila CRC perhitungan cocok/match dengan database
    cariDatabase = True ‘kembalikan nilai TRUE
    Exit Do ‘keluar dari perulangan
    End If
    Loop Until EOF(1)
    Close #1
    End Function
    ================= END HERE ====================
    Lalu tambahkan 1 objek baru kedalam Form, yaitu Command button2. lalu ketikkan listing kode berikut kedalam event Command2_Click :
    ================= START HERE ====================
    If Len(App.Path) <= 3 Then ‘bila direktori kita adalah root direktori
    pathEXE = App.Path
    Else
    pathEXE = App.Path & “”
    End If
    CommonDialog1.CancelError = True ‘error bila user mengklik cancel pada CommonDialog
    CommonDialog1.DialogTitle = “Baca File” ‘Caption commondialog
    On Error GoTo erorhandle ‘label error handle
    CommonDialog1.ShowOpen
    namafilbuka = CommonDialog1.FileName
    Open namafilbuka For Binary Access Read As #1 ‘buka file yang dipilih dengan akses baca pada mode binary
    ReDim tmp(LOF(1)) As Byte ‘deklarasi ulang untuk array
    Get #1, , tmp()
    Close #1
    calCrc = UBound(tmp) ‘mengambil ukuran file dari array
    calCrc = CCrc.CRC32(tmp, calCrc) ‘hitung CRC
    HasilCrc = Hex(calCrc) ‘diubah ke format hexadesimal, karena hasil perhitungan dari class CRC masih berupa numeric
    If cariDatabase(HasilCrc, pathEXE & “DB.txt”) Then ‘bila fungsi bernilai TRUE
    MsgBox “Virus ditemukan : ” & namaVirus ‘tampilkan message Box
    End If
    Exit Sub
    erorhandle:
    If Err.Number <> 32755 Then MsgBox Err.Description ‘error number 32755 dalah bila user mengklik tombol cancel pada saat memilih file

    2 sok atuh ngoment:

    Republik of Muslim mengatakan...

    ai class modul teh nu kumaha?
    hahahaha

    Unknown mengatakan...

    naon

    Posting Komentar

    komen sebanyak-banyaknya

    Related Posts Plugin for WordPress, Blogger...
    Twitter Delicious Facebook Digg Stumbleupon Favorites More