Czy istnieje sposób na ominięcie limitu 256 kB dla niestandardowego ekranu logowania do systemu Windows 7?


10

Gdy używasz niestandardowego tła dla ekranu logowania Windows 7, rozmiar pliku obrazu jest ograniczony do 256 kB. Czy jest jakiś sposób na ominięcie tego limitu?

Ostrzeżenie : zanim odpowiesz na to pytanie, przeczytaj je dwa razy i zrozum, o co proszę. Ja nie szuka jakiegokolwiek programu, który może zmienić ekran logowania. Ja nie szukam programu, który może zmienić rozmiar lub „zoptymalizować” obraz. Szukam sposobu na całkowite obejście limitu rozmiaru pliku, ponieważ zmusza mnie do zapisania obrazu z ustawieniem niskiej jakości.


Wydaje się oczywiste, że jest to limit ustalony na stałe lub limit projektowy. Tak czy inaczej, nie ma łatwego rozwiązania typu „flip the switch”, bez przeprojektowania własnego systemu operacyjnego. 256 KB po prostu nie wygląda na narzucony arbitralny limit, ponieważ nikt nie lubi 257 lub 258.
surfasb

3
Jak mówisz, jest oczywiste, że jest to limit projektowy lub limit, który został ustalony i zakodowany na stałe. To, co nie następuje naturalnie, to fakt, że oczywistym sposobem jest napisanie własnego systemu operacyjnego. Nawet trollowy komentarz na temat przejścia na Linuksa byłby lepszą odpowiedzią. :)
nitro2k01

Szukałem czegoś podobnego, ale nic nie znalazłem. Jednak mogę teraz używać obrazów większych niż 256 KB na Windows 7 (użyłem obrazu 5,63 MB!). Nie wiem, co go spowodowało, więc nie mogę udzielić konkretnej odpowiedzi. Ale jeśli się dowiem, na pewno się podzielę
Sнаđошƒаӽ

Znalazłem jedyny sposób na ominięcie limitu, dzięki autorowi artykułów , i podzieliłem się nim. Spójrz i zaznacz moją odpowiedź jako zaakceptowaną, ponieważ zasługuje na to :-)
Sнаđошƒаӽ

Odpowiedzi:


2

Wydaje się, że znaczna większość społeczności przyjmuje limit 256 kB. Być może mógłbyś załatać, imageres.dlljak sugerował ostatni post w tej dyskusji . Niezbędne kroki sprowadzają się do:

  1. Otwórz %WINDIR%\System32\imageres.dllw edytorze zasobów
  2. Wyodrębnij obrazy do plików
  3. Zastąp je niestandardowymi wariantami
  4. Umieść zastąpione obrazy z powrotem w kopii imageres.dll
  5. Zastąpić imageres.dll

1
Dziwne, połączona dyskusja dotyczy tylko zastąpienia domyślnego tła, a nie limitu rozmiaru.
surfasb

Ta powiązana odpowiedź w rzeczywistości nie odnosi się do podstawowego powodu.
surfasb

W rzeczywistości tak. Nie byłem w stanie znaleźć wyjaśnienia przyczyny tego ograniczenia, tylko zilliony tekstów, które mówią, że istnieje dokładnie ten limit i można na to wszystko poradzić . Właśnie dlatego zasugerowałem „drugą najlepszą”.
krlmlr

To działało zgodnie z oczekiwaniami. Bałem się, że plik zostanie odrzucony, ponieważ nie pasuje już do podpisu kryptograficznego, ale wydaje się, że dotyczy to tylko kodu pierścienia 0 (tj. Sterowników). Wiedziałem, że gdzieś musi być plik zasobów zawierający obraz, ale nie zrobiłem tego nie wiem gdzie. Chciałbym mieć mniej hackerski sposób, ale przynajmniej to rozwiązuje problem.
nitro2k01

5
Tak, tak, kosztem modyfikacji pliku systemowego. A jeśli nie wiesz, co robisz, możesz łatwo się zablokować, jeśli plik skopiowany z powrotem do folderu system32 jest uszkodzony. Zalecam wykonanie kopii zapasowej pliku, na przykład płyty CD z systemem Linux na żywo z ntfs-3g (w tym celu korzystałem z GParted Live), a także wiedzy na temat przywracania pliku, jeśli zajdzie taka potrzeba. Jeśli nie masz pewności, czy możesz przywrócić plik w przypadku awarii, nie wykonuj tej operacji.
nitro2k01

6

