Esiste un modo per aggirare il limite di 256 kB per una schermata di accesso personalizzata di Windows 7?


10

Quando si utilizza uno sfondo personalizzato per la schermata di accesso di Windows 7, la dimensione del file di immagine è limitata a 256 kB. C'è un modo per aggirare questo limite?

Avvertenza : prima di rispondere a questa domanda, assicurati di leggerlo due volte e di capire cosa sto chiedendo. Sto Non alla ricerca di qualsiasi programma in grado di cambiare la schermata di login. Sto Non alla ricerca di un programma che può ridimensionare o "ottimizzare" un'immagine. Sto cercando un modo per aggirare completamente il limite della dimensione del file perché mi costringe a salvare l'immagine con un'impostazione di bassa qualità.


Sembra ovvio che questo è un limite hardcoded o solo un limite di progettazione. In entrambi i casi, non esiste una soluzione "flip the switch" facile, a parte riprogettare il proprio sistema operativo. 256 KB non sembra un limite arbitrario imposto perché nessuno come 257 o 258.
surfasb

3
Come dici tu, è ovvio che è un limite di progettazione o un limite che è stato deciso e codificato. Ciò che non segue naturalmente è che il modo ovvio per aggirare è scrivere il proprio sistema operativo. Anche un commento da troll sul passaggio a Linux sarebbe una risposta migliore. :)
nitro2k01

Ho cercato qualcosa di simile, ma non ho trovato nulla. Tuttavia, ora posso usare immagini di dimensioni superiori a 256 KB su Windows 7 (ho usato 5,63 MB di immagine!). Non so cosa l'abbia causato, quindi non posso fornire una risposta specifica. Ma se lo
scoprissi

Ho trovato l' unico modo per aggirare il limite, grazie allo scrittore originale dell'articolo , e l'ho condiviso. Dai un'occhiata e segna la mia risposta come accettata perché se lo merita :-)
Sнаđошƒаӽ

Risposte:


2

Sembra che il limite di 256 kB sia dato per scontato dalla stragrande maggioranza della comunità. Forse potresti rattoppare imageres.dllcome suggerito dall'ultimo post in questa discussione . I passaggi necessari qui si riducono a quanto segue:

  1. Apri %WINDIR%\System32\imageres.dllin un editor di risorse
  2. Estrai le immagini in file
  3. Sostituiscili con varianti personalizzate
  4. Rimetti le immagini sostituite in una copia di imageres.dll
  5. Sostituire imageres.dll

1
Strano, la discussione collegata riguarda solo la sostituzione degli sfondi predefiniti, non il limite delle dimensioni.
surfasb,

Questa risposta collegata, infatti, non affronta il motivo fondamentale.
surfasb,

È un dato di fatto, sì. Non sono stato in grado di trovare una spiegazione del motivo del limite, solo miliardi di testi che affermano che esiste esattamente questo limite e che puoi fare qualcosa al riguardo . Ecco perché ho suggerito il "secondo miglior".
krlmlr

Questo ha funzionato come previsto. Temevo che il file sarebbe stato respinto poiché non corrispondeva più alla firma crittografica, ma sembra che questo si applichi solo al codice ring 0 (ovvero driver.) Sapevo che doveva esserci un file di risorse da qualche parte contenente l'immagine, ma non l'ho fatto so dove. Avrei desiderato un modo meno aggressivo, ma almeno questo risolve il problema.
nitro2k01

5
Sì, a spese di dover modificare un file di sistema. E se non sai cosa stai facendo, potresti facilmente bloccarti se il file che copi nella cartella system32 è danneggiato. Consiglio di avere un backup del file, ad esempio un CD live Linux con ntfs-3g (ho usato GParted Live allo scopo) e la conoscenza di come ripristinare il file se necessario. Se non ti senti sicuro di poter ripristinare il file in caso di errore, non eseguire questa operazione.
nitro2k01

6

