Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Instalador en 17 Enero 2014, 17:14 pm



Título: vbs para ejecutar reg sin que pida confirmacion
Publicado por: Instalador en 17 Enero 2014, 17:14 pm
Buenos dias:

Estoy tratando de agregar un registro a windows para "hacer funcinal" un programa, sin que me pida confirmacion.

Mediante un bat seria de la siguiente forma:
Código
  1. REGEDIT /S "regme.reg"

Como puedo hacerlo mediante vbs?

Intente de esta forma pero no funciona:

Código
  1. Set objShell = CreateObject("Wscript.Shell")
  2. objShell.Run "regme.reg"

Gracias por su orientacion.



[MOD]: Usa las etiquetas para insertar código.


Título: Re: vbs para ejecutar reg sin que pida confirmacion
Publicado por: engel lex en 17 Enero 2014, 17:26 pm
la confirmacion está ahí para una razon XD crea una parada bastante pesada, normalmente tendrias que inyectar otro programa con derecho de administrador para que ese ejecute tu codigo (no conozco otro metodo)


Título: Re: vbs para ejecutar reg sin que pida confirmacion
Publicado por: Eleкtro en 17 Enero 2014, 18:29 pm
Tanto en VBS como en Bat, en lugar de ejecutar un archivo, puedes escribir diréctamente las instrucciones necesarias para añadir las claves al registro, ¿Lo has probado?.

