Índice del artículo


En la primera parte de esta serie de artículos que estoy escribiendo, ya vimos que todas eran guardadas en archivos hive diferentes, y nos introdujimos en la funcionalidad de cada una de ellas. En esta parte quiero hacer una descripción más detallada recordando algunos aspectos que me parecen importantes. Comencemos.

La clave HKEY_LOCAL_MACHINE está íntegramente dedicada a guardar la configuración especifica del equipo, siendo ésta aplicada a cualquier usuario que inicie sesión en nuestra máquina. La primera que nos encontramos es la clave HARDWARE, así que pasemos a describirla.

En esta clave, como ya habréis adivinado, se registra la información del hardware instalado en la máquina. Habitualmente el contenido de esta clave es volátil y se reconstruye en cada inicio de nuestra máquina. La información recopilada durante cada reinicio aparece en un subclave especifica de esta rama: la clave HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION. De ella cuelgan varias carpetas más que recogen la información del hardware de la máquina. Creo que la mejor forma de entender su función es abriéndola en el registro. En ella veremos información muy diversa respecto a todos los dispositivos, incluyendo tarjetas PCI, adaptadores de video, teclado, coprocesador, controladores SCSI, etc., etc.

Hay una rama, dentro de esta clave, que es interesante comentar, y es la rama
HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0

En ella se despliega toda la información que se recoge en las propiedades de “Mi Pc” o en Panel de control > Sistema, pestaña General. Modificando, por ejemplo, el valor ProcessorNameString modificariamos la información del procesador instalado que aparece en esa pestaña.

La siguiente subclave que vemos dentro de esta rama es la clave “DEVICEMAP”. En ella vemos información especifica de las localizaciones en el registro de los diferentes dispositivos hardware. Digamos que contiene una serie de punteros a diferentes zonas del registro.

La siguiente subclave corresponde a RESOURCEMAP. Esta clave lo único que contiene es información especifica sobre los drivers y la asignación efectuada de IRQ’s, recursos DMA, etc.
Las siguientes dos claves dentro de la rama HKEY_LOCAL_MACHINE, corresponden a SAM y a SECURITY,

En la primera parte, ya vimos qué hacían estas dos claves: SAM corresponde System Account Manager o sea, el administrador de cuentas y de grupos de usuarios. Esta clave en realidad trabajaría en conjunto con el sistema de permisos de usuarios gestionado por la siguiente clave que aparece, es decir, la clave SECURITY.

La información de ambas, en caso de aparecer en el registro, nos aparecerá en formato binario, por lo que no es para nada, recomendable gestionar esto directamente desde el registro, sino con las herramientas especificas de nuestro sistema operativo para la gestión de permisos y cuentas de usuarios.

En una maquina unida a un dominio o a un grupo de trabajo toda la información relacionada con permisos y cuentas de usuarios está en estas dos claves.

La siguiente clave dentro de la rama HKEY_LOCAL_MACHINE correspondería a la clave software. Como ya habréis adivinado en esta parte del registro se recopila toda la información del software instalado en nuestra máquina. La subclave Classes ya la hemos tratado en su momento puesto que refleja la misma información que la que se recoge en otra rama principal la clave HKEY_CLASSES_ROOT. Sólo nos hace falta abrir la clave “Classes” para darnos cuenta de este extremo.

No obstante, dentro de esta parte del registro hay algunas referencias interesantes. Lo primero que vemos en ella son tres claves que suelen estar vacias.

\SOFTWARE\PROGRAM GROUPS
\SOFTWARE\WINDOWS 3.1 MIGRATION
\SOFTWARE\SECURE

En realidad, la tres tienen una nula utilidad en Windows XP, ya que sólo se proveen para compatibilidad con viejas aplicaciones de WinNT, ya desfasadas, por lo que es más que probable que si las abrimos las veamos vacias.

La rama más interesante dentro de este apartado la tenemos en

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/

