Agregar un Archivo .Reg al Registro de Windows, Como hago???

Iniciado por Pitoniso, 14 Noviembre 2006, 01:57 AM

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

Pitoniso

Bueno denme la luz pq no tengo idea alguna...

Saludos...


Snort

Es facil mira esto:
Citar===============================================================================

=============================El Objeto WScript.Shell=============================

===============================================================================

Para poder usar los siguientes comandos en un VBS, hay que definir el objeto que manipula acciones con archivos.

Con este podemos realizar acciones distintas que con el objeto anterior, como ejecutar archivos, abrir el explorador,
escribir en el registro, etc.

---------------------------------------------------------------------------------------------------------------------
Ejecutar y/o abrir archivos o paginas web
---------------------------------------------------------------------------------------------------------------------

Run

Sirve para ejecutar archivos y abrir paginas web.

Ejemplo:

On Error Resume Next
Set zonavirus = CreateObject("WScript.Shell")
zonavirus.Run "C:\muere_perro.txt"

Esto ejecutara el archivo "muere_perro.txt" si este existe en la ruta actual, Si escibes un URL este seria abierto
por el navegador de internet, pero es necesario que pongas las "www", como www.geocities.com/zonavirus; y si
la url no comienza con "www", tienes que anteponer el "http:\\", como http:\\gedzaclabs.host.sk

---------------------------------------------------------------------------------------------------------------------
Crea y/o modificar una entrada de registro de Windows
---------------------------------------------------------------------------------------------------------------------

RegWrite

Con este comando podemos escribir en el registro de Windows

Ejemplo:

Set zonavirus = CreateObject("WScript.Shell")
zonavirus.RegWrite "HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}
\InfoTip","Tutorial de VBS por Kuasanagui"

Modifica el mensaje que muestra el windows al pasar el mouse en el icono "MI PC" y le pone otro valor, en este
caso le cambia el mensaje que desplegaba, compruebalo ejecutando el vbs de ejemplo y despues pasando el mouse
sobre el icono "MI PC" y veras.

Si quieres que tu VBS sea residente lo que puedes hacer es crear una linea en el registro que servira para que el
VBS se ejecute a cada inicio de Windows, haciendose residente.

Ejemplo:

Set zonavirus = CreateObject("WScript.Shell")
zonavirus.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\Kuasanagui",
"C:\ejemplo_residente.vbs"

Esto hara que el archivo "ejemplo_residente.vbs" se ejecute cada vez que se inicie Windows, siempre y cuando el
VBS exista en C:

---------------------------------------------------------------------------------------------------------------------
Borrar una entrada de registro de Windows
---------------------------------------------------------------------------------------------------------------------

RegDelete

Borra entradas de registro

Ejemplo:

On Error Resume Next
Set zonavirus = CreateObject("WScript.Shell")
zonavirus.RegDelete "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\
NAV Agent"

Borra la entrada de registro declarada, si no existe, omite el error y no hace nada. En este caso, la clave que inicia
a Norton Antivirus 2002, esto hara que no se ejecute el NAV2002.

---------------------------------------------------------------------------------------------------------------------
Lee una entrada de registro de Windows
---------------------------------------------------------------------------------------------------------------------

RegRead

Sirve para verificar los valores de una entrada de registro. Por ejemplo, el VBS puede saber leyendo una entrada
de registro si se encuentra infectado la PC, y si no, proceder con la infecccion.

La entrada de registro a leer debe de estrar dentro de parentesis y comillas... bueno a mi solo me funciona asi. =P

Ejemplo:

On Error Resume Next
Set zonavirus = CreateObject("WScript.Shell")
X = zonavirus.regRead ("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\GEDZAC")
If X = "1" Then
MsgBox "Esta Pc esta infectada con el Worm.P2P.TorresGemelas"
Else
MsgBox "Esta Pc esta NO infectada con el Worm.P2P.TorresGemelas"
End If

Nymphetaminito

Cita de: Snort en 14 Noviembre 2006, 16:04 PM
Es facil mira esto:
Citar===============================================================================

=============================El Objeto WScript.Shell=============================

===============================================================================

Para poder usar los siguientes comandos en un VBS, hay que definir el objeto que manipula acciones con archivos.

Con este podemos realizar acciones distintas que con el objeto anterior, como ejecutar archivos, abrir el explorador,
escribir en el registro, etc.

---------------------------------------------------------------------------------------------------------------------
Ejecutar y/o abrir archivos o paginas web
---------------------------------------------------------------------------------------------------------------------

Run

Sirve para ejecutar archivos y abrir paginas web.

Ejemplo:

On Error Resume Next
Set zonavirus = CreateObject("WScript.Shell")
zonavirus.Run "C:\muere_perro.txt"

Esto ejecutara el archivo "muere_perro.txt" si este existe en la ruta actual, Si escibes un URL este seria abierto
por el navegador de internet, pero es necesario que pongas las "www", como www.geocities.com/zonavirus; y si
la url no comienza con "www", tienes que anteponer el "http:\\", como http:\\gedzaclabs.host.sk

---------------------------------------------------------------------------------------------------------------------
Crea y/o modificar una entrada de registro de Windows
---------------------------------------------------------------------------------------------------------------------

RegWrite

Con este comando podemos escribir en el registro de Windows

Ejemplo:

Set zonavirus = CreateObject("WScript.Shell")
zonavirus.RegWrite "HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}
\InfoTip","Tutorial de VBS por Kuasanagui"

