Есть ли способ обойти ограничение в 256 кБ для пользовательского экрана входа в Windows 7?


10

При использовании настраиваемого фона для экрана входа в систему Windows 7 размер файла изображения ограничен 256 КБ. Есть ли способ обойти это ограничение?

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


Кажется очевидным, что это либо жестко заданный предел, либо просто предел проектирования. В любом случае, нет простого решения «щелкнуть переключателем», если не считать перестройку собственной ОС. 256KB просто не выглядит как произвольное ограничение, потому что никто не любит 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 live CD с 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, или no операций), которые ничего не делают. 00 E8 03 00 байтов представляют ограничение в 256 000 байтов.

  6. Обновление завершено! Теперь замените authui.dll на пропатченный файл authui_working.dll .

Вы можете использовать любой способ заменить файл. Например заменитель . То, что я сделал, очень просто, используя unlocker

  • Если у вас еще нет анлокера, скачайте и установите
  • Щелкните правой кнопкой мыши файл authui.dll и выберите unlocker.
  • В левом нижнем углу выберите «Удалить» (или переименуйте, если хотите сохранить резервную копию) и нажмите кнопку « Разблокировать все» . Это немедленно удалит файл
  • Переименуйте файл authui_working.dll в authui.dll
  • Выполнено!

Чтобы проверить, скопируйте изображение размером более 256 КБ в C:\Windows\system32\oobe\info\backgroundsпапку, где размещены пользовательские экраны входа в систему. Кроме того, необходимо быть OEMBackgroundвключен в реестр, который вы , вероятно , уже есть , так как в противном случае вы бы не читали этот пост в первую очередь! В любом случае, чтобы включить OEMBackgroundпереход к этому разделу реестра:

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

и установите значение OEMBackground1.

Наконец нажмите Win+ Lи удивитесь!

PS: вся заслуга автора этой статьи, откуда я узнал эту процедуру

PPS: Я отключаю UAC, поэтому мои инструкции применяются только тогда, когда UAC выключен.


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

1
Да! Это действительно помогло мне и было единственным ответом, который я нашел, который сделал работу. Также вы изложите это в хорошем и кратком виде с дополнительным объяснением того, как изменить изображение. Продолжайте учиться и делиться знаниями!
0

1
ПРЕДУПРЕЖДЕНИЕ! Не делайте этого с включенным UAC, так как это нарушает интерфейс. Пришлось подключить мой SSD к другому компьютеру и скопировать файл обратно в system32.
Понту Магнуссону

1
@PontusMagnusson Спасибо за ваше добавление. Вот почему каждый раз, когда я делаю свежую установку Windows, одна из первых настроек, которую я делаю, - это отключение UAC! Мне не нужен UAControl , когда я контролирую. ;-)
Снаđошƒаӽ

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