Ya que en ella se encuentra toda la configuración por defecto de Windows. Por ejemplo, nada más abrirla, y sin movernos de ella veremos la variables definidas por defecto, al directorio \Archivos de programa, es decir, el directorio en el que se instalan todos nuestro programa y que viene definida en el valor ProgramFilesDir. En teoría, modificando esta clave y la variable de entorno apropiada sería posible redefinir la instalación de programas diciéndoles que se instalen en otra unidad diferente a la que está instalada Windows. La modificación es posible, pero tengo que comentar que causa problemas con otras funcionalidades del sistema operativo, como es el caso de Windows Update.

Otro valor interesante dentro de esa misma rama es la clave

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
En ella y en su homóloga ubicada en HKEY_CURRENT_USER, aparecen definidos todos los programas y funcionalidades que se ejecutan al inicio del sistema operativo.

Entre ellos el antivirus residente que tengamos instalado, o las funcionalidades de los firewall de terceros. Muchos virus y spywares también utilizan esta misma rama para ejecutar sus procesos. El contenido de la misma es posible visualizarlo desde la utilidad msconfig, utilidad que sólo es posible hacerla funcional desde Inicio/Ejecutar, y teclando esas misma palabrar, es decir, “msconfig”. En su pestaña “Inicio” veremos recogidos todos los procesos que se cargan en el arranque. En una instalación por defecto de Windows XP, esta rama aparece vacía.
Otra de las ramas interesantes es

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system
En ella también se recogen alguna de las políticas que se pueden aplicar con Gpedit, y también es muy popular entre el diverso malware, para modificar el comportamiento por defecto de nuestro sistema operativo, junto con su homóloga ubicada en HKEY_CURRENT_USER.
Pasemos a una de las claves más importantes del registro la rama:

HKEY_LOCAL_MACHINE\SYSTEM
Esta clave está contenida en el archivo hive “system” que veiamos en la primera entrega. Guarda toda la configuración por defecto de nuestra máquina. Sin ella no es posible arrancar el equipo. En ella lo primero que vemos es una clave o varias llamadas currentcontrolset más una serie de tres dígitos. Estas claves no son ni más ni menos que copias de seguridad de otra clave “currentcontrolset” que es sin duda la más importante de esta zona del registro. Si la abrimos, veremos entre otras cosas, una clave llamada “control” que enumera todo lo necesario para arrancar el equipo, como el nombre del ordenador, la zona horaria, información de los dispositivos imprescindibles para el arranque, etc.
La siguiente, siguiendo el orden marcado por el registro, corresponde a la subclave “ENUM”. Esta clave contiene información específica de los dispositivos hardware instalados en la máquina, por lo que su contenido variará de un sistema a otro. Está clave referencia todo el hardware que se carga durante el arranque de nuestro sistema operativo.
La siguiente es la clave “HARDWARE” que referencia los perfiles de hardware instalados en nuestra máquina. En caso de que tengamos instalado más de un perfil aparecerán también referenciados aquí.
Por ultimo tenemos la clave “SERVICE”. En ella aparecen todos los drivers, archivos de sistema y servicios, así como su configuración; también referencia el orden en el que se van cargando. En la subclave tag si no me equivoco.
Pasamos a la clave HKEY_LOCAL_MACHINE\SYSTEM\Select. Si la abrimos su contenido también es muy explicativo ya que contiene los diferentes perfiles de arranque y la configuración de hardware a utilizar en cada uno de ellos mediante una serie de punteros.
La siguiente es la clave “SETUP”, que es utilizada durante la configuración del sistema, y cuyos valores no suele ser útiles cambiarlos.
Y la ultima que voy a referenciar en este apartado es la clave WPA, que contiene la información sobre activación de nuestro Windows XP.

La última rama principal que voy a tratar en esta serie de artículos es la rama
HKEY_CURRENT_CONFIG
Esta rama contiene la misma información que otra que ya hemos visto, es decir, la rama
KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles
que referencia los perfiles de hardware instalados en nuestra máquina, por lo que no tengo mucho más que comentar sobre ella, ya que únicamente es un puntero de esa rama.