¿Qué es el Registro de Windows y cómo funciona?

El Registro(Registry) de Windows es una colección de configuraciones, valores y propiedades de las aplicaciones de Windows, así como del sistema operativo de Windows, que se organiza y almacena de manera jerárquica en un repositorio singular.

Cada vez que se instala un nuevo programa en el sistema de Windows , se realiza una entrada en el Registro de Windows(Windows Registry) con sus atributos como el tamaño, la versión, la ubicación en el almacenamiento, etc.

¿Qué es el Registro de Windows y cómo funciona?

Debido a que esta información ha sido almacenada en la base de datos, no solo el sistema operativo es consciente de los recursos utilizados, otras aplicaciones también pueden beneficiarse de esta información ya que son conscientes de cualquier conflicto que pueda surgir si ciertos recursos o archivos fueran a compartir. existir.

¿Qué es el Registro de Windows(Windows Registry) y cómo(How) funciona?

El Registro de Windows(Windows Registry) es realmente el corazón de la forma en que funciona Windows . Es el único sistema operativo que utiliza este enfoque de un registro central. Si tuviéramos que visualizar, cada parte del sistema operativo tiene que interactuar con el Registro de Windows(Windows Registry) desde la secuencia de arranque hasta algo tan simple como cambiar el nombre del archivo.

En pocas(Simply) palabras, es solo una base de datos similar a la de un catálogo de tarjetas de biblioteca, donde las entradas en el registro son como una pila de tarjetas almacenadas en el catálogo de tarjetas. Una clave de registro sería una tarjeta y un valor de registro sería la información importante escrita en esa tarjeta. El sistema operativo Windows usa el registro para almacenar un montón de información que se usa para controlar y administrar nuestro sistema y software. (Windows)Esto puede ser cualquier cosa, desde información de hardware de PC hasta preferencias de usuario y tipos de archivos. Casi(Almost) cualquier forma de configuración que hacemos en un sistema Windows implica editar el registro.

Historia del Registro de Windows

En las versiones iniciales de Windows , los desarrolladores de aplicaciones tenían que incluir una extensión de archivo .ini separada junto con el archivo ejecutable. Este archivo .ini contenía todas las configuraciones, propiedades y configuraciones requeridas para que el programa ejecutable dado funcione correctamente. Sin embargo, esto resultó muy ineficiente debido a la redundancia de cierta información y también planteó una amenaza de seguridad para el programa ejecutable. Como resultado, una nueva implementación de tecnología estandarizada, centralizada y segura era una necesidad aparente.

Con la llegada de Windows 3.1 , una versión básica de esta demanda se cumplió con una base de datos central común a todas las aplicaciones y el sistema denominada Registro de Windows(Windows Registry) .

Esta herramienta, sin embargo, estaba muy limitada, ya que las aplicaciones solo podían almacenar cierta información de configuración de un ejecutable. A lo largo de los años, Windows 95 y Windows NT se desarrollaron aún más sobre esta base, e introdujeron la centralización como característica principal en la versión más nueva del Registro de Windows(Windows Registry) .

Dicho esto, almacenar información en el Registro de Windows(Windows Registry) es una opción para los desarrolladores de software. Por lo tanto, si un desarrollador de aplicaciones de software fuera a crear una aplicación portátil, no es necesario que agregue información al registro, el almacenamiento local con la configuración, las propiedades y los valores se pueden crear y enviar con éxito.

La relevancia del Registro de Windows(Windows Registry) con respecto a otros sistemas operativos

Windows es el único sistema operativo que utiliza este enfoque de un registro central. Si tuviéramos que visualizar, cada parte del sistema operativo tiene que interactuar con el Registro de Windows(Windows Registry) desde la secuencia de arranque hasta el cambio de nombre de un archivo.

Todos los demás sistemas operativos como iOS, Mac OS , Android y Linux continúan usando archivos de texto como una forma de configurar el sistema operativo y modificar el comportamiento del sistema operativo.

En la mayoría de las variantes de Linux , los archivos de configuración se guardan en formato .txt , esto se convierte en un problema cuando tenemos que trabajar con los archivos de texto, ya que todos los archivos .txt se consideran archivos críticos del sistema. Entonces, si intentamos abrir los archivos de texto en estos sistemas operativos, no podríamos verlos. Estos sistemas operativos intentan ocultarlo como medida de seguridad ya que todos los archivos del sistema como configuraciones de la tarjeta de red, firewall, sistema operativo, interfaz gráfica de usuario, interfaz de tarjetas de video, etc. se guardan en formato ASCII.(ASCII format.)

