MEMOTONG BAGIAN VIRUS YANG MENEMPEL DI FILE
Untuk dapat memotong virus tersebut, cukup ketikkan kode di bawah ini:
Private Sub CutPaste(OP As Boolean, PasteBytes() As Byte)
'TRUE=Cut..FALSE=Paste
SL = 331299 '662598 '331299
If SFP >= 0 Or SL > 0 Then
Dim nBytes As Long
Dim I As Long
If OP = False Then 'Paste
nBytes = UBound(PasteBytes)
ReDim Preserve WorkSpace(1 To FL + nBytes)
' Move the bytes DOWN in the Array--Dest,Src,Bytes to move
If FL - SFP > 0 Then Call CopyMemory(ByVal VarPtr(WorkSpace(nBytes + SFP + 1)), ByVal VarPtr(WorkSpace(SFP + 1)), FL - SFP)
' Copy the selected data to the Array--Dest,Src,Bytes to move
Call CopyMemory(ByVal VarPtr(WorkSpace(SFP + 1)), PasteBytes(1), nBytes)
FL = FL + nBytes
Else 'Cut
If FL - SL > 0 Then
' Move the Data UP in the Array--Dest,Src,Bytes to move
If FL - (SL + SFP) > 0 Then Call CopyMemory(ByVal VarPtr(WorkSpace(SFP + 1)), ByVal VarPtr(WorkSpace(SL + SFP + 1)), FL - (SL + SFP))
FL = FL - SL
ReDim Preserve WorkSpace(1 To FL)
Else
ReDim WorkSpace(1 To 1)
FL = 1
End If
End If
If FF > FL Then FF = FL
If FF < 0 Then FF = 0
'ShowFileInfo
End If
End Sub
guna skrip di atas tadi adalah untuk memotong bagian yang berukuran 331299 byte atau ukuran virus itu sendiri ... lalu setelah dipotong, bagaimana cara menyimpannya?
MENYIMPAN FILE YANG TELAH DIBERSIHKAN
Cukup ketikkan kode di bawah ini:
Private Sub goSave()
On Error GoTo CLSerr
Dim Fnum As Integer
Dim Fname As String
Dim saveok As Boolean
If optxls.Value = True Then
'MsgBox Left(CommonDialog1.FileName, Len(CommonDialog1.FileName) - 3)
Fname = Left(CommonDialog1.FileName, Len(CommonDialog1.FileName) - 4) & "_fix" & ".xls"
'MsgBox Right(Fname, 4), 0, "dsasd"
End If
If optdoc.Value = True Then
Fname = Left(CommonDialog1.FileName, Len(CommonDialog1.FileName) - 4) & "_fix" & ".doc"
'MsgBox Right(Fname, 3), 0, "dsasd"
End If
If FSO.FileExists(Fname) Then FSO.DeleteFile (Fname)
Fnum = FreeFile
Open Fname For Binary Access Write As Fnum
Put Fnum, , WorkSpace()
Close Fnum
OpenFileName = Fname
FL = FSO.GetFile(OpenFileName).Size
Exit Sub
CLSerr:
If Err <> 32755 Then MsgBox (Error & vbCr & vbCr & "Error Number: " & Str(Err)), vbCritical, "! ERROR !"
End Sub
File yang dibersihkan akan disimpan sesuai nama file dan extensinya, tapi nama file-nya ditambahi judul "_fix" gitu untuk membedakan file yang sakit
dan yang sehat
...
nah mudah bukan??? ..... berikut saya sertakan source code dan program installer untuk yang tidak bisa membuka file .exe nya ... okay ...
DOWNLOAD SOURCECODE FIXFILE
DOWNLOAD INSTALLER
PS : SEKALI LAGI INI BUKAN MURNI SAYA YG BIKIN COBA LIHAT DI SOURCE CODE PALING ATAS, SAYA HANYA MERANGKAINYA DAN MEN-DEVELOPE-NYA SAJAH...
TRIMS [-o< [-o< [-o<