elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Buscar valores en el Registro de windows....
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Buscar valores en el Registro de windows....  (Leído 2,582 veces)
**Aincrad**


Desconectado Desconectado

Mensajes: 683



Ver Perfil WWW
Buscar valores en el Registro de windows....
« en: 21 Julio 2018, 03:11 am »

Hola foro, Como dice el titulo quiero Buscar valores en el regedit,

Ejemplo :

Código:
Virus >> wscript.exe //B "C:\Users\S4LXenox\AppData\Local\Temp\VirusUSB.vbs"

agrego un virus que se auto inicio. por medio una app quiero Que si en el valor:

wscript.exe //B "C:\Users\S4LXenox\AppData\Local\Temp\VirusUSB.vbs"

sea detectado por mi app y me pregunte si quiere que elimine esa entrada, para el vbs no se ejecute.



Bueno lo primero que imagino es listar en un listbox mis app que se auto inician, Bueno eso es facil ya que es casi lo mismo que la duda que tenia hace tiempo de como verificar los programas instalados
(link).



1)   En-listo mis apps que se auto inician:

Código
  1. Imports Microsoft.Win32
  2.  
  3. Public Class Form1
  4.    Private Sub ListarHKCU()
  5.        Dim key As RegistryKey
  6.        Dim valueNames As String()
  7.        Dim currentUser As RegistryKey = Registry.CurrentUser
  8.        Dim name As String = "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
  9.        Dim str2 As String = "Software\Microsoft\Windows\CurrentVersion\Runonce"
  10.        Try
  11.            key = currentUser.OpenSubKey(name, True)
  12.            valueNames = key.GetValueNames
  13.            Dim str3 As String
  14.            For Each str3 In valueNames
  15.                Try
  16.  
  17.                    ListBox1.Items.Add((str3 & " >> " & key.GetValue(str3).ToString))
  18.                Catch ex As Exception
  19.                End Try
  20.            Next
  21.        Catch ex As Exception
  22.        End Try
  23.        Try
  24.            key = currentUser.OpenSubKey(str2, True)
  25.            valueNames = key.GetValueNames
  26.            Dim str3 As String
  27.            For Each str3 In valueNames
  28.                Try
  29.                    ListBox1.Items.Add((str3 & " >> " & key.GetValue(str3).ToString))
  30.                Catch ex As Exception
  31.                End Try
  32.            Next
  33.        Catch ex As Exception
  34.        End Try
  35.    End Sub
  36.  
  37.  
  38.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  39.        ListBox1.Items.Clear()
  40.        ListarHKCU()
  41.    End Sub
  42. End Class


Lo segundo seria Buscar en ese listbox la cadena de texto "Wscript.exe"

Bueno en esta parte ya he intentado con : FindMyString pero no logra reconocer ese string.

Busque una solución algo floja, osea use un textbox en vez de el Listbox. y para detectar el virus use el siguiente codigo:

Código
  1. Dim APP_string As String() = {"wscript", "Cmd"}
  2.        For Each elemento As String In APP_string
  3.            If TextBox1.Text.Contains(elemento) Then
  4.                'AQUI VA EL CODIGO DEL MENSAJE Y LA OPCION PARA BORRAR EL VIRUS DEL REGISTRO
  5.            End If
  6.        Next

Ahora Es la parte en la que necesito ayuda, es en la que borra el auto inicio del vbs, osea borra esa entrada del regedit.



Bueno he puesto como lo he intentado haber si me pueden echar una mano.

Basicamente lo que quiero es Buscar en donde inician las app por medio del regedit :

Código:
SOFTWARE\Microsoft\Windows\CurrentVersion\Run

y hay busca archivos script , Que por lo general usan en los valores : "CMD /C" o "wscript.exe //B" para ejecutarse y cuando encuentre ese string en el regedit elimine esa entrada.

Gracias de antemano. si logro hacerlo lo posteare.


PD: Si se preguntan para que estoy haciendo esto , es por que llevo ya un tiempo desarrollando un motor de antiviurs . y apenas he logrado esto :
https://ibb.co/geS69J Cuando lo termine , (si es q lo termino subire el codigo fuente aqui)




En línea



Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Buscar valores en el Registro de windows....
« Respuesta #1 en: 29 Julio 2018, 13:09 pm »

