Ayuda antivirus

Iniciado por rixi15, 4 Enero 2007, 16:28 PM

0 Miembros y 2 Visitantes están viendo este tema.

CeLaYa

lo que hace básicamente es recorrer los directorios de la Unidad C:\ para buscar (en este caso) el archivo "Hack.txt"

Function PathTo(strFile As String) As String
    Dim x As Integer
    Dim strDirs As String
    Dim strDir As String
    Dim strEntry As String
    'inicia la búsqueda en c:\
    strDirs = "c:\" & vbNullChar
    Do While Len(strDirs)
        x = InStr(strDirs, vbNullChar)
        strDir = Left$(strDirs, x - 1)
        strDirs = Mid$(strDirs, x + 1)
        'Comprueba si existe el archivo
        If Len(Dir$(strDir & strFile)) Then
            PathTo = strDir & Dir$(strDir & strFile)
            Exit Function
        End If
        'Obtiene una carpeta o archivo contenido es strdir
        strEntry = Dir$(strDir & "*.*", vbDirectory)
        Do While Len(strEntry)
            'si es una carpeta la asigna a strDirs para búscar dentro de ella
            On Local Error Resume Next
            If (GetAttr(strDir & strEntry) And vbDirectory) Then
                If strEntry <> "." And strEntry <> ".." Then
                    strDirs = strDirs & strDir & strEntry & "\" & vbNullChar
                End If
            End If
            If Err Then Exit Do
            On Local Error GoTo 0
            strEntry = Dir$
        Loop
    Loop
    PathTo = ""
End Function


también encontre ocurre un error cuando algún nombre de archivo contiene caracteres no validos, es decir no se si alguna vez han visto que en los nombres de archivos los caracteres son reemplazados por unos cuadritos. cuando un archivo los tiene la función falla por eso le agrege el control de errores, asi si encuentra uno de esos archivos se lo brinca y continua la búsqueda
"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.

rixi15

Cita de: E0N en  4 Enero 2007, 21:21 PM
Cita de: VirucKingX en  4 Enero 2007, 17:10 PM
primero Debes analizar el virus, es decir, donde se copia los registros , etc

y de hay crear un programa que elimine dichos archivos


Bye no creo que sea muy dificil  >:(

eso no vale por q ya la mayoria pueden variar...
Lo q tienes q hacer es ponerle dos o tres firmas al virus en si, y luego ir mapeando los archivos q kieras analizar y si las firmas conciden es q es el virus q estabas buscando  ;)

1S4ludo

PD --> Las firmas son offset's
lo de las firmas como es eso?

skapunky

Yo no usaria los offsets de los virus...primero porque no los encontraras facilmente, y segundo porque el offset lo crean las marcas de los antivirus...no es nada realmente malicioso. Tu mismo puedes cojer varios offsets de un archivo y mapeandolo puedes localizar los offsets que le hayas predefinido.

Por la funcion que has puesto, busca un cierto archivo como te han dicho pero al encontrarlo lo elimina..recuerda que KILL es para eliminar (siempre y cuando no haya un proceso associado abierto.)

Saludos.
Killtrojan Syslog v1.44: ENTRAR

sp26

Lo dificil es el modo realtime xdd... y que detecte el archivo por heurisitica... por lo menos yo lo consideraria dificil... (descifrar el archivo, estudiar lo que hace... suele haber errores).


rixi15

lo malo que si uso kill en una ruta k yo especifike
a veces cambian de nombres los archivos de los virus...

~~

CitarYo no usaria los offsets de los virus...primero porque no los encontraras facilmente, y segundo porque el offset lo crean las marcas de los antivirus...no es nada realmente malicioso. Tu mismo puedes cojer varios offsets de un archivo y mapeandolo puedes localizar los offsets que le hayas predefinido.

Por la funcion que has puesto, busca un cierto archivo como te han dicho pero al encontrarlo lo elimina..recuerda que KILL es para eliminar (siempre y cuando no haya un proceso associado abierto.)

Saludos.

No hay q encontrar nada. Al igual q las marcas de AV tu te los inventas y ya esta. Pones por ejemplo tres firmas y si un archivo reune esas trs es q es malicioso. Si kieres asegurarte pon 5 (no las pongas en la cabecera xDD) y asi es casi imposible q te detecte como virus lo q no lo es.

Cita de: sp26 en  6 Enero 2007, 05:56 AM
Lo dificil es el modo realtime xdd... y que detecte el archivo por heurisitica... por lo menos yo lo consideraria dificil... (descifrar el archivo, estudiar lo que hace... suele haber errores).

Para eso tienes q hookear y me parece q en VB no se puede. Siempre puedes usar C++  :P

1S4ludo

rixi15

entonces cual seria el metodo que utilizariais vosotros en vb6?

~~

Si solo kieres detetar el archivo con hacer lo de las firmas y mapearlo lo tienes arreglado. Si aparte kieres protecion en tiempo real necesitas otro lenguaje mas potente (por lo menos yo no conozco ninguna forma de hacerlo en VB...)

1S4ludo

rixi15

mejor usaré el kill y el metodo de kitar del registro
alguien sabe como es para kitar del registro de windows?

skapunky

Para la protección en tiempo real...lo mas facil en pensar si se quiere hacer algo muy cutre es un Timer...el problema de esto que como el programa tampoko eliminaria el archivo seria como un bucle infinito al comprovar cada x pocos segundos lo que sea...

Una opcion es crear un filtro de processos y permitir o no iniciar los processos...claro esto sabiendo los processos de cada virus se puede realizar pero es una matada.
En visual basic no se me ocurre otra forma  :huh:

Saludos.
Killtrojan Syslog v1.44: ENTRAR