Чи є спосіб обійти ліміт 256 кБ для користувацького екрана входу в Windows 7?


10

Якщо ви використовуєте спеціальний фон для екрана входу в Windows 7, розмір файлу зображення обмежений 256 кБ. Чи є якийсь спосіб обійти цю межу?

Попередження : Перш ніж відповісти на це запитання, переконайтесь, що ви його прочитали двічі і зрозумійте, що я прошу. Я не шукаю жодної програми, яка може змінити екран входу. Я не шукаю програми, яка може змінити розмір або «оптимізувати» зображення. Я шукаю спосіб повного обходу обмеження розміру файлу, оскільки він змушує мене зберігати зображення з низькою якістю налаштування.


Здається очевидним, що це або обмежений жорсткий код, або просто ліміт дизайну. Так чи інакше, не існує простого рішення "перевернути перемикач", окрім зміни дизайну власної ОС. 256 КБ просто не схоже на довільну межу, яку вводять, тому що ніхто, як 257 або 258.
surfasb

3
Як ви кажете, очевидно, що це ліміт дизайну або ліміт, який було вирішено і жорстко закодовано. Природно, що не випливає, це те, що очевидним шляхом є написання власної ОС. Навіть коментар троля про перехід на Linux був би кращою відповіддю. :)
nitro2k01

Я шукав щось подібне, але нічого не знайшов. Однак зараз я можу використовувати зображення розміром більше 256 КБ на своїх Windows 7 (я використав зображення 5,63 МБ!). Я не знаю, що це спричинило, тому я не можу дати конкретної відповіді. Але якщо я
дізнаюся

Я знайшов єдиний спосіб обійти межу завдяки оригінальному автору статті , і я поділився нею. Погляньте та позначте мою відповідь як прийняту, тому що це заслуговує :-)
Snađошƒаӽ

Відповіді:


2

Здається, переважна більшість громади сприймається обмеженням 256 кБ. Можливо, ви могли б виправити, imageres.dllяк це запропонував останній пост у цій дискусії . Тут необхідні кроки зводяться до наступного:

  1. Відкрити %WINDIR%\System32\imageres.dllв редакторі ресурсів
  2. Витягніть зображення у файли
  3. Замініть їх на власні варіанти
  4. Помістіть замінені зображення назад у копію imageres.dll
  5. Замініть imageres.dll

1
Як не дивно, пов'язана дискусія стосується лише заміщення фонів за замовчуванням, а не обмеження розміру.
surfasb

Ця відповідна відповідь насправді не стосується основної причини.
surfasb

Власне кажучи, так. Мені не вдалося знайти пояснення причини ліміту, лише мільйони текстів, які говорять, що існує саме ця межа, і ви можете зробити що завгодно . Ось чому я запропонував "другого найкращого".
krlmlr

Це спрацювало як очікувалося. Я побоювався, що файл буде відхилено, оскільки він більше не відповідає криптографічному підпису, але, схоже, це стосується лише коду дзвінка 0 (тобто драйверів.) Я знав, що повинен бути файл ресурсу десь із зображенням, але я не не знаю де. Я хотів би бажати менш хакерського способу, але, принаймні, це вирішує проблему.
nitro2k01

5
Так, це стосується зміни системного файлу. І якщо ви не знаєте, що ви робите, ви можете легко заблокувати себе, якщо файл, який ви копіюєте назад у папку system32, пошкоджений. Я радимо мати резервну копію файлу, наприклад, живий компакт-диск Linux з ntfs-3g на ньому (я використовував GParted Live для цієї мети), а також знання, як відновити файл, якщо потрібно. Якщо ви не впевнені, що можете відновити файл у разі відмови, не виконуйте цю операцію.
nitro2k01

6