Para evitar este problema, tanto macOS como iOS implementaron un enfoque completamente diferente para la extensión del archivo de texto al implementar la extensión .plist(.plist extension) , que contiene toda la información de configuración del sistema y de la aplicación, pero aún así los beneficios de tener un registro único están lejos. compensan el simple cambio de extensión de archivo.

¿Cuáles son los beneficios del Registro de Windows(Windows Registry) ?

Debido a que cada(Every) parte del sistema operativo se comunica continuamente con el Registro de Windows(Windows Registry) , debe almacenarse en un almacenamiento muy rápido. Por lo tanto(Hence) , esta base de datos fue diseñada para lecturas y escrituras extremadamente rápidas, así como para un almacenamiento eficiente.

Si tuviéramos que abrir y comprobar el tamaño de la base de datos del registro, normalmente oscilaría entre 15 y 20 megabytes, lo que la hace lo suficientemente pequeña como para cargarla siempre en la RAM ( Memoria de acceso aleatorio(Random Access Memory) ) que, casualmente, es el almacenamiento más rápido disponible para El sistema operativo.

Dado que el registro debe cargarse en la memoria en todo momento, si el tamaño del registro es grande, no dejará suficiente espacio para que todas las demás aplicaciones se ejecuten sin problemas o se ejecuten en absoluto. Esto sería perjudicial para el rendimiento del sistema operativo, por lo que el Registro de Windows(Windows Registry) está diseñado con el objetivo principal de ser altamente eficiente.

Si hay varios usuarios interactuando con el mismo dispositivo y hay varias aplicaciones que usan en común, la reinstalación de las mismas aplicaciones dos o varias veces sería una pérdida de almacenamiento bastante costosa. El registro de Windows(Windows) sobresale en estos escenarios donde la configuración de la aplicación se comparte entre varios usuarios.

Esto no solo reduce el almacenamiento total utilizado, sino que también brinda a los usuarios acceso para realizar cambios en la configuración de la aplicación desde un único puerto de interacción. Esto también ahorra tiempo ya que el usuario no tiene que ir manualmente a cada archivo .ini de almacenamiento local .

Los(Multi-User) escenarios multiusuario son muy comunes en las configuraciones empresariales, aquí existe una gran necesidad de acceso con privilegios de usuario. Dado que no toda la información o los recursos se pueden compartir con todos, la necesidad de un acceso de usuario basado en la privacidad se implementó fácilmente a través del registro centralizado de Windows. Aquí el administrador de la red se reserva el derecho de retener o permitir en función del trabajo realizado. Esto hizo que la base de datos singular fuera versátil y robusta, ya que las actualizaciones se pueden realizar simultáneamente con acceso remoto a todos los registros de múltiples dispositivos en la red.

¿Cómo funciona el Registro de Windows?

Exploremos los elementos básicos del Registro de Windows(Windows Registry) antes de empezar a ensuciarnos las manos.

El Registro de Windows(Windows Registry) se compone de dos elementos básicos llamados la Clave del Registro,(Registry Key) que es un objeto contenedor o, simplemente, son como una carpeta que tiene varios tipos de archivos almacenados en ellos y los Valores del Registro(Registry Values) , que son objetos que no son contenedores que son como archivos que puede ser de cualquier formato.

También debe saber: (You should also know:) Cómo tomar el control total o la propiedad de las claves del registro de Windows(How to Take Full Control or Ownership of Windows Registry Keys)

¿Cómo acceder al Registro de Windows?

Podemos acceder y configurar el Registro de Windows(Windows Registry) usando una herramienta de Editor de Registro , (Registry Editor)Microsoft incluye una utilidad gratuita de edición de registro junto con cada versión de su Sistema Operativo Windows(Windows Operating System) .

Se puede acceder a este Editor del Registro escribiendo "Regedit" en el (Registry Editor)símbolo del sistema(Command Prompt) o simplemente escribiendo "Regedit" en el cuadro de búsqueda o ejecución del menú Inicio(Start) . Este editor es el portal para acceder al registro de Windows y nos ayuda a explorar y realizar cambios en el registro. El registro es el término general utilizado por varios archivos de base de datos ubicados dentro del directorio de la instalación de Windows .

