有没有办法绕过自定义Windows 7登录屏幕的256 kB限制?


10

当您将自定义背景用于登录屏幕Windows 7时,图像文件的大小限制为256 kB。有什么办法可以绕过这个限制?

警告:在回答此问题之前,请确保您已阅读两次并理解我的要求。我没有寻找任何可以更改登录屏幕的程序。我不是在寻找可以调整图像大小或“优化”图像的程序。我正在寻找一种完全绕过文件大小限制的方法,因为它迫使我以较低的质量设置保存图像。


显然,这要么是硬编码限制,要么仅仅是设计限制。无论哪种方式,都没有简单的“翻转开关”解决方案,而没有重新设计自己的操作系统。256KB只是不像强加的任意限制,因为没有一个像257或258
surfasb

3
如您所说,很明显,这是设计限制或确定并硬编码的限制。自然而然的是,围绕它的显而易见的方法是编写自己的操作系统。即使是关于切换到Linux的巨魔评论也将是一个更好的答案。:)
nitro2k01 2012年

我一直在寻找类似的东西,但什么也没发现。但是,我现在可以在Windows 7上使用大于256KB的图像(我使用5.63 MB图像!)。我不知道是什么原因造成的,所以我无法提供任何具体答案。但是,如果我找出来,我一定会分享
Sнаđошƒаӽ

多亏了原始文章作者,我已经找到了绕过限制的唯一方法,并且我已经分享了它。看一看,记住我的答案接受堂妹它应得的:-)
Sнаđошƒаӽ

Answers:


2

似乎256 kB的限制是大多数社区所理所当然的。也许您可以imageres.dll按照本讨论中最后一篇文章的建议进行修补。这里所需的步骤归结为以下几点:

  1. %WINDIR%\System32\imageres.dll在资源编辑器中打开
  2. 将图像提取到文件
  3. 用自定义变体替换它们
  4. 将替换的图像放回的副本中 imageres.dll
  5. 更换 imageres.dll

1
奇怪的是,链接的讨论仅涉及替换默认背景,而不是大小限制。
surfasb 2012年

实际上,此链接的答案未解决根本原因。
surfasb 2012年

事实上,是的。我无法找到限制的原因的解释,只有成千上万的文本说确实存在此限制,您可以对此做任何事情。这就是为什么我建议“次优”。
krlmlr 2012年

这按预期工作。我担心该文件将被拒绝,因为它不再与密码签名匹配,但是这似乎仅适用于环0码(即驱动程序)。我知道必须有一个包含图像的资源文件,但是我没有不知道在哪里。我本来希望减少黑客行为,但是至少这可以解决当前的问题。
nitro2k01 2012年

5
是的,确实如此,这要付出修改系统文件的代价。而且,如果您不知道自己在做什么,那么如果您复制回system32文件夹的文件已损坏,则可以轻松地将自己锁定。我确实建议备份该文件,例如,上面带有ntfs-3g的Linux live CD(我曾使用GParted Live)以及需要时如何恢复文件的知识。如果您不确定是否可以在失败的情况下还原文件,请不要执行此操作。
nitro2k01 2012年

6

经过很长一段时间的搜索,终于找到了一种在Windows 7登录屏幕上消除256KB文件大小限制的方法。对于有经验的人来说,该过程非常简单明了,但对于初学者来说可能有点困难。我将尝试尽可能明确。毕竟,我们是超级用户!

  1. 导航到C:\ Windows \ System32,并备份文件authui.dll,也许进行复制并重命名为authui_original.dll

  2. 制作该文件的另一个副本并将其命名为authui_working.dll

  3. 使用任何不错的十六进制编辑器(例如Hex Workshop),打开文件authui_working.dll

  4. 搜索单词(菜单>编辑>查找,或按Ctrl + F):

    • 对于32位Windows: 3D 00 E8 03 00 73 51
    • 对于64位Windows: E8 03 00 41 3B C1 73 3E
  5. 现在将找到的单词替换为:

    • 对于32位Windows: 3D 00 E8 03 00 90 90
    • 对于64位Windows: E8 03 00 41 3B C1 90 90

    继续并仅更改那些不同的字节,即仅73 51更改最后两个字节(如90 9032位的情况下更改为),然后保存文件。

    如果您想知道更改是什么,它会删除检查文件大小的指令,并用什么都不做的两条指令(称为nops或no操作)代替。00 E8 03 00字节表示256,000字节的限制。

  6. 修补完成!现在更换authui.dll与补丁的文件authui_working.dll

您可以使用任何方式替换文件。例如replacer。使用解锁器,我所做的非常简单

  • 如果您还没有解锁器,请下载并安装
  • 右键单击文件authui.dll,然后选择解锁器
  • 在左下角,选择删除(如果要保留备份,则选择重命名),然后单击全部解锁按钮。这将立即删除文件
  • 将文件authui_working.dll重命名为authui.dll
  • 做完了!

要测试将大于256KB的图像复制到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,并将具有相同名称的修补文件移至该文件夹。该文件将继续使用,直到您重新启动为止,因此只有在重新启动后,您才能删除文件并查看更改(正在加载更大的登录图像)。
0rkan

1
是! 它确实帮助了我,这是我发现完成工作的唯一答案。此外,您还以简洁明了的方式进行了说明,并提供了有关如何更改图像的额外说明。继续学习并分享知识!
0rkan

1
警告!请勿在UAC上执行此操作,因为它会破坏ui。必须将我的SSD连接到另一台计算机,然后将文件复制回system32。
Pontus Magnusson

1
@PontusMagnusson感谢您的加入。这就是为什么每次我全新安装Windows时,我进行的前几个设置之一就是关闭FAC!当处于控制状态,不需要UAControl。;-)
Sнаđошƒаӽ

1
这是的答案!尽管不需要第三方替代工具,甚至不需要重新启动,只需拥有所有权和对权限的完全控制,杀死explorer.exe即可释放authui.dll,然后就地覆盖或编辑dll。然后将权限和所有权还原为原始值(NT SERVICE\TrustedInstaller)并启动explorer.exe。如果这不起作用,请authui.dll通过在Process Hacker中
Sunny Moon
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.