Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: jdc en 6 Noviembre 2008, 06:27 am



Título: Borrador de autorun.inf xD Copia del programa de carlitos.dll
Publicado por: jdc en 6 Noviembre 2008, 06:27 am
La idea original es de carlitos.dll en C
El programa revisa cada par de segundos si existe el autorun.inf en las unidades C,D,F y G y si lo encuentra lo borra xD
Para esto puse 4 timers.
No soy programador todavia, solo copie un par de lineas desde programas y tutoriales (incluyendo un tuto muy bueno de aqui de VBS y los ordene para que hicieran lo que proponia carlitos.dll :)
Crear
4 timers:
Timer1, Timer2, Timer3, Timer4 con interval: 200 para que cada timer revise las unidades seguido

El form ponganlo con visible = False para que no se vea... quiero ver como poder hacerlo visible por medio de una combinacion de teclas pero aun no se hacerlo.
Codigo:
Código
  1. Private Sub Form_Load()
  2. MsgBox ("El programa se esta ejecutando")
  3. End Sub
  4.  
  5. Private Sub Timer1_Timer()
  6. On Error GoTo Falso
  7. archivo = GetAttr("C:\autorun.inf")
  8. Set variable = CreateObject("Scripting.FileSystemObject")
  9. variable.DeleteFile "C:\autorun.inf"
  10. Exit Sub
  11. Falso:
  12. End Sub
  13.  
  14. Private Sub Timer2_Timer()
  15. On Error GoTo Falso
  16. archivo = GetAttr("D:\autorun.inf")
  17. Set variable = CreateObject("Scripting.FileSystemObject")
  18. variable.DeleteFile "D:\autorun.inf"
  19. Exit Sub
  20. Falso:
  21. End Sub
  22.  
  23. Private Sub Timer3_Timer()
  24. On Error GoTo Falso
  25. archivo = GetAttr("G:\autorun.inf")
  26. Set variable = CreateObject("Scripting.FileSystemObject")
  27. variable.DeleteFile "G:\autorun.inf"
  28. Exit Sub
  29. Falso:
  30. End Sub
  31.  
  32. Private Sub Timer4_Timer()
  33. On Error GoTo Falso
  34. archivo = GetAttr("F:\autorun.inf")
  35. Set variable = CreateObject("Scripting.FileSystemObject")
  36. variable.DeleteFile "F:\autorun.inf"
  37. Exit Sub
  38. Falso:
  39. End Sub

Obsevacion:
Para cerrarlo por ahora control + Alt + Supr y cierran el proceso ;)
Repito son recortes de codigos de tutoriales yo no lo programe en si solo lo ordene ¬¬  asi que no me llamen lammer.... newie tal vez pero lammer no... si lo hacen prometo que me cortare las venas con una cuchara xD

Saludos y arreglenlo, mejorenlo y usenlo para el bien xD

Aqui se los dejo ya compilado http://www.sendspace.com/file/4f45l2




Título: Re: Borrador de autorun.inf xD Copia del programa de carlitos.dll
Publicado por: Novlucker en 6 Noviembre 2008, 11:08 am
Como mejora... si vas a utilizar scripting.filesystemobject deberías de eliminar eso de C:, D:, G:, F: (buscas en todas las unidades) y utilizar drives
Código
  1. Set variable = CreateObject("Scripting.FileSystemObject")
  2. Set unidades = variable.drives
  3. For each u in unidades
  4. Msgbox u.driveletter
  5. Next
Claro está que además sería conveniente utilizar drivetype para evitar intentar borra la lectora  :P
Saludos  ;)


Título: Re: Borrador de autorun.inf xD Copia del programa de carlitos.dll
Publicado por: Ari--Slash en 6 Noviembre 2008, 14:52 pm
porque que hace el drivetype?


disculpa mi ignorancia  :xD


Título: Re: Borrador de autorun.inf xD Copia del programa de carlitos.dll
Publicado por: Novlucker en 6 Noviembre 2008, 15:00 pm
Es una de las propiedades de los elementos de la colección de discos, indica el tipo de disco.

Valor
0
1
2
3
4
5
   Tipo
Unknown/Desconocido
Removable/Removible
Fixed/Rígido
Network/Red
CD-Rom
RAM Disk
Si es un 4 por ejemplo, no puedes escribir en él así como así, y da error
Saludos  ;)


Título: Re: Borrador de autorun.inf xD Copia del programa de carlitos.dll
Publicado por: jdc en 6 Noviembre 2008, 17:12 pm
Como mejora... si vas a utilizar scripting.filesystemobject deberías de eliminar eso de C:, D:, G:, F: (buscas en todas las unidades) y utilizar drives
Código
  1. Set variable = CreateObject("Scripting.FileSystemObject")
  2. Set unidades = variable.drives
  3. For each u in unidades
  4. Msgbox u.driveletter
  5. Next