Cómo acceder al Editor del Registro

ejecutar regedit en el símbolo del sistema shift + F10

¿Es seguro editar el Editor del Registro?(Is it Safe to edit Registry Editor?)

Si no sabe lo que está haciendo, entonces es peligroso jugar con la configuración del Registro . (Registry)Cada vez que edite el Registro(Registry) , asegúrese de seguir las instrucciones correctas y solo cambie lo que se le indique que cambie.

Si a sabiendas o accidentalmente elimina algo en el Registro de Windows(Windows Registry) , podría alterar la configuración de su sistema, lo que podría conducir a la pantalla azul(Blue Screen) de la muerte(Death) o a que Windows no se inicie.

Por lo tanto, generalmente se recomienda hacer una copia de seguridad del Registro de Windows(backup Windows Registry) antes de realizar cambios en él. También puede crear un punto de restauración del sistema(create a system restore point) (que hace una copia de seguridad automática del Registro(Registry) ) que se puede usar si alguna vez necesita modificar la configuración del Registro para que vuelva a la normalidad. (Registry)Pero si solo escuchas lo que te dicen, entonces no debería haber ningún problema. En caso de que necesite saber cómo restaurar el Registro de Windows, este tutorial(restore Windows Registry then this tutorial) explica cómo hacerlo fácilmente.

Exploremos la estructura del Registro de Windows(Windows Registry)

Hay un usuario en una ubicación de almacenamiento inaccesible que existe solo para el acceso del sistema operativo.

Estas claves(Keys) se cargan en la RAM durante la etapa de arranque del sistema y se comunican constantemente dentro de un cierto intervalo de tiempo o cuando ocurre un evento o eventos determinados a nivel del sistema.

Una cierta parte de estas claves de registro se almacena en el disco duro. Estas claves que se almacenan en el disco duro se denominan colmenas. Esta sección del registro contiene claves de registro, subclaves de registro y valores de registro. Dependiendo del nivel de privilegio que se le haya otorgado a un usuario, podrá acceder a ciertas partes de estas claves.

Las claves que están en la cima de la jerarquía en el registro que comienza con HKEY se consideran colmenas.

En el Editor , las colmenas se encuentran en el lado izquierdo de la pantalla cuando se ven todas las claves sin expandir. Estas son las claves de registro que aparecen como carpetas.

Exploremos la estructura de la clave de registro de Windows y sus subclaves:

Ejemplo de nombre de clave: “HKEY_LOCAL_MACHINESYSTEMInputBreakloc_0804”

Aquí, "loc_0804" se refiere a la subclave "Break" se refiere a la subclave "Input" que se refiere a la subclave "SYSTEM" de la clave raíz HKEY_LOCAL_MACHINE .

Claves raíz comunes en el registro de Windows(Common Root Keys in Windows Registry)

Cada una de las siguientes claves es su propia colmena individual, que comprende más claves dentro de la clave de nivel superior.

i. HKEY_CLASSES_ROOT

Esta es la sección de registro del Registro de Windows(Windows Registry) que consta de información de asociación de extensión de archivo, identificador programático(programmatic identifier) ( ProgID ), datos de ID de interfaz(Interface ID) ( IID ) e ID de clase (CLSID)(Class ID (CLSID)) .

Esta sección de registro  HKEY_CLASSES_ROOT es la puerta de entrada para que cualquier acción o evento tenga lugar en el sistema operativo Windows . Supongamos(Suppose) que queremos acceder a algunos archivos mp3 en la carpeta Descargas . (Downloads)El sistema operativo ejecuta su consulta a través de este para tomar las acciones requeridas.

En el momento en que accede a la colmena HKEY_CLASSES_ROOT , es muy fácil sentirse abrumado al ver una lista tan grande de archivos de extensión. Sin embargo, estas son las mismas claves de registro que hacen que Windows funcione con fluidez.

Los siguientes son algunos de los ejemplos de claves de registro de colmena HKEY_CLASSES_ROOT ,