Po długich poszukiwaniach wreszcie znalazłem sposób na usunięcie limitu rozmiaru pliku 256 KB na ekranie logowania Windows 7. Proces ten jest dość prosty i prosty dla doświadczonych, ale może być nieco trudny dla początkujących. Postaram się wyrazić jak najdokładniej. W końcu jesteśmy superużytkownikami!

  1. Przejdź do C: \ Windows \ System32 i wykonaj kopię zapasową pliku authui.dll , być może wykonaj kopię i zmień nazwę na authui_original.dll

  2. Utwórz kolejną kopię pliku i nazwij go authui_working.dll

  3. Za pomocą dowolnego dobrego edytora szesnastkowego, takiego jak Hex Workshop , otwórz plik authui_working.dll

  4. Wyszukaj słowo (Menu> Edytuj> Znajdź lub Ctrl + F):

    • dla 32-bitowych okien: 3D 00 E8 03 00 73 51
    • dla 64-bitowych okien: E8 03 00 41 3B C1 73 3E
  5. Teraz zamień znalezione słowo na:

    • dla 32-bitowych okien: 3D 00 E8 03 00 90 90
    • dla 64-bitowych okien: E8 03 00 41 3B C1 90 90

    Śmiało i zmień tylko te bajty, które się różnią, tj. Tylko dwa ostatnie bajty, jak 73 51zmieniono na 90 90w przypadku 32-bitowych, a następnie zapisz plik.

    Jeśli zastanawiasz się, na czym polega zmiana, usuwa instrukcję sprawdzającą rozmiar pliku i zastępuje ją dwiema instrukcjami (zwanymi nops lub brak operacji), które nic nie robią. 00 E8 03 00 bajtów reprezentuje limit 256 000 bajtów.

  6. Aktualizacja zakończona! Teraz zastąp authui.dll poprawionym plikiem authui_working.dll .

Możesz użyć dowolnego sposobu na zamianę pliku. Na przykład zamiennik . To, co zrobiłem, jest bardzo proste, używając odblokowania

  • Jeśli nie masz jeszcze odblokowania, pobierz i zainstaluj
  • Kliknij plik authui.dll prawym przyciskiem myszy i wybierz opcję odblokowania
  • W lewym dolnym rogu wybierz usuń (lub zmień nazwę, jeśli chcesz zachować kopię zapasową) i kliknij przycisk Odblokuj wszystko . Spowoduje to natychmiastowe usunięcie pliku
  • Zmień nazwę pliku authui_working.dll na authui.dll
  • Gotowy!

Aby przetestować, skopiuj obraz większy niż 256 KB do C:\Windows\system32\oobe\info\backgroundsfolderu, w którym znajdują się niestandardowe ekrany logowania. Musisz także OEMBackgroundwłączyć tę funkcję w rejestrze, który prawdopodobnie już masz, bo inaczej nie czytałbyś tego postu w pierwszej kolejności! W każdym razie, aby włączyć OEMBackgroundnawigację do tego klucza rejestru:

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

i ustaw wartość OEMBackgroundna 1.

Wreszcie naciśnij Win+ Li zaskocz się!

PS: wszystkie podziękowania należą się autorowi tego artykułu, z którego nauczyłem się tej procedury

PPS: Trzymam UAC wyłączony, więc moje instrukcje obowiązują dokładnie tylko wtedy, gdy UAC jest wyłączony.


Alternatywna metoda zastępowania pliku. Przejmij na własność plik authui.dll, a następnie przenieś go z System32 i przenieś załatany plik o tej samej nazwie do folderu. Plik będzie używany do momentu ponownego uruchomienia, więc dopiero po ponownym uruchomieniu będziesz mógł usunąć plik i zobaczyć zmianę (ładowane są większe obrazy logowania).
0rkan

1
Tak! To naprawdę mi pomogło i była to jedyna znaleziona przeze mnie odpowiedź. Przedstawiasz to także w przyjemny i zwięzły sposób z dodatkowym wyjaśnieniem, jak zmienić obraz. Ucz się i dziel się wiedzą!
0rkan

1
OSTRZEŻENIE! Nie rób tego z włączonym UAC, ponieważ psuje interfejs użytkownika. Musiałem podłączyć mój dysk SSD do innego komputera i skopiować plik z powrotem do systemu32.
Pontus Magnusson

1
@PontusMagnusson Dzięki za dodanie. Dlatego za każdym razem, gdy robię nową instalację systemu Windows, jednym z pierwszych ustawień, które robię, jest cholerny UAC! Nie potrzebuję UAControl , kiedy mam kontrolę. ;-)
Sнаđошƒаӽ

1
To odpowiedź! Żadne narzędzia zastępcze innych firm, ani nawet ponowne uruchomienie nie są jednak potrzebne, wystarczy przejąć własność i pełną kontrolę nad uprawnieniami, zabić, aby zwolnić , a następnie zastąpić lub edytować dll w odpowiednim miejscu. Następnie przywróć uprawnienia i własność z powrotem do oryginalnych wartości ( ) i uruchom . Jeśli to nie zadziała, sprawdź, jakie inne procesy mają zastosowanie, szukając uchwytów / bibliotek DLL w Process Hackerexplorer.exeauthui.dllNT SERVICE\TrustedInstallerexplorer.exeauthui.dll
słoneczny księżyc
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.