Confidencial de Windows Codificar no es cifrar
Raymond Chen
Información de de uso de menú de inicio está codificado, una palabra seleccionar cuidadosamente por lo tanto, no a despistar, en el registro. Aunque la codificación es acerca de cómo cambiar la forma de datos, cifrado sugiere que recuperar el texto sin formato está pensado como difícil: No es. Cifrado también sugiere que se supone que el algoritmo de codificación para ser resistente a ataques: No es.
Por lo que no activar durante las búsquedas de F3 a través del registro para SomeAppName.exe, se codifica la información de uso. Dichas búsquedas suceder cuando personas ejecutan escritas por el lado "desinstalar comprobación"herramientas que realiza el disco duro y el registro. Si la información de uso se grabaron en texto sin formato, estas herramientas encontraría la entrada de la base de datos de uso y luego desinstalar un supuesto el informe como incompleta. Sin embargo, desinstalar programas no se espera para eliminar esa clave del registro. No creenno es necesario eliminarlo. De hecho, se supone que la información de uso outlive la desinstalación. Que, si un usuario desinstala y vuelve a instalar un programa, el inicio de menú puede decir, "bienvenida remontan! Aquí está su plaza de ranking superior en el menú Inicio."
Codificación también sirve como señal para los programadores: "No se espera trabajar con este." Si los programadores desea trabajar con él, tienen que aplicar el algoritmo de descodificación (muy simple pero todavía no nulo) antes de continuar. Esto permite las actualizaciones, eliminaciones y otros tipos de pruebe con esos valores del registro imposible realizar de forma inadvertida. Cuando se inicia pounding fuera un algoritmo de descodificación de datos en una clave del registro no documentadas, obviamente has establecido sobre cómo hacerlo intencionadamente. Espero que en algún momento una voz en su encabezado indica, "Puede estoy no supone que para se va a hacerlo."
En otras palabras, la codificación actúa como un "no Trespassing"iniciar sesión. No impide que las personas escribir la propiedad, pero desactive hace que su presencia no deseado y quita su "Pero no sé!"defensa.
La codificación tiene nada que ver con la seguridad. La información se almacena en la sección usuario, por lo que ya acceso está restringido para el usuario (y los administradores). Ninguna información confidencial, como contraseñas, obtiene almacena de existe. La codificación es simplemente un golpe de velocidad para dar a los desarrolladores de aplicación que intentan alterar los valores del registro, si fuera de ignorance o descuido, otra oportunidad para tener en cuenta que no es realmente la información para ellos.
Por supuesto, los resaltes velocidad no detener los programadores de las funciones de escritura para codificar y descodificar los datos de todos modos. Con un ejemplo encuentra, si un usuario volver a configurar el programa, el programa a su vez podría manipular los datos de uso, y esto no era parte de una desinstalación;que se produjo durante la ejecución. Es decir, los programadores establece intencionadamente para manipular los datos de uso y, por lo tanto, alterar el programa colocación en el menú Inicio.
Averiguar el algoritmo de descodificación es que apenas para bragging, no es difícil hacer. Y además, el algoritmo de descodificación no puede ser lo que de ingeniería inversa de todos modos, porque también en uso puede ser otra clave de registro (igualmente sin documentar) para cambiar el algoritmo de codificación. El programa que mencione en el ejemplo no tener este arruga adicional en cuenta. Si la codificación no se ha establecido en su valor predeterminado, la herramienta encontró datos de uso que percibe como dañado. Afortunadamente el código no intenta "reparar"que!
Uno de los criterios para la codificación es que tiene que ser extremadamente rápido así como no para ralentizar las decisiones sobre lo que ocurre en el menú Inicio. No se desea 80 por ciento del tiempo de inicio del menú de inicio dedicado dentro de alguna función de criptografía.
El algoritmo de codificación ha permanecido inalterado desde que se introdujo en Windows 2000, para que la información sería se trasladan al actualizar a Windows XP y Windows Vista.
Sin embargo, Los desarrolladores de menú de inicio de Windows 7 cambia temporalmente el algoritmo de codificación. Esto coincided con decisiones para cambiar el formato de la información de uso de la aplicación y no para transportar a través de información antigua de uso de las versiones anteriores de Windows. Cambiar el algoritmo de codificación que distinguir antiguo de datos nuevos más fáciles realizado. Este cambio temporal desencadena diversos misinterpretations entre los monitores de Windows, que supone que al ver una nueva codificación que los desarrolladores de menú de inicio se "corrección"la débil "cifrado"con un poco seguro diferente "cifrado", excepto esto nunca fue cifrado en primer lugar. Con la versión final, el algoritmo de codificación original será en su lugar. Después de todo, la codificación original es lo que lleva el contrato social implícito.
Raymond Chen sitio Web, The Old New Thing y libro titulado idéntica (Addison-Wesley 2007) tratan con historial de Windows y programación de Win32. A veces, codifica información mediante la traducción en alemán (mal).