HKEY_CLASSES_ROOT\.otf
HKEY_CLASSES_ROOT\.htc
HKEY_CLASSES_ROOT\.img
HKEY_CLASSES_ROOT\.mhtml
HKEY_CLASSES_ROOT\.png
HKEY_CLASSES_ROOT\.dll

Cada vez que hacemos doble clic y abrimos un archivo, digamos una foto, el sistema envía la consulta a través de HKEY_CLASSES_ROOT donde se dan claramente las instrucciones sobre qué hacer cuando se solicita dicho archivo. Entonces, el sistema termina abriendo un visor de fotos que muestra la imagen solicitada.

En el ejemplo anterior, el registro realiza una llamada a las claves almacenadas en la clave HKEY_CLASSES_ROOT\.jpg . El subárbol HKEY_CLASSES_ROOT es un dato colectivo que se encuentra tanto en el subárbol HKEY_LOCAL_MACHINE ( HKEY_LOCAL_MACHINESoftwareClasses (HKEY_LOCAL_MACHINE)HKEY_LOCAL_MACHINE\Software\Classes como en el  subárbol HKEY_CURRENT_USER ( HKEY_CURRENT_USERSoftwareClasses (HKEY_CURRENT_USER)HKEY_CURRENT_USER\Software\Classes . Entonces, cuando la clave de registro existe en dos ubicaciones, crea conflictos. Entonces, los datos encontrados en HKEY_CURRENT_USER\Software\Classes se usan en HKEY_ CLASSES_ROOT . Se puede acceder abriendo la tecla HKEY_CLASSES en el lado izquierdo de la pantalla.

ii. HKEY_LOCAL_MACHINE

Esta es una de las varias secciones de registro que almacena todas las configuraciones que son específicas de la computadora local. Esta es una clave global donde la información almacenada no puede ser editada por ningún usuario o programa. Debido(Due) a la naturaleza global de esta subclave, toda la información almacenada en este almacenamiento tiene la forma de un contenedor virtual que se ejecuta en la RAM de forma continua. La mayoría de la información de configuración para el software que los usuarios han instalado y el propio sistema operativo Windows está ocupada en (Windows)HKEY_LOCAL_MACHINE . Todo el hardware detectado actualmente se almacena en el subárbol HKEY_LOCAL_MACHINE .

También sepa cómo: (Also know how to:) Arreglar bloqueos de Regedit.exe al buscar en el Registro(Fix Regedit.exe Crashes when searching through Registry)

Esta clave de registro se divide en 7 subclaves:(This registry key is further divided into 7 sub-keys:)

1. SAM ( Administrador de cuentas de seguridad(Security Accounts Manager) ): es un archivo de clave de registro que almacena las contraseñas de los usuarios en un formato seguro (en hash LM y hash NTLM ). Una función hash es una forma de cifrado que se utiliza para proteger la información de la cuenta de los usuarios.

Es un archivo bloqueado que se encuentra en el sistema en C:WINDOWSsystem32config, que no se puede mover ni copiar cuando se está ejecutando el sistema operativo.

Windows usa el archivo de clave de registro del Administrador de cuentas de seguridad(Security Accounts Manager) para autenticar a los usuarios mientras inician sesión en sus cuentas de Windows . Cada vez que un usuario inicia sesión, Windows usa una serie de algoritmos hash para calcular un hash para la contraseña que se ha ingresado. Si el hash de la contraseña ingresada es igual al hash de la contraseña dentro del archivo de registro SAM(SAM registry file) , los usuarios podrán acceder a su cuenta. Este también es un archivo al que la mayoría de los piratas informáticos apuntan mientras realizan un ataque.

2. Seguridad(2. Security) (no accesible excepto por el administrador): esta clave de registro es local para la cuenta del usuario administrativo que inició sesión en el sistema actual. Si el sistema es administrado por cualquier organización, los usuarios no pueden acceder a este archivo a menos que se haya otorgado explícitamente acceso administrativo a un usuario. Si tuviéramos que abrir este archivo sin privilegios administrativos, estaría en blanco. Ahora, si nuestro sistema está conectado a una red administrativa, esta clave se establecerá de forma predeterminada en el perfil de seguridad del sistema local establecido y gestionado activamente por la organización. Esta clave está vinculada al SAM , por lo que luego de una autenticación exitosa, según el nivel de privilegio del usuario, se aplican una variedad de políticas locales y grupales .(group policies)

3. Sistema(3. System) (proceso de arranque crítico y otras funciones del kernel): esta subclave contiene información importante relacionada con todo el sistema, como el nombre de la computadora, los dispositivos de hardware montados actualmente, el sistema de archivos y qué tipo de acciones automatizadas se pueden tomar en un evento determinado, digamos allí Es una pantalla azul de la muerte(Blue screen of death) debido a un sobrecalentamiento de la CPU(CPU) , hay un procedimiento lógico que la computadora comenzará a tomar automáticamente en tal evento. Solo los usuarios con suficientes privilegios administrativos pueden acceder a este archivo. Cuando el sistema arranca, aquí es donde todos los registros se guardan dinámicamente y se leen. Varios parámetros del sistema, como configuraciones alternativas, que se conocen como conjuntos de control.

4. Software Todas las configuraciones de software de terceros , como los controladores plug and play, se almacenan aquí. (Third-party)Esta subclave contiene configuraciones de software y Windows vinculadas al perfil de hardware preexistente que pueden cambiar varias aplicaciones e instaladores del sistema. Los desarrolladores de software(Software) pueden limitar o permitir a qué información acceden los usuarios cuando se usa su software, esto se puede configurar usando la subclave "Políticas" que aplica las políticas de uso general en aplicaciones y servicios del sistema que incluyen los certificados del sistema que se usa para autenticar, autorizar o rechazar ciertos sistemas o servicios.

5. Hardware , que es una subclave que se crea dinámicamente durante el arranque del sistema

6.(6. Components ) La información de configuración de componentes específicos del dispositivo de todo el sistema de componentes se puede encontrar aquí

7. BCD.dat (en la carpeta oot en la partición del sistema), que es un archivo crítico que el sistema lee y comienza a ejecutar durante la secuencia de inicio del sistema al cargar el registro en la RAM .

iii. HKEY_CURRENT_CONFIG

La razón principal de la existencia de esta subclave es almacenar video y configuraciones de red. Esa podría ser toda la información relacionada con la tarjeta de video, como la resolución, la frecuencia de actualización, la relación de aspecto, etc., así como la red.

También es una sección de registro, parte del Registro de Windows(Windows Registry) , y que almacena información sobre el perfil de hardware que se está utilizando actualmente. HKEY_CURRENT_CONFIG es en realidad un puntero a la clave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\HardwareProfiles\Currentregistry . Esto es simplemente un puntero al perfil de hardware actualmente activo que aparece debajo de la clave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\HardwareProfiles .

Entonces HKEY_ CURRENT_CONFIG nos ayuda a ver y modificar la configuración del perfil de hardware del usuario actual, lo que podemos hacer como administrador en cualquiera de las tres ubicaciones mencionadas anteriormente ya que son todas iguales.

IV. HKEY_CURRENT_USER

Parte de las secciones del registro que contiene la configuración de la tienda, así como información de configuración para Windows y software que son específicos del usuario que ha iniciado sesión actualmente. Por ejemplo, una variedad de valores de registro en las claves de registro se encuentran en la configuración de nivel de usuario del control de subárbol HKEY_CURRENT_USER , como la distribución del teclado, las impresoras instaladas, el fondo de escritorio, la configuración de pantalla, las unidades de red asignadas y más.

Muchas de las configuraciones que configura dentro de varios subprogramas en el Panel(Control Panel) de control se almacenan en la  sección de registro HKEY_CURRENT_USER . Debido a que el subárbol HKEY_CURRENT_USER es específico del usuario, en la misma computadora, las claves y los valores contenidos en él diferirán de un usuario a otro. Esto es diferente a la mayoría de las otras secciones de registro que son globales, lo que significa que retienen la misma información para todos los usuarios de Windows .

Pulsando en la parte izquierda de la pantalla sobre el editor de registro nos dará acceso a HKEY_CURRENT_USER . Como medida de seguridad, la información almacenada en HKEY_CURRENT_USER es solo un puntero a la clave ubicada debajo de la sección HKEY_USERS como nuestro identificador de seguridad. Los cambios realizados en cualquiera de las áreas surtirán efecto inmediatamente.

V. HKEY_USERS

Este contiene subclaves correspondientes a las claves HKEY_CURRENT_USER para cada perfil de usuario. Esta es también una de las muchas colmenas de registro que tenemos en el Registro de Windows(Windows Registry) .

Todos los datos de configuración específicos del usuario se registran aquí, para todos los que usan activamente el dispositivo, esa información de tipo se almacena en HKEY_USERS . Toda la información específica del usuario almacenada en el sistema que corresponde a un usuario en particular se almacena bajo la sección HKEY_USERS , podemos identificar de manera única a los usuarios utilizando el identificador de seguridad o el SID(security identifier or the SID) que registra todos los cambios de configuración realizados por el usuario.

Todos estos usuarios activos cuya cuenta existe en la sección HKEY_USERS según el privilegio otorgado por el administrador del sistema podrían acceder a los recursos compartidos, como impresoras, red local, unidades de almacenamiento local, fondo de escritorio, etc. Su cuenta tiene cierto registro claves y valores de registro correspondientes almacenados bajo el SID del usuario actual .

En términos de información forense, cada SID almacena una gran cantidad de datos sobre cada usuario, ya que crea un registro de cada evento y acción que se lleva a cabo en la cuenta del usuario. Esto incluye el Nombre(Name) de usuario , la cantidad de veces que el usuario inició sesión en la computadora, la fecha y hora del último inicio de sesión, la fecha y hora en que se cambió la última contraseña, la cantidad de inicios de sesión fallidos, etc. Además, también contiene la información de registro para cuando Windows se carga y se encuentra en el indicador de inicio de sesión.

Recomendado: (Recommended:) Arreglar El editor del Registro ha dejado de funcionar(Fix The Registry editor has stopped working)

Las claves de registro para el usuario predeterminado se almacenan en el archivo ntuser.dat dentro del perfil, que tendríamos que cargar esto como una colmena usando regedit para agregar configuraciones para el usuario predeterminado.

Tipos de datos que podemos esperar encontrar en el Registro de Windows(Types of data we can expect to find in the Windows Registry)

Todas las claves y subclaves discutidas anteriormente tendrán las configuraciones, valores y propiedades guardadas en cualquiera de los siguientes tipos de datos, por lo general, es una combinación de los siguientes tipos de datos lo que constituye todo nuestro registro de Windows.

  • Valores de cadena como Unicode, que(Unicode ​which) es un estándar de la industria informática para la codificación, representación y manejo consistentes de texto expresado en la mayoría de los sistemas de escritura del mundo.
  • Datos binarios
  • enteros sin signo
  • Enlaces simbólicos
  • Valores de varias cadenas
  • Lista de recursos(Resource) ( hardware Plug and Play )
  • Descriptor de recursos(Resource) ( hardware Plug and Play )
  • enteros de 64 bits

Conclusión(Conclusion)

El Registro de Windows(Windows Registry) ha sido nada menos que una revolución, que no solo minimizó el riesgo de seguridad que sucedía al usar archivos de texto como una extensión de archivo para guardar la configuración del sistema y la aplicación, sino que también redujo la cantidad de archivos de configuración o .ini que los desarrolladores de aplicaciones tuvo que enviar con su producto de software. Los beneficios de tener un repositorio centralizado para almacenar datos a los que se accede con frecuencia tanto por el sistema como por el software que se ejecuta en el sistema son muy evidentes.

La facilidad de uso, así como el acceso a varias personalizaciones y configuraciones en un lugar central, también ha convertido a Windows en la plataforma preferida para aplicaciones de escritorio por varios desarrolladores de software. Esto es muy evidente si compara el gran volumen de aplicaciones de software de escritorio disponibles de Windows con macOS de Apple. Para resumir, discutimos cómo funciona el Registro de Windows(Windows Registry) y su estructura de archivos y la importancia de varias configuraciones de claves de registro, así como el uso completo del editor de registro.



About the author

Soy ingeniero de windows, ios, pdf, errores, gadgets con más de 10 años de experiencia. He trabajado en muchas aplicaciones y marcos de trabajo de Windows de alta calidad, como OneDrive for Business, Office 365 y más. Mi trabajo reciente ha incluido el desarrollo del lector de pdf para la plataforma Windows y trabajar para que los mensajes de error sean más claros para los usuarios. Además, he estado involucrado en el desarrollo de la plataforma ios durante algunos años y estoy muy familiarizado con sus características y peculiaridades.



Related posts