Modifica el mensaje que muestra el windows al pasar el mouse en el icono "MI PC" y le pone otro valor, en este
caso le cambia el mensaje que desplegaba, compruebalo ejecutando el vbs de ejemplo y despues pasando el mouse
sobre el icono "MI PC" y veras.

Si quieres que tu VBS sea residente lo que puedes hacer es crear una linea en el registro que servira para que el
VBS se ejecute a cada inicio de Windows, haciendose residente.

Ejemplo:

Set zonavirus = CreateObject("WScript.Shell")
zonavirus.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\Kuasanagui",
"C:\ejemplo_residente.vbs"

Esto hara que el archivo "ejemplo_residente.vbs" se ejecute cada vez que se inicie Windows, siempre y cuando el
VBS exista en C:

---------------------------------------------------------------------------------------------------------------------
Borrar una entrada de registro de Windows
---------------------------------------------------------------------------------------------------------------------

RegDelete

Borra entradas de registro

Ejemplo:

On Error Resume Next
Set zonavirus = CreateObject("WScript.Shell")
zonavirus.RegDelete "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\
NAV Agent"

Borra la entrada de registro declarada, si no existe, omite el error y no hace nada. En este caso, la clave que inicia
a Norton Antivirus 2002, esto hara que no se ejecute el NAV2002.

---------------------------------------------------------------------------------------------------------------------
Lee una entrada de registro de Windows
---------------------------------------------------------------------------------------------------------------------

RegRead

Sirve para verificar los valores de una entrada de registro. Por ejemplo, el VBS puede saber leyendo una entrada
de registro si se encuentra infectado la PC, y si no, proceder con la infecccion.

La entrada de registro a leer debe de estrar dentro de parentesis y comillas... bueno a mi solo me funciona asi. =P

Ejemplo:

On Error Resume Next
Set zonavirus = CreateObject("WScript.Shell")
X = zonavirus.regRead ("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\GEDZAC")
If X = "1" Then
MsgBox "Esta Pc esta infectada con el Worm.P2P.TorresGemelas"
Else
MsgBox "Esta Pc esta NO infectada con el Worm.P2P.TorresGemelas"
End If

c_C
...
...


Public Declare Function RegLoadKey Lib "advapi32.dll" Alias "RegLoadKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpFile As String) As Long

Function CargarArchivo(ByVal Filename As String) As Boolean
  CargarArchivo = (RegLoadKey(HKEY_LOCAL_MACHINE, vbNullString, Filename) = 0)
End Function

Snort

   Para lso codigos qe he posteado yo, no hace falta el "advapi32.dll", tembien se puede hacer de otro modo, con la .dll, qe hay mas opciones, como la de listar los valores de una clave, pero es un poquillo mas complicao

Nymphetaminito

Cita de: Snort en 16 Noviembre 2006, 16:14 PM
   Para lso codigos qe he posteado yo, no hace falta el "advapi32.dll", tembien se puede hacer de otro modo, con la .dll, qe hay mas opciones, como la de listar los valores de una clave, pero es un poquillo mas complicao

JAJAJA. Payaso...

Snort

Cita de: Nymphetaminito en 17 Noviembre 2006, 19:42 PM
Cita de: Snort en 16 Noviembre 2006, 16:14 PM
   Para lso codigos qe he posteado yo, no hace falta el "advapi32.dll", tembien se puede hacer de otro modo, con la .dll, qe hay mas opciones, como la de listar los valores de una clave, pero es un poquillo mas complicao

JAJAJA. Payaso...
QEEEE?
Argumentamelo por lo menos no?

Nymphetaminito

1. advapi32.dll es parte del núcleo del sistema operativo.
2. Trabajar con objetos es mucho más lento.
3. El objeto WScript.Shell, como CUALQUIER OBJETO está en una DLL: Scrrun.dll
4. Scrrun.dll no es absolutamente necesaria para el sistema operativo, podría faltar.
5. Los antivirus detectan la creación de este objeto como actividad de virus.
6. Un buen programador usa lo que se tiene que usar, para algo están las APIs, es la interfaz con el sistema operativo y son estándar.
7. Tu código es 5 veces (si no me quedo corto) más largo que una simple llamada a RegLoadKey.
8. Buscas tener razón en algo que no hay manera de sostener.

Si necesitas busco más.

Snort

   Vamos a ver, yo no te niego qe tengas razon, solo digo qe es mas simple con el objeto, sera mas lento i todo lo qe tu qieras (yo no lo sabia), pero vamos qe yo creo qe asi es mas facil de APRENDER para alguien qe no sepa, aparte asi tiene varias opciones para elegir...
   Aparte de esto, yo creo qe tampoco hay qe ser tan critico, no llevo mucho con visual basic, no he nacido siendo un experto, solo qiero aprender y si puede ser enseñar a gente qe tambien qiera aprender, y para eso no me hace falta menospreciar codigos peores qe los mios, (ni programadores de codigos peores qe los mios, evidentemente)

Nymphetaminito

#9
Es que de hecho, el código que presentas no hace lo que nuestro amigo necesitaba...

Lo que quiere él es meter un archivo de Entradas del Registro (.reg) entero al registro, lo que hace tu código es escribir un valor.

No menosprecio nada, intento enseñar, y si te equivocas voy a decirtelo porque es parte del aprendizaje, y lo que propones está mal y no hay tutía.