¿Hay alguna forma de evitar el límite de 256 kB para una pantalla de inicio de sesión personalizada de Windows 7?

10

Cuando utiliza un fondo personalizado para la pantalla de inicio de sesión de Windows 7, el tamaño del archivo de imagen está limitado a 256 kB. ¿Hay alguna forma de evitar este límite?

Advertencia : antes de responder esta pregunta, asegúrese de leerla dos veces y comprender lo que estoy pidiendo. Estoy no en busca de cualquier programa que puede cambiar la pantalla de inicio de sesión. Estoy no en busca de un programa que puede cambiar el tamaño o "optimizar" una imagen. Estoy buscando una forma de evitar el límite de tamaño del archivo por completo porque me obliga a guardar la imagen con una configuración de baja calidad.

nitro2k01
fuente
Parece obvio que este es un límite codificado o simplemente un límite de diseño. De cualquier manera, no existe una solución fácil de "activar el interruptor", salvo rediseñar su propio sistema operativo. 256 KB simplemente no parece un límite arbitrario impuesto porque nadie como 257 o 258.
surfasb
3
Como usted dice, es obvio que es un límite de diseño o un límite que se decidió y codificó. Lo que no sigue naturalmente es que la forma obvia de evitarlo es escribir su propio sistema operativo. Incluso un comentario troll sobre cambiar a Linux sería una mejor respuesta. :)
nitro2k01
He estado buscando algo similar, pero no encontré nada. Sin embargo, ahora puedo usar imágenes de más de 256 KB en mi Windows 7 (¡usé una imagen de 5,63 MB!). No sé qué lo causó, por lo que no puedo proporcionar ninguna respuesta específica. Pero si lo descubro, definitivamente compartiré
Sнаđошƒаӽ
He encontrado la única forma de evitar el límite, gracias al autor del artículo original , y lo he compartido. Echa un vistazo y marca mi respuesta como aceptada porque se lo merece :-)
Sнаđошƒаӽ

Respuestas:

2

Parece que la gran mayoría de la comunidad da por sentado el límite de 256 kB. Tal vez podría parchear imageres.dllcomo lo sugiere la última publicación de esta discusión . Los pasos necesarios aquí se reducen a lo siguiente:

  1. Abrir %WINDIR%\System32\imageres.dllen un editor de recursos
  2. Extrae las imágenes a archivos
  3. Reemplácelos con variantes personalizadas
  4. Vuelva a colocar las imágenes reemplazadas en una copia de imageres.dll
  5. Reemplazar imageres.dll
krlmlr
fuente
1
Extraño, la discusión vinculada solo aborda la sustitución de los fondos predeterminados, no el límite de tamaño.
surfasb
Esta respuesta vinculada, de hecho, no aborda la razón fundamental.
surfasb
De hecho, si. No pude encontrar una explicación de la razón del límite, solo millones de textos que dicen que existe exactamente este límite y que usted puede hacer cualquier cosa al respecto . Por eso sugerí el "segundo mejor".
krlmlr
Esto funcionó como se esperaba. Temía que el archivo fuera rechazado ya que ya no coincidía con la firma criptográfica, pero parece que esto solo se aplica al código de anillo 0 (es decir, los controladores). Sabía que tenía que haber un archivo de recursos en algún lugar que contuviera la imagen, pero no lo hice. No sé dónde. Hubiera deseado una forma menos agresiva, pero al menos esto resuelve el problema en cuestión.
nitro2k01
55
Sí, al costo de tener que lidiar con la modificación de un archivo del sistema. Y si no sabe lo que está haciendo, podría bloquearse fácilmente si el archivo que copia a la carpeta system32 está dañado. Recomiendo tener una copia de seguridad del archivo, por ejemplo, un CD en vivo de Linux con ntfs-3g (usé GParted Live para ese propósito), así como el conocimiento de cómo restaurar el archivo si es necesario. Si no está seguro de poder restaurar el archivo en caso de falla, no realice esta operación.
nitro2k01
6

