Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INDICE :
4. Otras funciones :
4.1- Desactivar el autorun de medios extraibles.
4.2- Habilitar el registro si un virus lo ha bloqueado.
4.3- Hacer que se muestre un mensaje al iniciar windows (solo xp y anteriores).
4.4- Hacer que un programa se inicie con windows (o que deje de iniciarse).
El registro de Windows es la base de datos que almacena las configuraciones y opciones del sistema
operativo Microsoft Windows. Esta base de datos es guardada en diferentes archivos en el disco
duro. Como ejemplo, está es una lista de algunos archivos ubicados en “%SystemRoot
%\System32\Config\:” seguidos de la ruta del registro que le corresponde :
• Sam - HKEY_LOCAL_MACHINE\SAM
• Security - HKEY_LOCAL_MACHINE\SECURITY
• Software - HKEY_LOCAL_MACHINE\SOFTWARE
• System - HKEY_LOCAL_MACHINE\SYSTEM
• Default - HKEY_USERS\DEFAULT1
Cada vez que se instala un programa o se modifica una configuración (por ejemplo en el Panel de
Control) se ve reflejado en el registro.
NOTA : es muy importante no modificar ningún valor sin saber lo puede producir, ya que esto
puede ocasionar fallos o inestabilidades del sistema operativo. Además si se va a modificar el
registro es aconsejable hacer una copia de seguridad del mismo (punto 1.4).
Estructura:
• Encabezamiento :
En Win98, ME, o NT 4.0 : “REGEDIT4”
En XP, Vista o 7 : “Windows Registry Editor Version 5.00”
• Línea en blanco.
• Claves a modificar.
• Valores a modificar.
Añadir clave:
Windows Registry Editor Version 5.00
[Ruta_de_la_clave]
Ejemplo:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Prueba]
Eliminar clave:
[-Ruta_de_la_clave]
Ejemplo:
Windows Registry Editor Version 5.00
[-HKEY_CURRENT_USER\Software\Prueba]
[Ruta_de_la_clave]
nombre_del_valor=tipo:contenido
Ejemplo:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Prueba]
@=”uno” ; Le asigna el contenido “uno” al valor predeterminado de la clave
“str”=”dos” ; Crea un valor de cadena llamado “str” y le asigna el contenido “dos”
“num”=dword:22 ; Crea un valor dword (32 bits) llamado “num” y le asigna el contenido “22”
[Ruta_de_la_clave]
nombre_del_valor=-
Ejemplo:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Prueba]
str=- ; Borra el valor str
num=- ; Borra el valor num
Para ejecutarlos, simplemente copiarlos a un bloc de notas y guardarlos con extensión .reg.
2.2 - Modificar el registro mediante la ventana de comandos.
Para ello, utilizaremos el programa reg.exe (que incorpora por defecto Windows). Para ver sus
opciones abrir una ventana de comandos (“Inicio>Todos los programas>Accesorios>Símbolo del
sistema” o simplemente “Tecla de Windows+R” para que aparezca la ventana de ejecutar y en ella
tecleamos cmd y le damos a aceptar) y escribimos en ella “reg /?”. Aparecerá esto :
C:\>reg /?
0 - correcto
1 - con error
REG operación /?
Ejemplos:
REG QUERY /?
REG ADD /?
REG DELETE /?
REG COPY /?
REG SAVE /?
REG RESTORE /?
REG LOAD /?
REG UNLOAD /?
REG COMPARE /?
REG EXPORT /?
REG IMPORT /?
REG FLAGS /?
Estas son las opciones disponibles del programa reg. Las más utilizadas (y las que voy a mendionar)
son “reg query” (devuelve una lista de las subclaves y valores de la clave que le indiquemos), “reg
add” (añade claves o valores), y “reg delete” (borra claves o valores). Para ver sus parámetros
poner en el cmd “reg query /?”, “reg add /?” y “reg delete /?”, respectivamente.
La información que trae el propio Windows no dá lugar a muchas dudas pero dejo igualmente
algunos ejemplos :
Para ello primero debemos buscar el identificador del tipo de archivo sobre el que queremos que
actúe (si queremos que solo aparezca esa entrada cuando damos click a una carpeta, o solo a los
ejecutables, las imágenes, etc). En el primer ejemplo, supongamos que queremos crear una entrada
que afecte a los archivos con extensión “.exe”. Para ello vamos a la ruta:
“HKEY_CLASSES_ROOT\.[extension_del_archivo]” en nuestro caso
“HKEY_CLASSES_ROOT\.exe”. Al tener selecionada la clave “.exe” se puede observar que en su
valor predeterminado se encuentra el identificador de archivo (en este caso “exefile”) :
También se podría haber obtenido tecleando en un cmd “assoc [ext]” substituyendo [ext] por la
extensión que quieres saber (en nuestro caso sería “assoc .exe”). Aquí dejo una captura que
mouestra el identificador de unos cuantos tipos de archivo :
En mi caso en la clave “shell” hay tres subclaves (propias del sitema operativo). Para añadir una
personalizada damos click derecho a shell y selecionamos Nuevo>Clave. El nombre que le
pongamos no importa (a no ser que posteriormente dejemos el valor “(Predeterminado)” en blanco.
En ese caso la entrada en el menú contextual tendría el nombre de esta clave). En mi caso le voy a
poner de nombre “prueba”. De nombre le pondré “Ejecutar en una ventana de comandos”, ya que es
la funcionalidad que va a adquirir. Debe quedar algo así :
Ahora agregamos otra clave dentro de la que acabamos de crear llamada “command”. En el valor
“(Predeterminado)” de esta clave se especifica el comando que se ejecutará cuando le demos click a
la entrada que se creará. En mi caso pondré “cmd.exe /k %1”. Esto lo que hará será abrir una
ventana de comandos (“cmd.exe”) que ejecute el programa en cuestión (“%1” indica la ruta del
programa) y deje la ventana abierta (debido al argumento “/k”).
Para más información sobre los argumentos que admite cmd.exe poner la ventana de comandos
“cmd /?” o “help cmd” :
Además si queremos que aparezca un icono al lado de la entrada del menú contextual creamos un
valor de cadena (Nuevo > Valor de cadena) llamado “Icon” en la clave que creamos antes (en mi
caso “prueba”) que contenga la ruta del icono que queremos ponerle. Tiene que quedar algo así :
El resultado es el siguiente:
En este ejemplo lo he probado con el lads.exe (para buscar si hay información oculta en archivos
por el método stream). Como funciona bajo ventana de comandos si se le da doble click lo que haría
sería abrir una ventana de comandos y cerrarla inmediatamente, pero al darle en la entrada que
hemos creado se mantendría la ventana de comandos (porque antes especificamos el argumento
“/k”). El resultado sería el siguiente (ejecuta el programa y lo deja preparado en la ruta en la que se
encuentra):
Si la entrada que añadimos no va a ser utilizada frecuentemente tenemos la opción de ponerla en el
menú contextual extendido (menú contextual que contiene más opciones de las normales y que
aparece cuando damos click a un archivo/carpeta teniendo presionado la tecla shift).
Para ello añadimos un valor de cadena el la ruta de nuestra clave con el nommbre “Extended” y sin
contenido :
Si simplemente queremos ejecutar un cmd en la ruta de una carpeta concreta (sin ejecutar ningún
programa) tendremos que ir a “HKEY_CLASSES_ROOT\Directory\shell” (“Directory” es el
identificador asociado a las carpetas) y añadirle una entrada parecida (aunque cambiando el
comando por “cmd /k cd %1” ; “cd %1” cambia la ruta en la que se inicia el cmd por la nuestra.
Para más info poner en un cmd “cd /?”).
Algunas capturas :
Además la clave “Directory” tiene una sublave llamada “Background” que hace referencia a cuando
damos click derecho en el interior de una carpeta sin selecionar ningún archivo. Por ejemplo si
ponemos la siguiente entrada en la clave “Background” :
Esto implica que cada vez que hagamos click en el fondo de una carpeta aparecerá esa entrada en el
menú contextual:
NOTA : en el comando le he puesto “cmd.exe” sin especificar la ruta en la que se abre porque las
claves especificadas en “Background” no proporcionan el argumento “%1” que utilizamos antes
para cambiar la ruta.
Otras opciones (valores de cadena) que se pueden añadir a nuestras entradas son las siguientes :
• “LegacyDisable” → para deshabilitar temporalmente una entrada que hayamos creado pero
sin borrarla (para volverla a habilitar más adelante).
• “Position” → para especificar donde aparece nuestra entrada dentro del menú contextual.
Admite las opciones “Top” (arriba) y “Bottom” (debajo).
• “HasLUAShield” → solo es válido en windows vista y 7. Si se ha especificado un icono
aparecerá superpuesto al icono un pequeño icono que suele indicar que el programa necesita
permisos de administrador. En caso de no estar especificado el icono, el escudo aparecerá
como icono principal.
Para ello se crea una subclave dentro de la clave “shell” del tipo de archivo que hayamos elegido
con los siguientes valores de cadena :
• “MUIVerb” → indica el nombre que tendrá el submenú del menú contextual.
• “SubCommands” → indica los nombre de las subclaves separados por “;”.
• “Icon” → Opcional. Icono del submenú.
• “Position” → Opcional. Posición del submenú. [“Top”/”Bottom”]
Para el ejemplo vamos a hacer un submenú que aparezca cuando demos click derecho en el fondo
de una carpeta (en la clave “HKEY_CLASSES_ROOT\Directory\Background”) aparezca un menú
que permita elegir algunas opciones para acceder a herramientas de redes (en el ejemplo : ipconfig,
netstat, arp y getmac). Para ello creamos la clave
“HKEY_CLASSES_ROOT\Directory\Background\shell\net” (en vez de “net” podeis poner
cualquier otro nombre) con los valores “MUIVerb” (con contenido “Herramientas de red”),
“SubCommands” (con contenido “ipconfig;netstat;arp;getmac”, estos nombres se pueden cambiar
pero siempre tienen que ir separados por un signo de punto y coma) y “Icon”
(contenido:”explorer.exe”). Quedaría así :
Ahora la diferencia que hay respecto a casos anteriores es que las subclaves no se especifican en la
clave que acabamos de crear, sino que tienen que ser definidas en la ruta
“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Comma
ndStore\shell” con los mismos nombres que separamos antes con los “;”. Por tanto, haría falta crear
las siguientes claves en la ruta indicada:
• “ipconfig” → Valor predeterminado con contenido “Configuración de red”
• “ipconfig/command” → Valor predeterminado con contenido “cmd /k ipconfig /all”
• “netstat” → Valor predeterminado con contenido “Conexiones establecidas”
• “netstat/command” → Valor predeterminado con contenido “cmd /k netstat /aon”
• “arp” → Valor predeterminado con contenido “Tabla ARP”
• “arp/command” → Valor predeterminado con contenido “cmd /k arp /a”
• “getmac” → Valor predeterminado con contenido “Mostar la mac del adaptador de red”
• “getmac/command” → Valor predeterminado con contenido “cmd /k getmac”
En nuestro ejemplo para más comodidad le pondremos que cada vez que cree un archivo .reg desde
el menú “Nuevo...” aparezca con el encabezado “Windows Registry Editor Version 5.00” (copiar
este contenido en el valor “Data”). Por tanto, quedaría así :
Y el resultado :
NOTA : El autorun viene desactivando por defecto desde Windows 7 (ya que es un medio común de
propagación de virus).
Para solucionar esto podemos crear un script .reg con el siguiente contenido:
[HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Policies/system]
"DisableRegistryTools"=dword:00000000
[HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Policies/system]
"DisableRegistryTools"=dword:00000000
En caso de no funcionar (dependiendo de la versión del SO puede dar el mismo error de antes)
vamos al cmd y miramos si existe el valor “DisableRegistryTools” en la ruta especificada :
Como un este caso existe, procedemos a eliminar la clave con “reg delete
HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Policies/system /v
DisableRegistryTools /f” :
El resultado sería :
4.4- Hacer que un programa se inicie con windows (o que deje de iniciarse).
Las rutas en las que se pueden poner claves para iniciar programas con windows son las siguientes :
• “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”
• “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce”
• “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run”
• “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce”
Dentro de cada una de esas claves podemos añadir valores (de cadena) cuyo nombre solo es
informativo y que tienen como contenido la ruta del programa que se ejecutará. Por ejemplo si
quiero que se ejecute un programa (con cualquier usuario y indefinidamente) añadiría un valor en la
ruta del registro
“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run” que se llame
“exec” (por ejemplo, el nombre solo es informativo) y que tenga como contenido la ruta del
programa (en mi caso “D:\program\executable.exe”). Quedaría así :
Para hacer que deje de ejecutarse cualquiera de los programas que se encuentren en las claves
mencionadas antes simplemente habría que borrar la clave correspondiente al programa en cuestión.
NOTA : Todos los valores que se especifican a continuación se refieren a valores de cadena excepto
los que llevan al lado [hex] que se refieren a valores hexadecimales (DWORD).
Subclave “Explorer” :
• “ClearRecentDocsOnExit” -> Borrar "Documentos recientes" al salir.
• “EditLevel” -> Poner nivel de seguridad 0, 1, 2, 3 o 4. Atención: Puedes bloquear el
ordenador si pones nivel 4.
• “EnforceShellExtensionSecurity -> Seguridad en las claves shellextension.
• “IgnoreLinkInfo” -> Permitir o no presentar los enlaces.
• “LinkResolve” -> Permitir o no presentar los enlaces.
• “MyDocsOnNet” -> Permitir o no Mis Documentos en Internet.
• "NoActiveDesktop” -> Permitir o no Active Desktop.
• "NoActiveDesktopChanges” -> Elimina la ficha Web del cuadro de diálogos Propiedades de
Pantalla.
• "NoAddPrinter” -> Permitir o no añadir nuevas impresoras.
• "NoChangeStartMenu” -> Permitir o no hacer cambios en el Menú de inicio.
• "NoClose” -> Permitir o no cerrar el IE.
• "NoCustomizeWebView” -> Permitir o no personalizar Vista Web.
• "NoDeletePrinter” -> Permitir o no quitar la impresora.
• "NoDeskTop -> Permitir o no objetos en el Escritorio y botón derecho sobre el Escritorio.
• "NoDrives” [hex] -> Poner o quitar disco en Mi PC/Explorer/IE.
• "NoDriveTypeAutoRun” [hex] -> Permitir o no Autoarranque de CD/DVD.
• "NoEditMenu” -> Permitir o no Editar el Menú de inicio.
• "NoFavoritesMenu” -> Quitar o no "Favoritos" de Menú de inicio.
• "NoFileMenu” -> Permitir o no "Archivos" en Explorador de Windows y IE.
• "NoFileUrl” -> Permitir o no acceder a archivos locales mediante URL.
• "NoFind” -> Quitar o Poner "Buscar" en el Menú de inicio.
• "NoFolderOptions” -> Mostrar o no "Opciones de carpeta".
• "NoHelp” -> Mostrar o no "Ayuda" en el Menú de inicios.
• "NoInternetIcon” -> Mostrar o no el icono Internet en el Escritorio.
• "NoLogOff” -> Mostrar o no "Cerrar sesión" en el Menú de inicio.
• "NoNetConnectDisconnect” -> Permitir o no Desconectar de redes.
• "NoNetHood” -> Ver o no Entorno de Red.
• "NoRecentDocsMenu” -> Mostar o no Documentos recientes en la configuración del Menú
de inicio.
• "NoRun” -> Quitar o no "Ejecutar" del menú de inicio.
• "NoSaveSettings” [hex] -> "No salvar los cambios de configuración al salir.
• "NoSetActiveDesktop” -> Elimina "Active Directory" del submenú Configuración del Menú
Inicio.
• "NoSetFolders” -> Permitir o no configurar Carpetas.
• "NoSetTaskbar” -> Permitir o no configurar la barra de tareas.
• "NoStartBanner” [hex] -> Permitir o no el Logo del IE.
• "NoStartMenuSubFolders” -> Mostrar o no subcarpetas en el Menú de inicio.
• "NoTrayContextMenu” -> Mostrar o no Menú contextual en la Bandeja de Windows (zona
reloj).
• "NoViewContextMenu” -> Mostrar o no Menú contextual.
• "NoWinKeys” -> Permitir o no la tecla Win.
• “RestrictRun” -> Permitir o no Ejecutar programas. Atención: Si activas este valor tal vez
no puedas ejecutar ningún programa.
Subclave “System” :
• “DisableRegistryTools” → deshabilita el registro de windows.
• “DisableTaskMgr” → deshabilita el administrador de tareas.
• "NoAdminPage” -> Ocultar "Administración remota"
• "NoConfigPage” -> Ocultar "Perfiles de hardware"
• "NoControlPanel” [hex] -> Quitar Panel de control
• "NoDevMgrPage” -> Quitar "Administrador de dispositivos"
• "NoDispAppearancePage” -> Ocultar "Página de aspecto"
• "NoDispBackgroundPage” -> Ocultar "Fondo"
• "NoDispCPL” -> Desactivar Panel de control de monitor
• "NoDispScrSavPage” -> Ocultar "Protector de pantalla"
• "NoDispSettingsPage” -> Ocultar "Configuración"
• "NoFileSysPage” -> Ocultar "Sistema de archivos" de Rendimiento/Propiedades del Sistema
• "NoPwdPage” -> Ocultar "Cambiar la contraseña"
• "NoProfilePage” -> Ocultar "Perfiles de usuarios"
• "NoSecCPL” -> Desactivar el programa Contraseñas del Panel de control
• "NoVirtMemPage” -> Permitir o no botón de "Memoria virtual"
Subclave “Network” :
• “DisablePwdCaching” -> Evitar cache de claves
• “HideSharePwds” [hex] -> Evitar claves ocultas
• "NoEntireNetwork” -> Evitar Ver toda la red
• "NoNetSetup” -> Deshabilitar el icono Red en el Panel de control
• "NoNetSetupIDPage” -> Ocultar la ficha "Identificación"
• "NoNetSetupSecurityPage” -> Ocultar la pestaña "Control de acceso"
• "NoFileSharing” -> Quitar la opción "Compartir..." archivos
• “MinPwdLen” -> Colocar la mínima cantidad de caracteres para la Clave (0 - 99)
• "NoPrintSharing” -> Quitar la opción "Compartir Impresora"
• "NoWorkgroupContents” -> Sin contenidos de grupo de trabajo en Entorno de red