Cambiar Login Screen en XP

      20 Comments on Cambiar Login Screen en XP

Como continuación del post de cómo cambiar el bootscreen, comento ahora que es lo que hay que hacer para cambiar el login screen de Windows XP.
Esto solo es posible cuando tenemos marcado en las propiedades del inicio de sesion que Windows nos muestre la pantalla de bienvenida.

Este hack es mas sencillo y entraña menos riesgo que el del bootscreen, pero es igual de laborioso y por supuesto me hago tan responsable de esto como del otro hack, es decir NADA EN ABSOLUTO.
Los principios son mas o menos los mismos, necesitamos un editor de recursos como el ya mencionado Resource Hacker, y con el editaremos esta vez una copia del fichero logonui.exe que se encuentra en \windows\system32.
Este fichero es el encargado de pedirnos el login al iniciar la sesion en windows. Esta vez los bitmaps que contiene si que llevan su propia paleta, que en esta ocasión permite 32 bits de color, con lo que tendremos muchas mas posibilidades a la hora de crear una pantalla de login personalizada.

Vamos a cambiar lo que aparece en la primera pantalla, por lo que aparece en la segunda.


Original
Hacked

En mi caso, el logon screen de la recreativa que estoy construyendo no va a pedir login y password, sino que va a entrar directamente al sistema para hacer mas límpia la experiencia de juego. Por ello voy a obviar la mayor parte de los bmps que se refieren a las partes donde se introduce la password.
En los bmps que podemos encontrar dentro de logonui.exe me interesa principalmente el 100, que es la imagen que aparece arriba a la izquierda (en el original es una especie de degradado azul, en mi caso es plug, la mascota de Zinkia), el 123 y 127, que son los logotipos de windows que aparecen al iniciar y apagar windows respectivamente y el 125 y 126 que son las lineas superior e inferior que dividen el logon screen en 3 partes. El resto de los bmps son bastante explicitos por si mismos y no creo que tengais problemas en reconocerlos.

Una vez cambiados estos paso a modificar el mensaje de bienvenida, que originalmente reza “Bienvenidos”. Yo quiero poner el nombre de la máquina, asi que me dirijo al String Table dentro de los recursos y en el apartado 1 encuentro dicha cadena. Tambien están ahí los tipos de letra que se usan, así que decido cambiarlos. En un principio estaba puesta Arial, pero yo voy a ser un poco atrevido y voy a poner una tipografía que se llama SirClive y que imita a las letras del logotipo del Spectrum. Queda así

STRINGTABLE
LANGUAGE LANG_SPANISH, 0x3
{
1, "sirclive"
2, "sirclive"
3, "arial"
6, "Escriba su contraseña"
7, "Plug & Play"
8, "Vuelva a escribir su contraseña. \nAsegúrese de que usa las letras mayúsculas o minúsculas correctamente."
9, "Puede hacer clic en el botón \"?\" para ver la sugerencia de su contraseña.\n\nVuelva a escribir su contraseña de nuevo. \nAsegúrese de que usa las letras mayúsculas y minúsculas correctas."
10, "¿Ha olvidado la contraseña?"
11, "Apagar equipo"
12, "Apagar %s"
13, "Sugerencia de contraseña:"
14, "Desacoplar equipo"
15, "Iniciada la sesión"
}

Ahora viene lo mas interesante. En el apartado UIFILE/1000 el unico recurso, el 3082 parece estar vacío, pero no es así. Solo teneis que hacer un poco de scroll para encontraros una mina. Se trata de la definición del layout de todas las partes de la pantalla, con posiciones, tamaños, colores de cada una de las zonas de la misma. Está en una especie de XML por lo que es muy sencillo de editar.
Con un poco de paciencia podemos ir identificando cada una de las zonas y cambiando los colores a placer. No explicaré concienzudamente los cambios que he hecho yo por que de poco os van a servir, pero por poner un ejemplo, el recurso empieza con :

