Selasa, 28 Agustus 2007

How To Make Your Own (Portable) Anti Virus




Portable itu apa sih? menurut aq ya, portable itu bisa dibawa n digunain dimana2.. Kalo aplikasi yg portable gimana?


"A portable application, or portable app for short, is a software program that does not require any kind of formal installation onto a computer's permanent storage device to be executed, and can be stored on a removable storage device such as a CD-ROM, USB flash drive, flash card, or even a floppy disk, enabling it to be used on multiple computers."
sumber : wikipedia

Yups, berarti aplikasi tersebut bisa dijalankan tanpa harus diinstal terlebih dahulu di komputer yang menjalankanna... Lalu kalo Anti Virus dijadikan portable gimana? tentuna lebih efesien n manfaat, napa? soalna tidak perlu terinstall di komputer, jika sewaktu2 kita ingin menggunakanna di komputer lain bisa langsung dijalankan :) cucok buat yg suka nancepin Flashdisk ato HD External di komputer2 publik.

OK, apa aja yg diperluin untuk membuat suatu aplikasi yg portable? Berhubung karena tiap komputer itu beda spesifikasi hardware n software, maka perlu dicermati dalam pembuatan aplikasina juga. Misal, apakah di komputer yang akan dijalankan sudah tersedia file2 pendukung untuk aplikasi kita? Entah itu file DLL, OCX, atau lainna. Apakah spesifikasi hardwarena sama dengan komputer kita dimana development aplikasi dibuat? Untuk menghindari adana error atau tidak berjalanna aplikasi portable kita, lebih baik untuk memikirkan semua kemungkinan yg kira2 penting untuk berjalanna aplikasi kita nantina :)

Anti virus yang aq bikin menggunakan scanner statis dengan teknik checksum MD5. Disini aq sengaja gk pake rutin menghitung MD5 di dalam Anti Virus itu sendiri, melainkan memakai librari luar, yaitu aamd532.dll. untuk tampilan form menggunakan control Active-X Advanced Progress Bar, yaitu APB.ocx. Dan menggunakan control common dialog, yaitu comdlg32.ocx. Semua file librari external tersebut dijadikan sebah file Resource (RES) yg nanti akan dimasukkan kedalam aplikasi Anti Virus kita.

Secara garis besar, pada pertama kali run Anti Virus akan mengekstrak n menyalin file2 librari yg ada di "tubuhna" ke dalam direktori sistem dan menregister satu-persatu. Bisa diliat dari snippet kode berikut :

[code]
ekstrak GetSystemRoot & "\APB.OCX", 101
ekstrak GetSystemRoot & "\aamd532.dll", 102
ekstrak GetSystemRoot & "\comdlg32.OCX", 103
RegSvr32 GetSystemRoot & "\APB.OCX", False
RegSvr32 GetSystemRoot & "\aamd532.dll", False
RegSvr32 GetSystemRoot & "\comdlg32.OCX", False
[/code]
Rutin "ekstrak", "GetSystemRoot" dan "RegSvr32" dapat dilihat pada source code Anti Virus

Selanjutna, Anti Virus akan mengscan semua proses yg ada di memory terlebih dahulu. Hal ini dilakukan dengan :

[code]
Scanmem strDB, Form1.APB1, Form1.Label9, Form1.Label5, Form1.Label10, Form1.List1
[/code]
Objek label, APB dan listbox dapat dilihat pada source code Anti Virus

Setelah itu sang Anti Virus akan mengscan semua file yg ada di direktori dimana ia berada :

[code]
scanDir apPath
[/code]
Rutin "scanDir" dapat dilihat pada source code Anti Virus

Berhubung Anti Virus ini menggunakan scanner statis, maka diperlukan suatu database checksum MD5 yang berisi checksum dari file virus. Hal ini juga menjadi suatu kelemahan scanner statis :) File database yang digunakan bernama DB.DAT. Engine scanner statis ini dapat ditingkatkan kemampuanna sesuai dengan artikel sebelumna, "How To Make Your Own Anti Virus - Part 2".

Anti Virus ini dapat dijalankan secara otomatis pada flashdisk begitu flashdisk dimasukkan ke dalam komputer, dengan catatan autoplay pada komputer tersebut dinyalakan. Hal tsb dapat dilakukan dengan cara membuat file Autorun.inf pada root direktori flashdisk dan menambahkan kode berikut :

[code]
[Autorun]
open=nama_file_AV.exe
[/code]

Fitur yang dapat digunakan pada Anti Virus ini adalah pemeriksaan terhadap suatu file, pemeriksaan terhadap folder tertentu, pemeriksaan terhadap drive tertentu n penambahan checksum file yang dicurigai sebagai thread kedalam database checksum. Kecepatan penghitungan checksum MD5 terhadap suatu file pada Anti Virus ini dapat dikatakan cepat. Dengan catatan bahwa memory yang tersedia pada sistem komputer yang dijalankan memadai. Serta ukuranna yang relatif kecil, sehingga dapat dimasukkan kedalam disket :P Adapun kelemahan dari Anti Virus ini adalah penggunaan scanner statis yg kurang efesien n akurat. Untuk kelemahan2 lainna lom sempat ditemukan, dan diharapkan kelemahan2 yang akan ditemukan dapat diperbaiki serta ditingkatkan hingga optimal :)

Projek lengkap dapat diunduh di multikiller3-portable, Mirror

Source code APB.ocx, Mirror
Bila menemui dalam penggunaan file APB.ocx, harap source code APB.ocx di recompile terlebih dahulu

Saran n kritik terhadap aplikasi Anti Virus Portable sederhana ini sangat diharapkan :) :)

3 komentar:

Lironmaster mengatakan...

Bro kalo pake autorun ga bisa autoplay

mawarung mengatakan...

salam kenal bagi pencari program aplikasi portable. ni aku punya programnya yang full.
untuk download praogram thinstall dengan versi full silakan klik
thinstall full mawarung

mawarung mengatakan...

ada yang baru nih dari thinapp, kamu bisa buat portable apa aja dengan thinapp. tapi harus dengan yang full versi.
langsung sedot yang udah tau cara jalanen thininstal

http://dld4u.blogspot.com/2009/03/vmware-thinapp-4012866-full-thininstall.html