Después de buscar durante mucho tiempo, finalmente encontré una forma de eliminar el límite de tamaño de archivo de 256 KB en la pantalla de inicio de sesión de Windows 7. El proceso es bastante simple y directo para los experimentados, pero puede ser un poco difícil para los principiantes. Intentaré ser lo más explícito posible. ¡Después de todo, somos superusuarios!

  1. Navegue a C: \ Windows \ System32 y haga una copia de seguridad del archivo authui.dll , quizás haga una copia y cambie el nombre a authui_original.dll

  2. Haga otra copia del archivo y asígnele el nombre authui_working.dll

  3. Usando cualquier buen editor hexadecimal, como Hex Workshop , abra el archivo authui_working.dll

  4. Busque la palabra (Menú> Editar> Buscar, o ctrl + F):

    • para ventanas de 32 bits: 3D 00 E8 03 00 73 51
    • para ventanas de 64 bits: E8 03 00 41 3B C1 73 3E
  5. Ahora reemplace la palabra encontrada con:

    • para ventanas de 32 bits: 3D 00 E8 03 00 90 90
    • para ventanas de 64 bits: E8 03 00 41 3B C1 90 90

    Continúe y cambie solo los bytes que difieren, es decir, solo los dos últimos bytes, como se 73 51cambió a 90 90en caso de 32 bits, y luego guarde el archivo.

    Si se pregunta cuál es el cambio, está eliminando la instrucción que verifica el tamaño del archivo y reemplazándolo con dos instrucciones (llamadas nops o no operaciones) que no hacen nada. Los 00 E8 03 00 bytes representan el límite de 256,000 bytes.

  6. Parcheo hecho! Ahora reemplace authui.dll con el archivo parcheado authui_working.dll .

Puede usar cualquier forma que desee para reemplazar el archivo. Por ejemplo sustituto . Lo que hice es muy simple, usar desbloqueador

  • Si aún no tienes desbloqueador, descárgalo e instálalo
  • Haga clic derecho en el archivo authui.dll y elija desbloqueador
  • En la esquina inferior izquierda, seleccione eliminar (o renombrar en caso de que desee mantener una copia de seguridad) y haga clic en el botón Desbloquear todo . Esto eliminará el archivo inmediatamente
  • Cambie el nombre del archivo authui_working.dll a authui.dll
  • ¡Hecho!

Para probar, copie una imagen de más de 256 KB a la C:\Windows\system32\oobe\info\backgroundscarpeta donde se colocan las pantallas de inicio de sesión personalizadas. ¡También debe haber OEMBackgroundhabilitado en el registro, lo que probablemente ya tenga, ya que de lo contrario no estaría leyendo esta publicación en primer lugar! De todos modos, para habilitar OEMBackgroundnavegar a esta clave de registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background

y establezca el valor de OEMBackgrounda 1.

Finalmente presiona Win+ Ly ¡sorpréndete!

PD: todo el crédito va al autor de este artículo de donde aprendí este procedimiento

PPS: mantengo uac apagado, por lo que mis instrucciones se aplican exactamente solo cuando uac está apagado.

Sнаđошƒаӽ
fuente
Método alternativo para reemplazar el archivo. Tome posesión del archivo authui.dll, luego sáquelo de System32 y mueva el archivo parcheado con el mismo nombre a la carpeta. El archivo continuará usándose hasta que reinicie, por lo que solo después de reiniciar podrá borrar el archivo y ver el cambio (se están cargando imágenes de inicio de sesión más grandes).
0rkan
@ 0rkan Es cierto que hay alternativas para reemplazar el archivo. ¡Es bueno ver que mi arduo trabajo (limitado solo a descubrir el camino) sea apreciado y votado!
Sнаđошƒаӽ
1
¡Si! Realmente me ayudó y fue la única respuesta que encontré que hizo el trabajo. También lo pones de una manera agradable y concisa con una explicación adicional sobre cómo cambiar la imagen. ¡Sigue aprendiendo y compartiendo el conocimiento!
0rkan
1
¡ADVERTENCIA! No hagas esto con UAC activado ya que rompe la interfaz de usuario. Tuve que conectar mi SSD a otra computadora y copiar el archivo nuevamente al sistema32.
Pontus Magnusson
1
@ PontusMagnusson Gracias por su incorporación. ¡Es por eso que cada vez que hago una nueva instalación de Windows, una de las primeras configuraciones que hago es apagar UAC! No necesito UAControl , cuando tengo el control. ;-)
Sнаđошƒаӽ