Після довгого пошуку, нарешті, я знайшов спосіб зняти ліміт розміру файлу 256 КБ на екрані входу в Windows 7. Процес досить простий і зрозумілий для досвідчених, але може бути дещо складним для початківців. Я постараюся бути максимально чітким. Зрештою, ми - суперперуки!

  1. Перейдіть до C: \ Windows \ System32 та зробіть резервну копію файлу authui.dll , можливо, зробіть копію та перейменуйте на authui_original.dll

  2. Зробіть ще одну копію файлу та дайте ім’я authui_working.dll

  3. Використовуючи будь-який хороший шестигранний редактор, наприклад Hex Workshop , відкрийте файл authui_working.dll

  4. Шукайте слово (Меню> Редагувати> Знайти або ctrl + F):

    • для 32-бітних вікон: 3D 00 E8 03 00 73 51
    • для 64-бітних вікон: E8 03 00 41 3B C1 73 3E
  5. Тепер замініть знайдене слово на:

    • для 32-бітних вікон: 3D 00 E8 03 00 90 90
    • для 64-бітних вікон: E8 03 00 41 3B C1 90 90

    Вперед і змініть лише ті байти, які відрізняються, тобто лише останні два байти, як, наприклад, 73 51змінені 90 90у випадку 32-бітових, а потім збережіть файл.

    Якщо вам цікаво, що це за зміна, це видалення інструкції, яка перевіряє розмір файлу, і заміна його двома інструкціями (звані nops, або без операцій), які нічого не роблять. 00 E8 03 00 байтів представляють собою обмеження в 256 000 байт.

  6. Виправлення зроблено! Тепер замініть authui.dll на виправлений файл authui_working.dll .

Ви можете використовувати будь-який спосіб, який вам подобається, замінити файл. Наприклад замінник . Те, що я зробив, дуже просто, використовуючи розблокуючу функцію

  • Якщо у вас ще немає розблокування, завантажте та встановіть
  • Клацніть правою кнопкою миші на файл authui.dll і виберіть розблокувальний
  • У нижньому лівому куті виберіть видалити (або перейменуйте, якщо ви хочете зберегти резервну копію) та натисніть кнопку Розблокувати все . Це файл буде негайно видалено
  • Перейменуйте файл authui_working.dll в authui.dll
  • Готово!

Для тестування скопіюйте зображення розміром більше 256 Кб у C:\Windows\system32\oobe\info\backgroundsпапку, де розміщені власні екрани входу. Вам також потрібно OEMBackgroundвключити в реєстр, який, мабуть, вже є, оскільки в іншому випадку ви б не читали цю публікацію в першу чергу! У будь-якому випадку, щоб увімкнути OEMBackgroundперехід до цього ключа реєстру:

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

і встановити значення OEMBackgroundв 1.

Нарешті натисніть Win+ Lі дивуйтеся!

PS: вся заслуга належить автору цієї статті, звідки я дізнався цю процедуру

PPS: Я тримаю uac вимкнено, тому мої вказівки застосовуються точно лише тоді, коли uac вимкнено.


Альтернативний спосіб заміни файла. Візьміть право власності на файл authui.dll, потім перенесіть його з System32 та перемістіть папковий файл з тим самим іменем у папку. Файл буде надалі використовуватися до перезавантаження, тому лише після перезавантаження ви зможете видалити файл і побачити зміни (завантажуються більші зображення для входу).
0ркан

1
Так! Це мені справді допомогло і було єдиною відповіддю, яку я знайшов, що зробив цю роботу. Також ви викладете це в приємний і стислий спосіб із додатковим поясненням, як змінити зображення. Продовжуйте вчитися та ділитися знаннями!
0rkan

1
УВАГА! Не робіть цього з UAC, оскільки він порушує інтерфейс користувача. Довелося підключити свій SSD до іншого комп'ютера і скопіювати файл назад в system32.
Понт Магнуссон

1
@PontusMagnusson Дякуємо за ваше додавання. Ось чому кожен раз, коли я роблю нову інсталяцію Windows, одна з перших налаштувань, яку я роблю, - це відключення відвертого UAC! Мені не потрібен UAControl , коли я контролюю. ;-)
Snađошƒаӽ

1
Це відповідь! Ніякі інструменти для заміни сторонніх виробників, ні навіть перезавантаження не потрібні, проте просто візьміть право власності та повний контроль над дозволами, вбийте, щоб випустити , а потім перезапишіть або відредагуйте dll прямо на місці. Потім поверніть дозволи та права власності на початкові значення ( ) та запустіть . Якщо це не працює, перевірте, які ще процеси використовуються, шукаючи ручки / dlls в Process Hackerexplorer.exeauthui.dllNT SERVICE\TrustedInstallerexplorer.exeauthui.dll
сонячний місяць
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.