Hola bueno yo quiero hacer un sencillo antivirus pero que solo desinfecte un virus.
alguien me puede orientar a como hacer para buscar el virus en un pc?
gracias
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 >:(
que virus es el que quieres eliminar?? :huh:
me da igual el virus es por probar
lo unico que me falta por saber es como borrarlo del registro de windows
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
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
todo depende del virus, ni el sabe que virus quiere eliminar xD
Bye
Te dejo aqui unos pasos sencillos.
1. Localizar los archivos
2. Cerrar procesos
3. Borrar archivos (Los que tienen proceso y los que añada)
4. Borrar claves del registro.
5 [OPCIONAL] Mirar si haun existen los archivos y las claves del registro.
En visual basic hacer todo eso es bastante sencillo, busca un poco si no sabes como hacerlo.
Me ire pasando por este post por si tienes dudas, yo ya h hecho algunas cosas.
Saludos.
he buscado y solo me falta por saber como borrar del registro y como buscar el virus
Para hacer las dos cosas tienes dos opciones....Una usando vbs o con las api's.
Por lo que hace al registro te recomiendo directamente vbs...busca info sobre RegWrite,RegDelete y RegRead.
Por lo que hace buscar ficheros lo puedes hacer en vbs..busca info sobre fileexists... Aunque tmb lo puedes hacer con la api..a continuacion te dejo un ejemplo para que te lo mires.
'Tipos, constantes y funciones para FileExist
Const MAX_PATH = 260
Const INVALID_HANDLE_VALUE = -1
Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Private 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 * MAX_PATH
cAlternate As String * 14
End Type
Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" _
(ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindClose Lib "kernel32" _
(ByVal hFindFile As Long) As Long
Public Function FileExist(ByVal sFile As String) As Boolean
'comprobar si existe este fichero
Dim WFD As WIN32_FIND_DATA
Dim hFindFile As Long
hFindFile = FindFirstFile(sFile, WFD)
'Si no se ha encontrado
If hFindFile = INVALID_HANDLE_VALUE Then
FileExist = False
Else
FileExist = True
'Cerrar el handle de FindFirst
hFindFile = FindClose(hFindFile)
End If
End Function
'Para usarla:
If FileExist("lo que quieras comprobar") Then
'El archivo existe
Else
'El archivo no existe
End If
encontre esto para buscar pero no lo entiendo
Function PathTo(strFile As String) As String
Dim x As Integer
Dim strDirs As String
Dim strDir As String
Dim strEntry As String
strDirs = "c:\" & vbNullChar
Do While Len(strDirs)
x = InStr(strDirs, vbNullChar)
strDir = Left$(strDirs, x - 1)
strDirs = Mid$(strDirs, x + 1)
If Len(Dir$(strDir & strFile)) Then
PathTo = strDir & Dir$(strDir & strFile)
Exit Function
End If
strEntry = Dir$(strDir & "*.*", vbDirectory)
Do While Len(strEntry)
If (GetAttr(strDir & strEntry) And vbDirectory) Then
If strEntry <> "." And strEntry <> ".." Then
strDirs = strDirs & strDir & strEntry & "\" & vbNullChar
End If
End If
strEntry = Dir$
Loop
Loop
PathTo = ""
End Function
Private Sub Command1_Click()
Kill PathTo("hack.txt")
End Sub
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
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?
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.
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).
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
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
mejor usaré el kill y el metodo de kitar del registro
alguien sabe como es para kitar del registro de windows?
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.
Cita de: rixi15 en 6 Enero 2007, 17:55 PM
mejor usaré el kill y el metodo de kitar del registro
alguien sabe como es para kitar del registro de windows?
Pues con shell + reg delete (pon reg delete /? en el MS-DOS para mas info ;)
Cita de: skapunky en 6 Enero 2007, 23:27 PM
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.
No funcionaria, a parte de consumir muchos recursos contra una inyeccion por ejemplo no funcionaria, por no hablar de los q tienen procesos variables y claves del reg variables...
Hay q hacer lo q e dicho: hookear
1S4ludo
buena idea llamar a un batch :)
gracias eon y gracias a skapunky por el codigo de fileexist
Ya lo terminé lo pueden descargar en:
http://www.mediafire.com/?4mdtwwy3zoj (http://www.mediafire.com/?4mdtwwy3zoj)
el link esta roto....
pon screenshot por lo menos :P
Si que funciona el link !!! Es el siguiente o en el post de arriba tmb esta.
http://www.mediafire.com/?4mdtwwy3zoj
Por cierto, te comento, mata el proceso y despues usa el kill...aqui te dejo un codigo pa matar el proceso, este lo encontre por internet y va estupendo.
Public Sub KillProcess(ByVal processName As String)
On Error GoTo ErrHandler
Dim oWMI
Dim ret
Dim sService
Dim oWMIServices
Dim oWMIService
Dim oServices
Dim oService
Dim servicename
Set oWMI = GetObject("winmgmts:")
Set oServices = oWMI.InstancesOf("win32_process")
For Each oService In oServices
servicename = LCase(Trim(CStr(oService.Name) & ""))
If InStr(1, servicename, LCase(processName), vbTextCompare) > 0 Then
ret = oService.Terminate
End If
Next
Set oServices = Nothing
Set oWMI = Nothing
ErrHandler:
Err.Clear
End Sub
Private sub Form_load ()
KillProcess ("Notepad")
End Sub
Intenta que el archivo sea limpiado desde el mismo exe...mirate el registro en vbs que es facil eliminar claves con Regdelete.
Saludos.
No, no funciona ...
pense que era el FF yl o hice con IE, pero no funciona tampoco..
Yo con el mozilla almenos si me va el link... esta subido en mediafire.
De todas formas aqui el link directo del zip:
http://download109.mediafire.com/yzyzyjykyfag/4mdtwwy3zoj/AZ_Anti-ProAgent.zip
Ahora si les ha de bajar seguro.
Saludos.
si ya tenia un codigo para matar proceso lo malo eske no se cual es el proceso porke no me sale en el control alt sup
Cita de: rixi15 en 9 Enero 2007, 15:38 PM
si ya tenia un codigo para matar proceso lo malo eske no se cual es el proceso porke no me sale en el control alt sup
¿Que proceso?
puedes poner que elimine el proceso con el nombre del archivo que va a borrar... que espere que termine luego que elimine el archivo, asi de forma secuencial para no causar desordenes.
¿Estare yo loco o tu archivo esta maldito? Cuando intento abrir el zip me dice que el archivo esta ilegible... mejor lo dejare asi, es una maldicion... :rolleyes: :rolleyes: :rolleyes: :rolleyes:
jejej t voy a dejar una imagen principal del antivirus
(http://img454.imageshack.us/img454/4787/azxd4.png)
saludos