Claro está que además sería conveniente utilizar drivetype para evitar intentar borra la lectora  :P
Saludos  ;)

Gracias por el consejo tratare de hacerlo asi para que revise las unidades existentes omitiendo el lector de DVD/CD

No sabes como podria usar una combinacion de letras para volver a hacer visible el form?? osea por ejemplo "Shif + F6" le da verdadero a visible? o algo similar?


Título: Re: Borrador de autorun.inf xD Copia del programa de carlitos.dll
Publicado por: seba123neo en 7 Noviembre 2008, 00:35 am
Cita de: Pollo5
No sabes como podria usar una combinacion de letras para volver a hacer visible el form?? osea por ejemplo "Shif + F6" le da verdadero a visible? o algo similar?

algo asi:

Modulo:

Código
  1. Option Explicit
  2.  
  3. Public WinProc As Long
  4.  
  5. Public Const GWL_WNDPROC = (-4)
  6. Public Const MOD_SHIFT As Long = &H4
  7. Public Const VK_F6 As Long = &H75
  8.  
  9. Public Declare Function RegisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal id As Long, ByVal fsModifiers As Long, ByVal vk As Long) As Long
  10. Public Declare Function UnregisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal id As Long) As Long
  11. Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  12. Public 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
  13.  
  14.  
  15. Public Function NewWindowProc(ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  16.  
  17. If Msg = &H82 Then
  18.    Call SetWindowLong(hWnd, GWL_WNDPROC, WinProc)
  19.    Call UnregisterHotKey(hWnd, 1)
  20. End If
  21.  
  22. If Msg = &H312 Then
  23.    MsgBox "Apretaste SHIFT+F6", vbInformation
  24. End If
  25.  
  26. NewWindowProc = CallWindowProc(WinProc, hWnd, Msg, wParam, lParam)
  27.  
  28. End Function

Formulario:

Código
  1. Option Explicit
  2.  
  3. Private Sub Form_Load()
  4.  
  5. If RegisterHotKey(hWnd, 1, MOD_SHIFT, VK_F6) = 0 Then
  6.    MsgBox " Error ", vbCritical
  7.    Exit Sub
  8. End If
  9.  
  10. WinProc = SetWindowLong(hWnd, GWL_WNDPROC, AddressOf NewWindowProc)
  11. End Sub

aparte se puede hacer sin FSO , directamente con las funciones de visual basic..asi no creas objetos.

saludos.



Título: Re: Borrador de autorun.inf xD Copia del programa de carlitos.dll
Publicado por: jdc en 7 Noviembre 2008, 01:39 am
Muchas gracias intentaré hacerlo, te lo agradezco :)


Título: Re: Borrador de autorun.inf xD Copia del programa de carlitos.dll
Publicado por: el_c0c0 en 7 Noviembre 2008, 03:10 am
Cita de: seba123neo
If Msg = &H312 Then
    MsgBox "Apretaste SHIFT+F6", vbInformation
End If

una pregunta tonta seba, porque no explota el ide en esa parte... como vos sabras si en un hook le mandas un msgbox explota todo.. aunque sea un solo mensaje..

saludos


Título: Re: Borrador de autorun.inf xD Copia del programa de carlitos.dll
Publicado por: skapunky en 7 Noviembre 2008, 10:19 am
Hay 5 mil programas que hacen lo mismo que el tuyo e incluso estan por paginas como softonic y tal pero les encuentro un fallo tremendo.

Mira, hay muchas aplicaciónes que utilizan un autorun.inf o incluso algunas como esas de decoracion de usb que crean un autorun.inf...segun tu programa los eliminaria todos.... Es como si un antivirus borra todos los archivos en visual basic script solo porque en su dia se puso de moda los gusanos en vbs.

Eso es un punto que te recomiendo que tengas en cuenta e intentes solucionarlo, porque para ello directamente se podra hacer un script sencillo y corto que borre el archivo autorun.inf.

Es como si hago un programa que borra todos los ejecutables...seguro que los virus no entrarán, pero los programas "no maliciosos" tampoco seran funcionables.

Saludos.


Título: Re: Borrador de autorun.inf xD Copia del programa de carlitos.dll
Publicado por: jdc en 7 Noviembre 2008, 18:43 pm
Hay 5 mil programas que hacen lo mismo que el tuyo e incluso estan por paginas como softonic y tal pero les encuentro un fallo tremendo.