Dopo aver cercato a lungo, finalmente ho trovato il modo di rimuovere il limite di dimensione del file di 256 KB nella schermata di accesso a Windows 7. Il processo è abbastanza semplice e diretto per gli esperti, ma può essere un po 'difficile per i principianti. Cercherò di essere il più esplicito possibile. Dopotutto, siamo dei superutenti!

  1. Passare a C: \ Windows \ System32 e fare un backup del file authui.dll , forse fare una copia e rinominare in authui_original.dll

  2. Creare un'altra copia del file e denominarlo authui_working.dll

  3. Utilizzando qualsiasi buon editor esadecimale, come Hex Workshop , apri il file authui_working.dll

  4. Cerca la parola (Menu> Modifica> Trova o ctrl + F):

    • per finestre a 32 bit: 3D 00 E8 03 00 73 51
    • per finestre a 64 bit: E8 03 00 41 3B C1 73 3E
  5. Ora sostituisci la parola trovata con:

    • per finestre a 32 bit: 3D 00 E8 03 00 90 90
    • per finestre a 64 bit: E8 03 00 41 3B C1 90 90

    Vai avanti e modifica solo quei byte che differiscono, ovvero solo gli ultimi due byte, come 73 51cambiati 90 90in caso di 32 bit, quindi salva il file.

    Se ti stai chiedendo quale sia la modifica, è rimuovere le istruzioni che controllano le dimensioni del file e sostituirle con due istruzioni (chiamate nops o nessuna operazione) che non fanno nulla. 00 E8 03 00 byte rappresentano il limite di 256.000 byte.

  6. Patch eseguito! Ora sostituisci authui.dll con il file con patch authui_working.dll .

Puoi utilizzare qualsiasi modo desideri per sostituire il file. Ad esempio sostituto . Quello che ho fatto è molto semplice, usando lo sblocco

  • Se non hai già lo sblocco, scarica e installa
  • Fare clic con il tasto destro sul file authui.dll e selezionare lo sblocco
  • Nell'angolo in basso a sinistra, seleziona Elimina (o rinomina nel caso in cui desideri conservare un backup) e fai clic sul pulsante Sblocca tutto . Questo eliminerà immediatamente il file
  • Rinominare il file authui_working.dll in authui.dll
  • Fatto!

Per provare, copiare un'immagine di dimensioni superiori a 256 KB nella C:\Windows\system32\oobe\info\backgroundscartella in cui sono posizionate le schermate di accesso personalizzate. Devi anche aver OEMBackgroundabilitato nel registro, che probabilmente hai già dato altrimenti altrimenti non leggerai questo post in primo luogo! Ad ogni modo, per abilitare OEMBackgroundpassare a questa chiave di registro:

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

e imposta il valore su OEMBackground1.

Finalmente premi Win+ Le lasciati stupire!

PS: tutto il merito va all'autore di questo articolo da cui ho imparato questa procedura

PPS: Tengo spento UAC, quindi le mie istruzioni si applicano esattamente solo quando UAC è spento.


Metodo alternativo per la sostituzione del file. Diventa proprietario del file authui.dll, quindi spostalo fuori da System32 e sposta il file con lo stesso nome nella cartella. Il file continuerà a essere utilizzato fino al riavvio, quindi solo dopo il riavvio sarà possibile eliminare il file e vedere la modifica (vengono caricate immagini di accesso più grandi).
0rkan,

1
Sì! Mi ha davvero aiutato ed è stata l'unica risposta che ho trovato a fare il lavoro. Inoltre lo metti in un modo carino e conciso con una spiegazione aggiuntiva su come cambiare l'immagine. Continua a imparare e condividere le conoscenze!
0rkan,

1
AVVERTIMENTO! Non farlo con Controllo dell'account utente attivo poiché interrompe l'interfaccia utente. Ho dovuto collegare il mio SSD a un altro computer e copiare il file su system32.
Pontus Magnusson,

1
@PontusMagnusson Grazie per la tua aggiunta. Ecco perché ogni volta che eseguo una nuova installazione di Windows, una delle prime impostazioni che faccio è disattivare il controllo dell'account utente! Non ho bisogno di UAControl , quando ho il controllo. ;-)
Sнаđошƒаӽ

1
Questa è la risposta! Tuttavia, non sono necessari strumenti di sostituzione di terze parti né riavvio, basta prendere la proprietà e il pieno controllo delle autorizzazioni, uccidere explorer.exeper rilasciare authui.dlle quindi sovrascrivere o modificare la dll direttamente. Quindi ripristinare le autorizzazioni e la proprietà sui valori originali ( NT SERVICE\TrustedInstaller) e iniziare explorer.exe. Se questo non funziona, controlla quali altri processi hanno authui.dllin uso cercando gli handle / dll in Process Hacker
sunny moon il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.