Este programa te servirá para traducir el contenido del script de registro a código Batch ~> REG2BAT Autor: EleKtro (http://foro.elhacker.net/net/source_reg2bat_convierte_archivos_de_registro_a_scripts_batch-t394702.0.html;msg1870361#msg1870361)

(http://img844.imageshack.us/img844/6379/evhm.png)

Ejemplo:

Código
  1. @Echo OFF
  2. :: Converted with REG2BAT 2.0 By Elektro
  3.  
  4. REM Windows Registry Editor Version 5.00
  5.  
  6. REG ADD "HKEY_CURRENT_USER\Test" /V "Test Binary"    /T "REG_BINARY"    /D "1234567890"         /F
  7. REG ADD "HKEY_CURRENT_USER\Test" /V "Test Dword Dec" /T "REG_DWORD"     /D "0x00bc614e"         /F
  8. REG ADD "HKEY_CURRENT_USER\Test" /V "Test Dword hex" /T "REG_DWORD"     /D "0x12345678"         /F
  9. REG ADD "HKEY_CURRENT_USER\Test" /V "Test Expand SZ" /T "REG_EXPAND_SZ" /D "%%Temp%%\Hello"     /F
  10. REG ADD "HKEY_CURRENT_USER\Test" /V "Test Multi SZ"  /T "REG_MULTI_SZ"  /D "Hello\0world!\0"    /F
  11. REG ADD "HKEY_CURRENT_USER\Test" /V "Test Qword Dec" /T "REG_QWORD"     /D "0x00000000000010e1" /F
  12. REG ADD "HKEY_CURRENT_USER\Test" /V "Test Qword Hex" /T "REG_QWORD"     /D "0x1234567891234567" /F
  13. REG ADD "HKEY_CURRENT_USER\Test" /V "Test String"    /T "REG_SZ"        /D "By Elektro H@cker"  /F

PD: Como puedes ver en el ejemplo, en Batch tienes que usar el comando REG y añadir el parámetro /F para forzarl a sobreescritura de un valor sin requerir confirmación, óbviamente en VBS (o cualquier otro lenguaje de verdad) esto no es algo necesario.

Saludos.


Título: Re: vbs para ejecutar reg sin que pida confirmacion
Publicado por: Instalador en 17 Enero 2014, 19:32 pm
engelx:

El motivo por el cual quiero que no pida confirmación, es porque se trata de una instalación desatendida.

Elektro:

Tienes razón, intentare escribir directamente las instrucciones en vbs.
Gracias por el programa Reg a Bat, lo probare.

En cuanto lo tenga listo lo subiré, gracias a los 2 por su atención.

Elektro:

Descargue tu programa pero no me funciona, lo descomprimo y cuando doy doble click en el ejecutable no abre, dentro de la carpeta están 3 archivos CButtonLib.dll Ookii.Dialogs.dll y Reg2Bat.exe

Gracias.


Título: Re: vbs para ejecutar reg sin que pida confirmacion
Publicado por: Eleкtro en 17 Enero 2014, 20:07 pm
Elektro:

Descargue tu programa pero no me funciona, lo descomprimo y cuando doy doble click en el ejecutable no abre, dentro de la carpeta están 3 archivos CButtonLib.dll Ookii.Dialogs.dll y Reg2Bat.exe

¿así sin más, no se abre, sin mostrar siquiera un error?, que extraño.

¿Usas WinXP?, ¿Tienes el Framework 4.0 instalado?

Pruébalo en un Win7/8 con Framework 4.0 instalado, así debería funcionarte sin problemas.

EDITO:
Si quieres postea el script y yo te lo convierto con el programa.

EDITO 2:
El motivo por el cual quiero que no pida confirmación, es porque se trata de una instalación desatendida.
Si estás usando algún installbuilder (InnoSetup, InstallShield, etc...) lo correcto sería que añadieras los valores del registro desde el lenguaje que utilice el propio installbuilder, así no te pediría confirmación.
Si estás usando algo tipo WinRAR-SFX ...olvídalo xD

Saludos!


Título: Re: vbs para ejecutar reg sin que pida confirmacion
Publicado por: Instalador en 17 Enero 2014, 20:53 pm
¿así sin más, no se abre, sin mostrar siquiera un error?, que extraño.

¿Usas WinXP?, ¿Tienes el Framework 4.0 instalado?

Pruébalo en un Win7/8 con Framework 4.0 instalado, así debería funcionarte sin problemas.

EDITO:
Si quieres postea el script y yo te lo convierto con el programa.

EDITO 2:Si estás usando algún installbuilder (InnoSetup, InstallShield, etc...) lo correcto sería que añadieras los valores del registro desde el lenguaje que utilice el propio installbuilder, así no te pediría confirmación.
Si estás usando algo tipo WinRAR-SFX ...olvídalo xD

Saludos!

Elektro:

En relación a tu programa, ya lo descargue 2 veces y me hace lo mismo, uso Win Xp SP3 y si tengo instalado el Framework 4.0

Ya solucione la creación de las entradas del registro, quedaron así:

Código
  1. Set obj_Shell = WScript.CreateObject("WScript.Shell")
  2. obj_Shell.RegWrite "HKLM\SOFTWARE\FSPro Labs\Hide Folders 2009\RegCode", "123456789012345678901234567", "REG_SZ"
  3.  
  4. Set obj_Shell = WScript.CreateObject("WScript.Shell")
  5. obj_Shell.RegWrite "HKLM\SOFTWARE\FSPro Labs\Hide Folders 2009\RegistrationURL", "http://www.fspro.net/hide-folders/purchase.html", "REG_SZ"
  6.  
  7. Set obj_Shell = WScript.CreateObject("WScript.Shell")
  8. obj_Shell.RegWrite "HKLM\SOFTWARE\FSPro Labs\Hide Folders 2009\RegName", "Nemo", "REG_SZ"

Agradezco el ofrecimiento de que me conviertas el script, no me lo tomes a mal, pero me gusta intentarlo y si en algo me atoro pues ya te molestare, te repito ya logre hacerlo con vbs.

Gracias por tu ayuda y probare en otra maquina tu programa.

Lo mismo pero eliminando lo innecesario.

Código
  1. Set obj_Shell = WScript.CreateObject("WScript.Shell")
  2. obj_Shell.RegWrite "HKLM\SOFTWARE\FSPro Labs\Hide Folders 2009\RegCode", "123456789012345678901234567", "REG_SZ"
  3. obj_Shell.RegWrite "HKLM\SOFTWARE\FSPro Labs\Hide Folders 2009\RegistrationURL", "http://www.fspro.net/hide-folders/purchase.html", "REG_SZ"
  4. obj_Shell.RegWrite "HKLM\SOFTWARE\FSPro Labs\Hide Folders 2009\RegName", "Nemo", "REG_SZ"



[MOD]: Utiliza las etiquetas para insertar código, mira la imagen de mi firma (Elektro).