Mira, hay muchas aplicaciónes que utilizan un autorun.inf o incluso algunas como esas de decoracion de usb que crean un autorun.inf...segun tu programa los eliminaria todos.... Es como si un antivirus borra todos los archivos en visual basic script solo porque en su dia se puso de moda los gusanos en vbs.

Eso es un punto que te recomiendo que tengas en cuenta e intentes solucionarlo, porque para ello directamente se podra hacer un script sencillo y corto que borre el archivo autorun.inf.

Es como si hago un programa que borra todos los ejecutables...seguro que los virus no entrarán, pero los programas "no maliciosos" tampoco seran funcionables.

Saludos.

Aja... eso lo se, de echo ocupo el cedo que es un sistema como el que mencionas y crea un autorun.inf y que haya 1000 programas que hagan lo mismo, no importa ya que es para aprender ;) siempre habra alguien que hizo lo que tu antes no? es bastante dificil crear algo que revolucione ;) el programa lo hice para un amigo que tiene un ciber y que en el servidor mete pendrives para imprimir trabajos que lleva la gente, por lo tanto no es recomendable que se autoejecute nada :D

De todas maneras perdon si te molesto que posteara un codigo o hiciera un "programa basico" pero todavia no se lo suficiente para crear algo noedoso :)

Saludos!


Título: Re: Borrador de autorun.inf xD Copia del programa de carlitos.dll
Publicado por: Angeldj27 en 7 Noviembre 2008, 19:21 pm
Citar
De todas maneras perdon si te molesto que posteara un codigo o hiciera un "programa basico" pero todavia no se lo suficiente para crear algo noedoso

No te preocupes men en todos los casos nobedosos del mundo siempre se comenso por algo en rialidad muy pequeño eso tenlo por segura porlomenos con una idea sigue palante...Jaja..

Saludos....


Título: Re: Borrador de autorun.inf xD Copia del programa de carlitos.dll
Publicado por: DarkMatrix en 7 Noviembre 2008, 19:30 pm
Yo hace un tiempo tambien hize una aplicacion de estas, y tome en cuenta el punto de skapunky, por eso a la hora de borrar esos archivos tomaba en cuenta lo siguiente: los archivos autorun.inf que crean los troyanos para autoreproducirse tienes las propiedades: oculto + Archivo + SuperOculto o Archivo de Sistema + Solo Lectura, asi que a la hora de borrarlos solo tomaba en cuenta esas caracteristicas.

Por ejemplo los archivos autorun de personalizacion de usb o autoarranque de cd's tienen propiedades de oculto + archivo + solo lectura, por lo que si habilitabamos ver los archivos ocultos en windows los podemos ver. Al contrario de los archivos autorun de los troyanos que tienen la propiedan SuperHidden o superoculto y no se dejan ver de ninguna forma.

Otra cosa que tome en cuenta fue que en cada unidad, en el directorio base, osea en E:\ o F:\ por ejemplo se borraran todos los archivos con las siguientes extensiones y que tubieran las propiedades que antes puse:

.exe .bat .inf .ini .cmd .com ya que estos son los archivos que normalmente llama el autorun.inf

Exepto para la unidad donde este instalado windows porque hay archivos con esas extensiones y con las propiedades que son especialmente de windows y si se borran pueden dañar el sistema operativo.

Saludos  ::)


Título: Re: Borrador de autorun.inf xD Copia del programa de carlitos.dll
Publicado por: jdc en 7 Noviembre 2008, 19:43 pm
Citar
De todas maneras perdon si te molesto que posteara un codigo o hiciera un "programa basico" pero todavia no se lo suficiente para crear algo noedoso

No te preocupes men en todos los casos nobedosos del mundo siempre se comenso por algo en rialidad muy pequeño eso tenlo por segura porlomenos con una idea sigue palante...Jaja..

Saludos....

:D gracias ;)

Yo hace un tiempo tambien hize una aplicacion de estas, y tome en cuenta el punto de skapunky, por eso a la hora de borrar esos archivos tomaba en cuenta lo siguiente: los archivos autorun.inf que crean los troyanos para autoreproducirse tienes las propiedades: oculto + Archivo + SuperOculto o Archivo de Sistema + Solo Lectura, asi que a la hora de borrarlos solo tomaba en cuenta esas caracteristicas.

Por ejemplo los archivos autorun de personalizacion de usb o autoarranque de cd's tienen propiedades de oculto + archivo + solo lectura, por lo que si habilitabamos ver los archivos ocultos en windows los podemos ver. Al contrario de los archivos autorun de los troyanos que tienen la propiedan SuperHidden o superoculto y no se dejan ver de ninguna forma.

Otra cosa que tome en cuenta fue que en cada unidad, en el directorio base, osea en E:\ o F:\ por ejemplo se borraran todos los archivos con las siguientes extensiones y que tubieran las propiedades que antes puse:

