SAATNYA TANGGAP TEKNOLOGI, BUKAN GAGAP TEKNOLOGI (Cara Membuat ANTIVIRUS Sederhana Menggunakan VB 6.0)
"HIMA TI Blog kompetisi 2010 Politeknik Negeri Padang"
(Hanyalah Blog sederhana, Copyright aivlabs 2010)
( Sudahkah uda/uni terpikir untuk membuat AntiVirus Sendiri?,berpikir untuk mendeteksi file infeksi dari W32 sality?tapi kali ini saya tidak menjelaskan teknik pendeteksian Sality yang meggunakan Portable Executable Header (PE Header) yang mengubah Entry Point dari file infeksinya.....hanya kali ini izinkan saya anak SMA buat bersuara dibidang pemograman Engine standard antivirus saja mengingat dan menimbang waktu yang mepet..heheheh.....)
lets go.......
Antivirus seringkali menjadi pahlawan dikomputer kita.tapi tak slamanya antivirus itu membantu,,terkadang antivirusnya out of date,,pasti gak bias deteksi varian baru.dan harus di update dulu untuk proteksi maksimum..
lets go.......
Antivirus seringkali menjadi pahlawan dikomputer kita.tapi tak slamanya antivirus itu membantu,,terkadang antivirusnya out of date,,pasti gak bias deteksi varian baru.dan harus di update dulu untuk proteksi maksimum..
Apa salahnya kita membuat antivirus sendiri untuk melindungi kompi kita..caranya gak susah kok, Cuma butuh applikasi Microsoft visual basic 6.0 (Disini saya menggunakan msvb 60) dan kemampuan nalar dan logika matematika..
Oke sekarang kita akan membuat antivirus menggunakan teknik standar yaitu Kalkulasi checksum CRC32 yang merupakan teknik standar didalam antivirus..tentu teknik teknik lainnya juga ada seperti heuristic, read protection, write protection, PE Header, string, kalkulasi buatan sendiri,Filename, Packet detector, ekstensi detector, DLL.tentu semuat itu tidak saya jabarkan karna saya juga sedang mengembangkan antivirus kecil2an bernama AIRAV yang memakai beberapa teknik diatas..
Oke sekrang kita buka ms vb 6.0 dan buat lah form sebagai berikut
Terdapat rincian sbb :
1.dua buah button
2.1 buah text1
3.4 buah label
4.1 buah progress bar
5.2 buah listview
6.1 buah label scan
Setealh itu pada button mulai ketik kode berikut ini :
Private Sub Command1_Click()
StopScan = False
HitungJumlahFile
CariVirus Text1.Text
End Sub
Pada botton stop ketik kode ini
Private Sub Command2_Click()
StopScan = True
MsgBox "Scanning was aborted by user", vbInformation, "Perhatian"
End Sub
Pada form_load ketik kode berikut
Private sub form_load()
On error resume next
‘untuk menambahkan listview virus nya
database
Dim i As Integer
Dim lvwSign As ListItem
For i = 1 To dat.Count
Set lvwSign = viruslist.ListItems.Add(, , _
dat.Item(i)(2))
Next i
End sub
Kemudian tambahkan sebuah module kedalam projek anda tadi,,dan ketik kode ini:
Option Explicit
Private Const INVALID_HANDLE_VALUE = -1
Private Const FILE_ATTRIBUTE_SYSTEM = &H4
Private Const FILE_ATTRIBUTE_READONLY = &H1
Private Const FILE_ATTRIBUTE_HIDDEN = &H2
Private Const FILE_ATTRIBUTE_DIRECTORY = &H10
Private Const FILE_ATTRIBUTE_ARCHIVE = &H20
Private Const FILE_ATTRIBUTE_NORMAL = &H80
Private Const vbStar = "*"
Private Const vbAllFiles = "*.*"
Private Const vbBackslash = "\"
Private Const vbKeyDot = 46
Public StopScan As Boolean
Public NamaVirus As New Collection
Public wfd As WIN32_FIND_DATA
Public TemukanFile As Long
Dim TipeFile As String
Dim NamaTersangka As String
Dim JumFile As Long
Dim JumlahSeluruhnya As Long
Dim JumlahTerdeteksi As Long
Dim crc As New clsGetCRC32
Dim FileSpec As String, UseFileSpec As Boolean
Dim VirusSign As New Collection
Dim lvwVir As ListItem
Dim jumVir As Long
‘================================================
Public Function StripNulls(sStr As String) As String
StripNulls = Left$(sStr, InStr(1, sStr, Chr$(0)) - 1)
End Function
‘================================================
Public Function GetCRCFile(sFileName As String) As String
If FileLen(sFileName) >= 100000 Then Exit Function
'Batasi ukuran file yang akan di periksa
GetCRCFile = crc.FileChecksum(sFileName)
'dapatkan sidik jari virus tsb dengan methode standard CRC32
End Function
‘==============================================================
Private Function GetChecksum(sFileName As String) As String
On Error GoTo ErrHandle
'kalo error lansung aja ke fungsi ErrHandle
Dim SizeOfFile As Long
Dim Bin0(255) As Byte
Dim Bin1(255) As Byte
Dim Bin2(255) As Byte
Dim Bin3(255) As Byte
Dim Bin4(255) As Byte
Dim Bin5(255) As Byte
Dim Bin6(255) As Byte
Dim Bin7(255) As Byte
Dim Bin8(255) As Byte
Dim Bin9(255) As Byte
Dim Bin10(255) As Byte
Dim Bin11(255) As Byte
Dim Bin12(255) As Byte
Dim Bin13(255) As Byte
Dim Bin14(255) As Byte
Dim Bin15(255) As Byte
SizeOfFile = GetSizeOfFile(sFileName)
'mendefenisikan ukuran file
If SizeOfFile > 0 Then
'jika ukurannya lebih dari 0 maka telanjangi dan cari sidik jarinya
Open sFileName For Binary Access Read As #1
'buka file yang diperiksa sbg file yang akan dibaca
Get #1, 1, Bin0
Get #1, 240, Bin1
Get #1, 560, Bin2
Get #1, 920, Bin3
Get #1, 2000, Bin4
Get #1, 4000, Bin5
Get #1, 5000, Bin6
Get #1, 7000, Bin7
Get #1, 9000, Bin8
Get #1, 10000, Bin9
Get #1, 11000, Bin10
Get #1, 12000, Bin11
Get #1, 13000, Bin12
Get #1, 14000, Bin13
Get #1, 15000, Bin14
Get #1, 16384, Bin15
Close #1
End If
Dim buffer As String
buffer = StrConv(Bin0, vbFromUnicode)
buffer = buffer & StrConv(Bin1, vbFromUnicode)
buffer = buffer & StrConv(Bin2, vbFromUnicode)
buffer = buffer & StrConv(Bin3, vbFromUnicode)
buffer = buffer & StrConv(Bin4, vbFromUnicode)
buffer = buffer & StrConv(Bin5, vbFromUnicode)
buffer = buffer & StrConv(Bin6, vbFromUnicode)
buffer = buffer & StrConv(Bin7, vbFromUnicode)
buffer = buffer & StrConv(Bin8, vbFromUnicode)
buffer = buffer & StrConv(Bin9, vbFromUnicode)
buffer = buffer & StrConv(Bin10, vbFromUnicode)
buffer = buffer & StrConv(Bin11, vbFromUnicode)
buffer = buffer & StrConv(Bin12, vbFromUnicode)
buffer = buffer & StrConv(Bin13, vbFromUnicode)
buffer = buffer & StrConv(Bin14, vbFromUnicode)
buffer = buffer & StrConv(Bin15, vbFromUnicode)
GetChecksum = crc.StringChecksum(buffer)
'mendapatkan sidik jari virus dengan metode string
Set crc = Nothing
Exit Function
ErrHandle:
Close #1
End Function
‘===================================================
Private Function LokasiUtama(lokasi As String) As String
If Right(lokasi, 1) = lokasi & vbBackslash Then 'lokasi nya termasuk file yg ada di sub folder
LokasiUtama = lokasi
Else
LokasiUtama = lokasi & vbBackslash
End If
End Function
‘================================================
Private Sub CariFile(lokasi As String) 'fungsi untuk mencari jumlah file di dalam folder dan sub folder
Dim dirs As Integer, dirbuff() As String, i As Integer
TemukanFile = FindFirstFile(lokasi & vbAllFiles, wfd)
If TemukanFile <> INVALID_HANDLE_VALUE Then 'jika temukanfile bernilai -1 maka lakukan perintah
Do
DoEvents
If (wfd.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) Then
If Asc(wfd.cFileName) <> vbKeyDot Then
If (dirs Mod 10) = 0 Then ReDim Preserve dirbuff(dirs + 10)
dirs = dirs + 1
dirbuff(dirs) = StripNulls(wfd.cFileName)
End If
ElseIf Not UseFileSpec Then
JumlahSeluruhnya = JumlahSeluruhnya + 1
End If
If StopScan = True Then Exit Sub
Loop While FindNextFile(TemukanFile, wfd)
Call FindClose(TemukanFile)
End If
If UseFileSpec Then
Call CariFileSpec(lokasi)
End If
For i = 1 To dirs
CariFile lokasi & dirbuff(i) & vbBackslash
Form1.Label3.Caption = "Jumlah File : > " & JumlahSeluruhnya
If StopScan = True Then
Exit Sub
End If
Next i
End Sub
‘========================================================
Private Sub CariFileSpec(PathSearch As String) 'untuk mencari file spesifik,,sperti *.exe
TemukanFile = FindFirstFile(PathSearch & FileSpec, wfd)
If TemukanFile <> INVALID_HANDLE_VALUE Then
Do
JumlahSeluruhnya = JumlahSeluruhnya + 1
Loop While FindNextFile(TemukanFile, wfd)
Call FindClose(TemukanFile)
End If
End Sub
‘==============================================================
Sub HitungJumlahFile() 'persiapan menjelang scanning
Dim lokasi As String
lokasi = LokasiUtama(Form1.Text1.Text)
JumFile = 0
JumlahTerdeteksi = 0
JumlahSeluruhnya = 0
TipeFile = vbAllFiles
Call CariFile(Form1.Text1.Text)
End Sub
‘===============================================================
Private Function IsFileExist(lokasi As String) As Boolean
If PathFileExists(lokasi) = 1 And _
PathIsDirectory(lokasi) = 0 Then
IsFileExist = True
Else
IsFileExist = False
End If
End Function
‘===============================================================
Function CompareVirus (FileName As String) As Boolean
On Error Resume Next
Dim lokasi As String
Dim strFile As String
Dim NamaFile As String
Dim NamaFile2 As String
Dim crcfile As String
Dim i As Long
NamaFile = LeftB$(wfd.cFileName, InStrB(wfd.cFileName, vbNullChar))
crcfile = GetCRCFile(FileName)
strFile = GetChecksum(FileName)
lokasi = LokasiUtama(Form1.Text1.Text)
If Len(FileName) <= 1024 Then
For i = 1 To dat.Count
Form1.lblscan.Caption = FileName
If crcfile = dat(i)(1) Then
Set lvwVir = Form1.ListVirus.ListItems.Add(, _
, dat(i)(2))
lvwVir.SubItems(1) = lokasi & NamaFile
jumVir = jumVir + 1
Exit For
End If
Next i
End If
End Function
‘===============================================================
Sub CariVirus(lokasi As String)
On Error Resume Next
lokasi = LokasiUtama(lokasi)
Dim dirs As Integer, dirbuff() As String, i As Integer
Dim NamaFile As String
Dim LokasiSemuanya As String
TemukanFile = FindFirstFile(lokasi & vbStar, wfd)
If TemukanFile <> INVALID_HANDLE_VALUE Then
Do
If (wfd.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) Then
If Asc(wfd.cFileName) <> vbKeyDot Then
If (dirs Mod 10) = 0 Then ReDim Preserve dirbuff(dirs + 10)
dirs = dirs + 1
dirbuff(dirs) = StripNulls(wfd.cFileName)
End If
End If
Loop While FindNextFile(TemukanFile, wfd)
Call FindClose(TemukanFile)
End If
TemukanFile = FindFirstFile(lokasi & TipeFile, wfd)
If TemukanFile <> INVALID_HANDLE_VALUE Then
Do
If StopScan = True Then Exit Sub
NamaFile = StripNulls(wfd.cFileName)
LokasiSemuanya = lokasi & NamaFile
If IsFileExist(LokasiSemuanya) = True Then
With Form1
.lblscan.Caption = LokasiSemuanya
If CompareVirus (LokasiSemuanya) Then
.ListVirus.ListItems.Add(, , NamaTersangka, , Form1.Icon) _
.SubItems(1) = LokasiSemuanya
.ListVirus.ListItems.Add.SubItems(1) = lokasi
End If
JumFile = JumFile + 1
Form1.Label2.Caption = "Scanning > " & JumFile & " Of " & JumlahSeluruhnya
Form1.Label4.Caption = "Persentase > " & Abs(Round((JumFile * 100) / JumlahSeluruhnya, 3)) & " %"
Form1.Proggressbar1.Value = Abs(Round((JumFile * 100) / JumlahSeluruhnya, 2))
Form1.Label5.Caption = "Virus Terdeteksi > " & JumlahTerdeteksi
End With
DoEvents
End If
Loop While FindNextFile(TemukanFile, wfd)
Call FindClose(TemukanFile)
End If
If dirs <> "" Then
For i = 1 To dirs
Call CariVirus(lokasi & dirbuff(i) & vbBackslash)
Next i
End If
End Sub
‘===============================================================
Public Function GetSizeOfFile(ByVal PathFile As String) As Long
Dim hfile As Long, o As OFSTRUCT
hfile = OpenFile(PathFile, o, 0)
GetSizeOfFile = GetFileSize(hfile, 0)
Call CloseHandle(hfile)
End Function
Diatas merupakan kode unruk pencarian virus dan compare sidik jari virus untuk mendaparkan hasil..
Sekarang kita tambahkan sebuah modul lagi.disini kita akan membuat API function
Untuk memperingan scanning dan memperkecil kemungkinan terjadinya Bug…..
‘=============================================================
'Scanning
Public Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Public Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Public Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Boolean
Public Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long
Public Declare Function PathIsDirectory Lib "shlwapi.dll" Alias "PathIsDirectoryA" (ByVal pszPath As String) As Long
Public Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long
Public Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As String) As Long
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Public Declare Function GetFileSize Lib "kernel32" (ByVal hfile As Long, lpFileSizeHigh As Long) As Long
Public Declare Function OpenFile Lib "kernel32.dll" (ByVal lpFileName As String, ByRef lpReOpenBuff As OFSTRUCT, ByVal wStyle As Long) As Long
Public Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Public Const MaxLen = 260, _
MAXDWORD = &HFFFF, _
ArrGrow As Long = 5000, _
INVALID_HANDLE_VALUE = -1, _
ATTR_ARCHIVE = &H20, _
ATTR_DIRECTORY = &H10, _
ATTR_HIDDEN = &H2, _
ATTR_NORMAL = &H80, _
ATTR_READONLY = &H1, _
ATTR_SYSTEM = &H4
Public Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * MaxLen
cShortFileName As String * 14
End Type
Public Type OFSTRUCT
cBytes As Byte
fFixedDisk As Byte
nErrCode As Integer
Reserved1 As Integer
Reserved2 As Integer
szPathName(256) As Byte
End Type
oke,sekarang kita bakal membuat database dari virus tsb,,disisni saya tidak menggunakan ms access or mysql karna akan memperibet keadaan,,hahahahahaa..
saya akan membaut virus signature internal dari antivirus kita..
ketik kode berikut
‘======================================================
Option Explicit
Public dat As New Collection
Public Sub database()
Dim datex(1 To 2) As String
datex(1) = "1C02FB94"
datex(2) = "New Malware"
dat.Add dat
End Sub
'jika anda memasukkan database baru, maka buatlah perulangan seperti diatas
'tapi gunakan software kalkulasi CRC 32 untuk mendapatkan Cheksumnya...
Oke sekarang kita ketik kode kalkulasi CRC32 nya yang saya browsing di internet..
Kode ini di buat oleh Noel A. Dacara (noeldacara@yahoo.com)
Kode nya sebagai berikut…:
Option Explicit
'API Declaration
Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
'Variable Declarations
Private m_CRC32Asmbl() As Byte
Private m_CRC32Table(0 To 255) As Long
'//--Procedures--//
Function FileChecksum(File As String) As String
'Returns the CRC32 checksum value of a specified file.
'Make sure the file isn't empty or invalid to avoid errors later
If Len(Dir$(File)) = 0 Then
Exit Function
End If
On Error GoTo Err_Handler
Dim Arr() As Byte
Dim f As Integer
f = FreeFile 'Get any available file number for use
Open File For Binary Access Read As f
'Redimensionized array according to length of file
ReDim Arr(0 To LOF(f) - 1) As Byte
Get #f, , Arr() 'Get file contents
Close #f
'Calculate CRC32 checksum
FileChecksum = Hex$(CalculateBytes(Arr))
Err_Handler:
End Function
Function StringChecksum(Str As String) As String
'Returns the CRC32 checksum value of the specified string.
'Make sure the string has contents before execution to avoid errors
If Not Len(Str) = 0 Then
'Convert into an array of bytes
StringChecksum = Hex$(CalculateBytes(StrConv(Str, vbFromUnicode)))
End If
End Function
'Private Function
Private Function CalculateBytes(Arr() As Byte) As Long
Dim CRC32 As Long
CRC32 = &HFFFFFFFF 'CRC32 must have this default value
'Suppress error if array isn't dimensionized
On Local Error GoTo Err_Handler
Dim i As Long
i = UBound(Arr) - LBound(Arr) + 1 'Precalculate size of array
'Execute the precompiled assembler code to calculate and generate CRC32 checksum value
Call CallWindowProc(VarPtr(m_CRC32Asmbl(0)), VarPtr(CRC32), VarPtr(Arr(LBound(Arr))), VarPtr(m_CRC32Table(0)), i)
Err_Handler:
CalculateBytes = (Not CRC32) 'Return CRC32 value
End Function
'Class Procedures
Private Sub Class_Initialize()
Dim i As Long
' Dim j As Long
' Dim lCRC32 As Long
' Const lXOR32 As Long = &HEDB88320
' For i = 0 To 255
' lCRC32 = i
'
' For j = 8 To 1 Step -1
' If (lCRC32 And 1) Then
' lCRC32 = ((lCRC32 And &HFFFFFFFE) \ 2&) And &H7FFFFFFF
' lCRC32 = lCRC32 Xor lxor32
' Else
' lCRC32 = ((lCRC32 And &HFFFFFFFE) \ 2&) And &H7FFFFFFF
' End If
' Next j
'
' m_CRC32Table(i) = lCRC32
' Next i
m_CRC32Table(0) = &H0
m_CRC32Table(1) = &H77073096
m_CRC32Table(2) = &HEE0E612C
m_CRC32Table(3) = &H990951BA
m_CRC32Table(4) = &H76DC419
m_CRC32Table(5) = &H706AF48F
m_CRC32Table(6) = &HE963A535
m_CRC32Table(7) = &H9E6495A3
m_CRC32Table(8) = &HEDB8832
m_CRC32Table(9) = &H79DCB8A4
m_CRC32Table(10) = &HE0D5E91E
m_CRC32Table(11) = &H97D2D988
m_CRC32Table(12) = &H9B64C2B
m_CRC32Table(13) = &H7EB17CBD
m_CRC32Table(14) = &HE7B82D07
m_CRC32Table(15) = &H90BF1D91
m_CRC32Table(16) = &H1DB71064
m_CRC32Table(17) = &H6AB020F2
m_CRC32Table(18) = &HF3B97148
m_CRC32Table(19) = &H84BE41DE
m_CRC32Table(20) = &H1ADAD47D
m_CRC32Table(21) = &H6DDDE4EB
m_CRC32Table(22) = &HF4D4B551
m_CRC32Table(23) = &H83D385C7
m_CRC32Table(24) = &H136C9856
m_CRC32Table(25) = &H646BA8C0
m_CRC32Table(26) = &HFD62F97A
m_CRC32Table(27) = &H8A65C9EC
m_CRC32Table(28) = &H14015C4F
m_CRC32Table(29) = &H63066CD9
m_CRC32Table(30) = &HFA0F3D63
m_CRC32Table(31) = &H8D080DF5
m_CRC32Table(32) = &H3B6E20C8
m_CRC32Table(33) = &H4C69105E
m_CRC32Table(34) = &HD56041E4
m_CRC32Table(35) = &HA2677172
m_CRC32Table(36) = &H3C03E4D1
m_CRC32Table(37) = &H4B04D447
m_CRC32Table(38) = &HD20D85FD
m_CRC32Table(39) = &HA50AB56B
m_CRC32Table(40) = &H35B5A8FA
m_CRC32Table(41) = &H42B2986C
m_CRC32Table(42) = &HDBBBC9D6
m_CRC32Table(43) = &HACBCF940
m_CRC32Table(44) = &H32D86CE3
m_CRC32Table(45) = &H45DF5C75
m_CRC32Table(46) = &HDCD60DCF
m_CRC32Table(47) = &HABD13D59
m_CRC32Table(48) = &H26D930AC
m_CRC32Table(49) = &H51DE003A
m_CRC32Table(50) = &HC8D75180
m_CRC32Table(51) = &HBFD06116
m_CRC32Table(52) = &H21B4F4B5
m_CRC32Table(53) = &H56B3C423
m_CRC32Table(54) = &HCFBA9599
m_CRC32Table(55) = &HB8BDA50F
m_CRC32Table(56) = &H2802B89E
m_CRC32Table(57) = &H5F058808
m_CRC32Table(58) = &HC60CD9B2
m_CRC32Table(59) = &HB10BE924
m_CRC32Table(60) = &H2F6F7C87
m_CRC32Table(61) = &H58684C11
m_CRC32Table(62) = &HC1611DAB
m_CRC32Table(63) = &HB6662D3D
m_CRC32Table(64) = &H76DC4190
m_CRC32Table(65) = &H1DB7106
m_CRC32Table(66) = &H98D220BC
m_CRC32Table(67) = &HEFD5102A
m_CRC32Table(68) = &H71B18589
m_CRC32Table(69) = &H6B6B51F
m_CRC32Table(70) = &H9FBFE4A5
m_CRC32Table(71) = &HE8B8D433
m_CRC32Table(72) = &H7807C9A2
m_CRC32Table(73) = &HF00F934
m_CRC32Table(74) = &H9609A88E
m_CRC32Table(75) = &HE10E9818
m_CRC32Table(76) = &H7F6A0DBB
m_CRC32Table(77) = &H86D3D2D
m_CRC32Table(78) = &H91646C97
m_CRC32Table(79) = &HE6635C01
m_CRC32Table(80) = &H6B6B51F4
m_CRC32Table(81) = &H1C6C6162
m_CRC32Table(82) = &H856530D8
m_CRC32Table(83) = &HF262004E
m_CRC32Table(84) = &H6C0695ED
m_CRC32Table(85) = &H1B01A57B
m_CRC32Table(86) = &H8208F4C1
m_CRC32Table(87) = &HF50FC457
m_CRC32Table(88) = &H65B0D9C6
m_CRC32Table(89) = &H12B7E950
m_CRC32Table(90) = &H8BBEB8EA
m_CRC32Table(91) = &HFCB9887C
m_CRC32Table(92) = &H62DD1DDF
m_CRC32Table(93) = &H15DA2D49
m_CRC32Table(94) = &H8CD37CF3
m_CRC32Table(95) = &HFBD44C65
m_CRC32Table(96) = &H4DB26158
m_CRC32Table(97) = &H3AB551CE
m_CRC32Table(98) = &HA3BC0074
m_CRC32Table(99) = &HD4BB30E2
m_CRC32Table(100) = &H4ADFA541
m_CRC32Table(101) = &H3DD895D7
m_CRC32Table(102) = &HA4D1C46D
m_CRC32Table(103) = &HD3D6F4FB
m_CRC32Table(104) = &H4369E96A
m_CRC32Table(105) = &H346ED9FC
m_CRC32Table(106) = &HAD678846
m_CRC32Table(107) = &HDA60B8D0
m_CRC32Table(108) = &H44042D73
m_CRC32Table(109) = &H33031DE5
m_CRC32Table(110) = &HAA0A4C5F
m_CRC32Table(111) = &HDD0D7CC9
m_CRC32Table(112) = &H5005713C
m_CRC32Table(113) = &H270241AA
m_CRC32Table(114) = &HBE0B1010
m_CRC32Table(115) = &HC90C2086
m_CRC32Table(116) = &H5768B525
m_CRC32Table(117) = &H206F85B3
m_CRC32Table(118) = &HB966D409
m_CRC32Table(119) = &HCE61E49F
m_CRC32Table(120) = &H5EDEF90E
m_CRC32Table(121) = &H29D9C998
m_CRC32Table(122) = &HB0D09822
m_CRC32Table(123) = &HC7D7A8B4
m_CRC32Table(124) = &H59B33D17
m_CRC32Table(125) = &H2EB40D81
m_CRC32Table(126) = &HB7BD5C3B
m_CRC32Table(127) = &HC0BA6CAD
m_CRC32Table(128) = &HEDB88320
m_CRC32Table(129) = &H9ABFB3B6
m_CRC32Table(130) = &H3B6E20C
m_CRC32Table(131) = &H74B1D29A
m_CRC32Table(132) = &HEAD54739
m_CRC32Table(133) = &H9DD277AF
m_CRC32Table(134) = &H4DB2615
m_CRC32Table(135) = &H73DC1683
m_CRC32Table(136) = &HE3630B12
m_CRC32Table(137) = &H94643B84
m_CRC32Table(138) = &HD6D6A3E
m_CRC32Table(139) = &H7A6A5AA8
m_CRC32Table(140) = &HE40ECF0B
m_CRC32Table(141) = &H9309FF9D
m_CRC32Table(142) = &HA00AE27
m_CRC32Table(143) = &H7D079EB1
m_CRC32Table(144) = &HF00F9344
m_CRC32Table(145) = &H8708A3D2
m_CRC32Table(146) = &H1E01F268
m_CRC32Table(147) = &H6906C2FE
m_CRC32Table(148) = &HF762575D
m_CRC32Table(149) = &H806567CB
m_CRC32Table(150) = &H196C3671
m_CRC32Table(151) = &H6E6B06E7
m_CRC32Table(152) = &HFED41B76
m_CRC32Table(153) = &H89D32BE0
m_CRC32Table(154) = &H10DA7A5A
m_CRC32Table(155) = &H67DD4ACC
m_CRC32Table(156) = &HF9B9DF6F
m_CRC32Table(157) = &H8EBEEFF9
m_CRC32Table(158) = &H17B7BE43
m_CRC32Table(159) = &H60B08ED5
m_CRC32Table(160) = &HD6D6A3E8
m_CRC32Table(161) = &HA1D1937E
m_CRC32Table(162) = &H38D8C2C4
m_CRC32Table(163) = &H4FDFF252
m_CRC32Table(164) = &HD1BB67F1
m_CRC32Table(165) = &HA6BC5767
m_CRC32Table(166) = &H3FB506DD
m_CRC32Table(167) = &H48B2364B
m_CRC32Table(168) = &HD80D2BDA
m_CRC32Table(169) = &HAF0A1B4C
m_CRC32Table(170) = &H36034AF6
m_CRC32Table(171) = &H41047A60
m_CRC32Table(172) = &HDF60EFC3
m_CRC32Table(173) = &HA867DF55
m_CRC32Table(174) = &H316E8EEF
m_CRC32Table(175) = &H4669BE79
m_CRC32Table(176) = &HCB61B38C
m_CRC32Table(177) = &HBC66831A
m_CRC32Table(178) = &H256FD2A0
m_CRC32Table(179) = &H5268E236
m_CRC32Table(180) = &HCC0C7795
m_CRC32Table(181) = &HBB0B4703
m_CRC32Table(182) = &H220216B9
m_CRC32Table(183) = &H5505262F
m_CRC32Table(184) = &HC5BA3BBE
m_CRC32Table(185) = &HB2BD0B28
m_CRC32Table(186) = &H2BB45A92
m_CRC32Table(187) = &H5CB36A04
m_CRC32Table(188) = &HC2D7FFA7
m_CRC32Table(189) = &HB5D0CF31
m_CRC32Table(190) = &H2CD99E8B
m_CRC32Table(191) = &H5BDEAE1D
m_CRC32Table(192) = &H9B64C2B0
m_CRC32Table(193) = &HEC63F226
m_CRC32Table(194) = &H756AA39C
m_CRC32Table(195) = &H26D930A
m_CRC32Table(196) = &H9C0906A9
m_CRC32Table(197) = &HEB0E363F
m_CRC32Table(198) = &H72076785
m_CRC32Table(199) = &H5005713
m_CRC32Table(200) = &H95BF4A82
m_CRC32Table(201) = &HE2B87A14
m_CRC32Table(202) = &H7BB12BAE
m_CRC32Table(203) = &HCB61B38
m_CRC32Table(204) = &H92D28E9B
m_CRC32Table(205) = &HE5D5BE0D
m_CRC32Table(206) = &H7CDCEFB7
m_CRC32Table(207) = &HBDBDF21
m_CRC32Table(208) = &H86D3D2D4
m_CRC32Table(209) = &HF1D4E242
m_CRC32Table(210) = &H68DDB3F8
m_CRC32Table(211) = &H1FDA836E
m_CRC32Table(212) = &H81BE16CD
m_CRC32Table(213) = &HF6B9265B
m_CRC32Table(214) = &H6FB077E1
m_CRC32Table(215) = &H18B74777
m_CRC32Table(216) = &H88085AE6
m_CRC32Table(217) = &HFF0F6A70
m_CRC32Table(218) = &H66063BCA
m_CRC32Table(219) = &H11010B5C
m_CRC32Table(220) = &H8F659EFF
m_CRC32Table(221) = &HF862AE69
m_CRC32Table(222) = &H616BFFD3
m_CRC32Table(223) = &H166CCF45
m_CRC32Table(224) = &HA00AE278
m_CRC32Table(225) = &HD70DD2EE
m_CRC32Table(226) = &H4E048354
m_CRC32Table(227) = &H3903B3C2
m_CRC32Table(228) = &HA7672661
m_CRC32Table(229) = &HD06016F7
m_CRC32Table(230) = &H4969474D
m_CRC32Table(231) = &H3E6E77DB
m_CRC32Table(232) = &HAED16A4A
m_CRC32Table(233) = &HD9D65ADC
m_CRC32Table(234) = &H40DF0B66
m_CRC32Table(235) = &H37D83BF0
m_CRC32Table(236) = &HA9BCAE53
m_CRC32Table(237) = &HDEBB9EC5
m_CRC32Table(238) = &H47B2CF7F
m_CRC32Table(239) = &H30B5FFE9
m_CRC32Table(240) = &HBDBDF21C
m_CRC32Table(241) = &HCABAC28A
m_CRC32Table(242) = &H53B39330
m_CRC32Table(243) = &H24B4A3A6
m_CRC32Table(244) = &HBAD03605
m_CRC32Table(245) = &HCDD70693
m_CRC32Table(246) = &H54DE5729
m_CRC32Table(247) = &H23D967BF
m_CRC32Table(248) = &HB3667A2E
m_CRC32Table(249) = &HC4614AB8
m_CRC32Table(250) = &H5D681B02
m_CRC32Table(251) = &H2A6F2B94
m_CRC32Table(252) = &HB40BBE37
m_CRC32Table(253) = &HC30C8EA1
m_CRC32Table(254) = &H5A05DF1B
m_CRC32Table(255) = &H2D02EF8D
Const ASM As String = "5589E557565053518B45088B008B750C8B7D108B4D1431DB8A1E30C3C1E80833049F464975F28B4D088901595B585E5F89EC5DC21000"
ReDim m_CRC32Asmbl(0 To Len(ASM) \ 2 - 1) 'Initialize CRC32 precompiled assembly code
For i = 1 To Len(ASM) Step 2
m_CRC32Asmbl(i \ 2) = Val("&H" & Mid$(ASM, i, 2))
Next i
End Sub
Oke sekarang silahkan ketikkan alamat dimana anda hendak menscan virus..
Mohon maav,,saya tidak sempat menjelaskan semuanya,,soalnya udah lemes neh..dari subuh blum makan.heheh.sekarang dah jam 15.30 .dan maav juga klo neh AntiVirus Terlalu sederhana,,tapi nanti saya akan mencoba untuk membeberkan beberapa teknik lain, seperti Realtime Protector,PE Cheksum, etc.tapi gak sekarang ya…cape..hehehe..sekian antivirus sederhana ini, mudah mudahan bisa dikembangkan sebaik baiknya..,,sebenernya neh antivirus adalah dasar dari AIRAV versi paling tua dulu..hehehe..sekarang mah dah beda….
Thanks for all..
Thanks for my brother RIAN HIDAYAT..(POLITEKNIK UNAND)
Thanks for my Friend SMA N 1 Sungayang
CMIIW (Correct me if I wrong)
Artikel selanjutnya : MEMBUAT KEYLOGGER SENDIRI DENGAN VB 6.0 Buat Hacking Password,,dengan teknik tambahan yang membuat KEYLOGGER KITA TSB TAK BISA DIBUNUH DENGAN TASK MANAGER...File Ringan, tidak terdeteksi oleh ANTIVIRUS sebagai trojan, dan beberapa teknik lainnya yang menyangkut pemasangan KEYLOGGER yang terhambat DEEPFREEZE dan cara PEMBOBOLAN DEEPFREEZE dengan mudah.....
........Comming Soon.........
Artikel selanjutnya : MEMBUAT KEYLOGGER SENDIRI DENGAN VB 6.0 Buat Hacking Password,,dengan teknik tambahan yang membuat KEYLOGGER KITA TSB TAK BISA DIBUNUH DENGAN TASK MANAGER...File Ringan, tidak terdeteksi oleh ANTIVIRUS sebagai trojan, dan beberapa teknik lainnya yang menyangkut pemasangan KEYLOGGER yang terhambat DEEPFREEZE dan cara PEMBOBOLAN DEEPFREEZE dengan mudah.....
........Comming Soon.........
Wah terimakasih mas artikelnya bermanfaat banget nih, semoga berkah ya..
BalasHapusEmang sip deh...ini beneran original,gak kayak blog lain yang suka copast...terimakasih banyak admin...
BalasHapusmakasih sob kayak nyah ini bisa
BalasHapusKang itu dibagian Statistik, apa namanya toolboxnya apa ?
BalasHapuspake gambar donk biar lebih jelas...
BalasHapusWah bagus banget gan tutorialnya.. coba codingnua dimasukin ke Pastebin biar lebih rapi.. terima kasih tutorialnya.
BalasHapusMasih hidupkah min ?
BalasHapus