<style resid=framess>
element
{
background: argb(0,0,0,0);
}
element [id=atom(contentcontainer)]
{
background: rgb(90,126,220);
}
button
{
background: rcbmp(112,6,#FF00FF,0,0,1,0);
borderthickness: rect(8,8,0,8);
}
</style>

Basta cambiar el segundo background por

background: white;

Compilamos el script con el boton al efecto, guardamos el nuevo logonui.exe, y hacemos la misma operación que en el hack del ntoskrnl.exe, reiniciamos con simbolo del sistema, lo copiamos sobre el antiguo logonui.exe y reiniciamos. Toda la parte central será blanca a partir de este momento.

Otra forma que no he probado para hacer instantaneo el cambio sin necesidad de reiniciar es copiar el logonui.exe que acabamos de modificar en la carpeta de sistema oculta \windows\system32\dllcache y despues de ello, copiar sobre \windows\system32. Se supone que al cabo de un tiempo windows te avisa de que se han modificado ficheros del sistema, que insertes el CD de windows y mas movidas que ignoramos y cancelamos. Cuando pregunte si queremos conservar los archivos que han sido modificados le decimos que si y ya está.

Otras notas a tener en cuenta es por ejemplo el uso de los recursos dentro del propio layout. Podemos ver que en algunas lineas aparece algo como esto:

fontsize: rcint(44) pt;

Significa que el tamaño de la fuente viene dado por el recurso numero 44 “rcint(44)” (no creais que el tamaño es 44, como me pasó a mi al pincipio, lo cambie por un 24 y luego obtuve un error de que el recurso 24 no existia). Si nos vamos al String Table veremos que el recurso 42 indica un tamaño de letra de 36, que yo he cambiado por 14, ya que la tipografía que he usado es mucho mas grande que la arial original y mi texto mas largo.

Con estas nociones se puede dejar la pantalla de login como queramos, eso si, cada prueba lleva un rato de reinicios, así que es mejor armarse de un poco de paciencia. Para los que no la tengais… usad una herramienta para cambiar el aspecto de windows, tios vagos.

Me han sido de gran ayuda para enterder este lio ZmAn3 y Matt Cameron. Gracias!.

20 thoughts on “Cambiar Login Screen en XP

  1. César

    Está muy bueno eso… es un muy buen aporte aunque requiere de una paciencia tremenda, pero muchas gracias…

  2. psycho

    buen aporte, pero no hay alguna forma de introducir una imágen ya preparada y directamente para ser cambiada por la de windows?, es decir evitar el trabajo de hacerlo por partes, y si no se puede, no entiendo por qué existe en el internet imágenes ya diseñadas de login screen para modificarlas, según parece, muy fácilmente, existe algún truco?

  3. Makinolo Post author

    Hay programas que hacen todos los cambios de manera automática, por eso debe ser que hay juegos completos de imágenes e iconos.
    Yo he preferido hacerlo a mano para no tener mas cosas inutiles instaladas en el ordenador y para saber como funcionaba el tema este.

  4. thenry

    gracias por hacernos entender un poco mas como fucionan algunos archivos de windows. gracias!!

  5. Cesar C.

    Muy bueno el aporte te pasaste, te queria hacer una pregunta.. con respecto al codigo hay algun manual que te explique cada comando para entender un poco mas…

    Gracias

  6. jose

    me vino muy bien!! yo lo que queria era que no aparezca nada en la pantalla de “bienvenido” y lo logre poniendo todo en bmp`s negros. ahora bien, antes de que aparezca esta pantalla negra, aparece una completamente azul durante unos segundos. he intentando cambiar los valores del apartado UIFILE/1000 , con los que logre modificar el degradado de abajo entre otras cosas.. pero no encuentro la forma de hacer que no aparezca esta pantalla azul durante los segundos previos…. tienes alguna idea de que variable debo modificar?

  7. Anonymous

    Como que no te reponsabilizas cabron?
    entonces para que publicas mamadas, no chingues!!!

  8. nemesix

    olle tengo el .exe de un logon que descarge quieroponerlo como lo hago sin tanto choro graxias!

  9. :)xp

    para que tanta complicacion descargate el tune up utilities2007 y listo viene todo y nada de meterte en el sistema toodoo super sencillo. ademas con el tune up te descargas todos los logon y eliges en el programa el q quieres instalar

    🙂 bye!!

  10. Kaoru

    esta muy bueno
    yo ya lo use
    y por fin tengo una imagen a mi gusto en la pantalla de bienvenida
    lo malo, es q como no se de este lenguaje
    no pude colocar las letras en negro.. y tan en blanco… y mi fondo es blanco xD
    asi q nu se ve mucho
    pero con tener la imagen soy feliz ^^

    graciaaas
    es el mejor q he encontrado n.n

  11. El Fantástico Juansaman

    Joer, eres un crack, por fin alguien que te explica cómo hacer las cosas y nada de fastsoft que te instala mierda en el equipo. Por cierto, ¿alguna idea de como personalizar/modificar el aspecto del explorador de windors?

  12. mvb

    Excelente
    he utilizado el tuneup pero la verdad yo queria tener mi imagen personalizada totamente y ahi quedo

    Saludos

  13. jejey

    no entendi un cojon no exsiste algo mas facil aunque encontre todos los archivos no logrue cambiar nada

  14. jharold

    Como puedo colocar un lñink desde este inicio a una pagina web…..?, se puede…?

  15. Sasuke

    Usen el logon Studio
    es la forma mas sencilla de hacer tu propio login

  16. sasha

    como hago para q m coja el logo creado me sale error de id o algo asi y m sale el fondo negro de la pantalla como hago para q m funcine

  17. jacobo

    ¿Sabes cómo editar el uifile de un tema para que las ventanas de diálogo del sistema muestren el ancho de borde especificado en el diálogo de apariencia del sistema?.
    Me explico:
    Tengo un tema de xp en el cual utilizo bordes de 5, (ventana apariencia).
    Funciona bien, pero en las ventanas de diálogo, (con botones para cerrar y ayuda, o sólo con botón para cerrar), el borde se queda estrecho como en el tema original del sistema. En las ventanas que se pueden ampliar, (con botones para maximizar y minimizar), me mantiene el ancho de borde que he especificado en el cuadro de diálogo de apariencia de los temas.
    Puede modificarse este comportamiento?
    Saludos y gracias.

Comments are closed.