.exe .bat .inf .ini .cmd .com ya que estos son los archivos que normalmente llama el autorun.inf

Exepto para la unidad donde este instalado windows porque hay archivos con esas extensiones y con las propiedades que son especialmente de windows y si se borran pueden dañar el sistema operativo.

Saludos  ::)

Gracias por el consejo lo tomare en cuenta :)
Saludos


Título: Re: Borrador de autorun.inf xD Copia del programa de carlitos.dll
Publicado por: Novlucker en 7 Noviembre 2008, 19:51 pm
se borraran todos los archivos con las siguientes extensiones y que tubieran las propiedades que antes puse:
.exe .bat .inf .ini .cmd .com ya que estos son los archivos que normalmente llama el autorun.inf
Si se va a hacer "bien" entonces lo mejor sería borrar solo el archivo al que apunta el autorun.inf, y no todos los que hayan.
Eso se logra con un simple instr y alguna de las funciones para extraer datos como mid, left, etc

Saludos


Título: Re: Borrador de autorun.inf xD Copia del programa de carlitos.dll
Publicado por: DarkMatrix en 7 Noviembre 2008, 20:30 pm
Si se va a hacer "bien" entonces lo mejor sería borrar solo el archivo al que apunta el autorun.inf, y no todos los que hayan.
Eso se logra con un simple instr y alguna de las funciones para extraer datos como mid, left, etc

Bueno de todas formas yo los mandaba a eliminar en unidades que no fuera donde esta el sistema operativo. En donde si estaba el sistema operativo, primero los comparaba con la lista de archivos de windows y si no estaban los eliminaba, de lo contrario los dejaba intactos.

Saludos  ;D


Título: Re: Borrador de autorun.inf xD Copia del programa de carlitos.dll
Publicado por: jdc en 21 Noviembre 2008, 19:14 pm
Hola... un amigo me dijo que este programa no borraba el autorun cuando tenia atributos de "solo lectura" por lo que hay que quitarselos xDDDDD.

Agreguenle la lines que esta en rojo para que quite los atributos al autorun.inf cuando lo encuentre y si quieren ponganle un msg box para que les lance un mensaje cuando borre un autorun para que sepan cuando lo haga y de que unidad, ahi ya estaria listo para cumplir bien la funcion (sin errores)

Con la linea ||||||||||||| SetAttr "c:\\Autorun.inf", vbNormal ||||||||||||| lo que hacen es dejar el archivo con 0 atributos osea quitan "solo lectura", "Oculto", "Sistema" y "Archivo" lo que no entendi es que por ahi alguien puso que habia un atributo de "Super Oculto" xDDD que no lo conozco asi que no esta probado con super oculto ¬¬

Private Sub Timer1_Timer()
On Error GoTo Falso
archivo = GetAttr("C:\autorun.inf")
SetAttr "c:\\Autorun.inf", vbNormal
Set variable = CreateObject("Scripting.FileSystemObject")
variable.DeleteFile "C:\autorun.inf"
Exit Sub
Falso:
End Sub


Saludos!




Título: Re: Borrador de autorun.inf xD Copia del programa de carlitos.dll
Publicado por: skapunky en 21 Noviembre 2008, 20:52 pm
Te daré un consejo:

Citar
Set variable = CreateObject("Scripting.FileSystemObject")
variable.DeleteFile "F:\autorun.inf"

Esta linea....mejor cambiarla porque usas visual basic script. El visual basic tiene su propio comando para eliminar ficheros...busca información sobre "kill". Por otra parte,uses script o no, si el fichero está en uno no lo borrará...para ello deberias cerrar el proceso antes de eliminar el archivo.

Saludos.


Título: Re: Borrador de autorun.inf xD Copia del programa de carlitos.dll
Publicado por: jdc en 21 Noviembre 2008, 21:37 pm
Te daré un consejo:

Citar
Set variable = CreateObject("Scripting.FileSystemObject")
variable.DeleteFile "F:\autorun.inf"

Esta linea....mejor cambiarla porque usas visual basic script. El visual basic tiene su propio comando para eliminar ficheros...busca información sobre "kill". Por otra parte,uses script o no, si el fichero está en uno no lo borrará...para ello deberias cerrar el proceso antes de eliminar el archivo.

Saludos.

Pero como podria estar en uso el aurorun.inf?

El kill seria

Kill ("C:\autorun.inf") no?
voy a leer un poquito mas xDDD

De todas maneras al final quedo asi:

(http://img231.imageshack.us/img231/7215/antiardp8.jpg)

con el attrib incluido, voy a ver como va con el kill. Gracias!