Is there a way to bypass the 256 kB limit for a custom Windows 7 login screen?
It seems that the 256 kB limit is taken for granted by the vast majority of the community. Perhaps you could patch imageres.dll
as suggested by the last post in this discussion. The steps necessary here boil down to the following:
- Open
%WINDIR%\System32\imageres.dll
in a resource editor - Extract the images to files
- Replace them with custom variants
- Put the replaced images back into a copy of
imageres.dll
- Replace
imageres.dll
After searching for a long long time, finally I have found a way to remove the 256KB file size limit on windows 7 logon screen. The process is quite simple and straightforward for the experienced, but may be a little difficult for beginners. I will try to be as explicit as possible. After all, we are superusers!
Navigate to C:\Windows\System32, and make a backup of the file authui.dll, perhaps make a copy and rename to authui_original.dll
Make another copy of the file and name it authui_working.dll
Using any good hex editor, like Hex Workshop, open the file authui_working.dll
-
Search the word (Menu > Edit > Find, or ctrl+F):
- for 32-bit windows:
3D 00 E8 03 00 73 51
- for 64-bit windows:
E8 03 00 41 3B C1 73 3E
- for 32-bit windows:
-
Now replace the found word with:
- for 32-bit windows:
3D 00 E8 03 00 90 90
- for 64-bit windows:
E8 03 00 41 3B C1 90 90
Go ahead and change only those bytes that differ, i.e. only the last two bytes, like
73 51
changed to90 90
in case of 32bit, and then save the file.If you're wondering what the change is, it's removing the instruction that checks the size of the file and replacing it with two instructions (called nops, or no operations) that do nothing. The 00 E8 03 00 bytes represent the 256,000 byte limit.
- for 32-bit windows:
Patching done! Now replace the authui.dll with the patched file authui_working.dll.
You can use any way you like to replace the file. For example replacer. What I did is very simple, using unlocker
- If you don't already have unlocker, download and install
- Right-click on the file authui.dll, and choose unlocker
- On lower left corner, select delete (or rename in case you want to keep a backup), and click on the Unlock all button. This will delete the file immediately
- Rename the file authui_working.dll to authui.dll
- Done!
To test copy an image larger than 256KB to C:\Windows\system32\oobe\info\backgrounds
folder where custom logon screens are placed. You also need to have OEMBackground
enabled in the registry, which you probably already have since otherwise you wouldn't be reading this post in the first place! Anyway, to enable OEMBackground
navigate to this registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background
and set the value of OEMBackground
to 1.
Finally press Win+L and be amazed!
P.S.: all credit goes to the author of this article from where I learned this procedure
P.P.S.: I keep uac off, so my instructions apply exactly only when uac is off.