Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: arley12 en 20 Noviembre 2011, 19:19 pm



Título: Ayuda con lectura de una signature en 1 carpeta
Publicado por: arley12 en 20 Noviembre 2011, 19:19 pm
Buneo un saludo aqui les comento mi problema

lo que me sucede es que estoy desarollando un antivirus pero lo que tengo hasta ahora es que solo lee una definicion de virus osea solo lee cierto archivo lo que quiero hacer es que lea todos los archivos que tengan sierta extensencion por ejemplo .vir y haci no tener que estar reemplazando el archivo dela definicion y que todo archivo que tenga esa extensiion "def.vir" "def2.vir" sea leida por el av aqui esta el code que tiene para leer solo 1 archivo:

Código:
Option Explicit
Public jmlProcess As Integer
Public sCRC As String
Public Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As String) As Long
'Check if a path or file exists
Public Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long

'Checks if a folder or file exists
Public Function FileorFolderExists(FolderOrFilename As String) As Boolean
    If PathFileExists(FolderOrFilename) = 1 Then
        FileorFolderExists = True
    ElseIf PathFileExists(FolderOrFilename) = 0 Then
        FileorFolderExists = False
    End If
End Function

Public Sub ReadSig()

    Dim F As Long
    On Error GoTo Trap_Error
    F = FreeFile
    Open App.path & "\Signature.db" For Binary Access Read As #F
        Get #F, , VSInfo
        ReDim VSig(VSInfo.VirusCount - 1) As VirusSig
        Dim i As Integer
        For i = 0 To VSInfo.VirusCount - 1
            Get #F, , VSig(i)
        Next
    Close #F

   On Error GoTo 0
   Exit Sub

Trap_Error:

    MsgBox "Error " & err.Number & " (" & err.Description & ") in procedure GetData of Form Database"
End Sub

Public Sub WriteSig(ByRef vs As VirusSig)
   
    Dim F As Long
    On Error GoTo Trap_Error
    F = FreeFile
   
    Dim i As Long
   
    'add 1 item into array
    ReDim Preserve VSig(UBound(VSig) + 1) As VirusSig
    VSig(UBound(VSig)).Name = vs.Name
    VSig(UBound(VSig)).Type = vs.Type
    VSig(UBound(VSig)).value = vs.value
   
    'add 1 for count
    VSInfo.VirusCount = UBound(VSig) + 1
    VSInfo.LastUpdate = Format(Date, "dd/mmmm/yyyy")
    Open App.path & "\Signature.db" For Binary Access Write As #F
        Put #F, , VSInfo
        For i = 0 To UBound(VSig)
            Put #F, , VSig(i)
        Next
    Close #F

   On Error GoTo 0
   Exit Sub

Trap_Error:

    MsgBox "Error " & err.Number & " (" & err.Description & ") in procedure PutData of Form Database"
End Sub





Título: Re: Ayuda con lectura de una signature en 1 carpeta
Publicado por: seba123neo en 20 Noviembre 2011, 21:09 pm
antivirus en visual basic 6 ?


Título: Re: Ayuda con lectura de una signature en 1 carpeta
Publicado por: BlackZeroX en 20 Noviembre 2011, 21:19 pm
http://www.planet-source-code.com/vb/scripts/BrowseCategoryOrSearchResults.asp?txtCriteria=antivirus&lngWId=1

Si vas a hacer un AV independientemente del lenguaje, no uses tanto el trato de errores en el desarrollo... y si los usas en este caso entonces LIMPIA LOS ERRORES  err.clear.

Dulces Lunas1¡.


Título: Re: Ayuda con lectura de una signature en 1 carpeta
Publicado por: arley12 en 21 Noviembre 2011, 04:04 am
no me han servido = ya estan hechos


Título: Re: Ayuda con lectura de una signature en 1 carpeta
Publicado por: ignorantev1.1 en 21 Noviembre 2011, 19:48 pm
Este código leerá todos los archivos ubicados en determinado directorio, en este caso "C:\":
Citar
    Dim Var as String
    Var = Dir$("C:")
    While Var <> ""
        Print Var
        Var = Dir$
    Wend

Quedaría por comprobar qué tipo de archivos son...

Saludos!


Título: Re: Ayuda con lectura de una signature en 1 carpeta
Publicado por: BlackZeroX en 21 Noviembre 2011, 22:23 pm
.
Para buscar archivos por criterios:

CFindFiles (Busqueda Multicriterio) (http://infrangelux.hostei.com/index.php?option=com_content&view=article&id=4:clasfilesearch-v10&catid=2:catprocmanager&Itemid=3).

Dulces Lunas!¡.