¿Buscar y eliminar valores del registro de Windows?, de nuevo te invito a que le eches un ojo a...:


concretamente en el año 2015...


Este código de aquí abajo lo he hecho usando mi librería comercial ElektroKit, lo comento por que los nombres de los miembros de la clase cambian un poco con la clase que publiqué en el año 2015 en ese post, pero supongo que se entenderá igualmente el modo de empleo que se debe aplicar:

Código
  1. Imports Microsoft.Win32
  2. Imports ElektroKit.Core.System.Types
  3. Imports ElektroKit.Core.System.Tools

Código
  1. Dim regInfos As IEnumerable(Of RegInfo) =
  2.    RegistryUtil.FindValue(RegistryView.Default,
  3.                           rootKeyName:="HKCU",
  4.                           subKeyPath:="Software\Microsoft\Windows\CurrentVersion\Run",
  5.                           valueName:="WScript",
  6.                           matchFullValueName:=False,
  7.                           ignoreCase:=True,
  8.                           searchOption:=SearchOption.TopDirectoryOnly)
  9.  
  10. For Each regInfo As RegInfo In regInfos
  11.    Dim sb As New StringBuilder()
  12.    sb.AppendLine(regInfo.RootKeyName)
  13.    sb.AppendLine(regInfo.SubKeyPath)
  14.    sb.AppendLine(regInfo.ValueName)
  15.    sb.AppendLine(regInfo.ValueData?.ToString())
  16.    Console.WriteLine(sb.ToString())
  17. Next regInfo

...eso devolvería cualquier valor que contenga el nombre "WScript". (ojo, el nombre a buscar no acepta el uso de *wildcards* como en la CMD)

Si quieres algo más sencillito, menos tedioso, pues... sinceramente solo con buscar en Google puedes encontrar miles de resultados sobre como buscar valores de registro en .NET.

Saludos!


« Última modificación: 29 Julio 2018, 13:11 pm por Eleкtro » En línea



**Aincrad**


Desconectado Desconectado

Mensajes: 683



Ver Perfil WWW
Re: Buscar valores en el Registro de windows....
« Respuesta #2 en: 30 Julio 2018, 19:13 pm »

Citar
Código
  1. Dim regInfos As IEnumerable(Of RegInfo) =
  2.    RegistryUtil.FindValue(RegistryView.Default,
  3.                           rootKeyName:="HKCU",
  4.                           subKeyPath:="Software\Microsoft\Windows\CurrentVersion\Run",
  5.                           valueName:="WScript",
  6.                           matchFullValueName:=False,
  7.                           ignoreCase:=True,
  8.                           searchOption:=SearchOption.TopDirectoryOnly)
  9.  
  10. For Each regInfo As RegInfo In regInfos
  11.    Dim sb As New StringBuilder()
  12.    sb.AppendLine(regInfo.RootKeyName)
  13.    sb.AppendLine(regInfo.SubKeyPath)
  14.    sb.AppendLine(regInfo.ValueName)
  15.    sb.AppendLine(regInfo.ValueData?.ToString())
  16.    Console.WriteLine(sb.ToString())
  17. Next regInfo


Justo lo q necesitaba gracias de nuevo!

PD:  estaba apunto en hacer un post preguntando que era de ti? ya que es raro que te desaparezcas por tanto tiempo XD  ;D. me imagino que estarías muy ocupado! . Gracias por el code!  ;-)
En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Valores del registro
Programación Visual Basic
Kizar 1 3,217 Último mensaje 27 Octubre 2005, 20:28 pm
por Kizar
Array [Ir apilando valores y buscar un valor]
Java
Debci 6 6,269 Último mensaje 12 Septiembre 2009, 11:27 am
por Debci
Buscar valores hexadecimales « 1 2 »
Programación Visual Basic
Pegano25 11 9,309 Último mensaje 9 Julio 2011, 20:08 pm
por Pegano25
mostrar los valores de una key del registro de windows
Programación C/C++
andres_89a 3 3,253 Último mensaje 1 Octubre 2012, 18:05 pm
por Eternal Idol
Buscar valores en matrices
Programación C/C++
Gaby_10 1 1,789 Último mensaje 15 Febrero 2014, 13:05 pm
por vangodp
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines