# Is there a way to bypass the 256 kB limit for a custom Windows 7 login screen?

When you use a custom background for the login screen Windows 7, the size of the image file is limited to 256 kB. Is there any way to bypass this limit?

Warning: Before answering this question, make sure you read it twice and understand what I'm asking for. I'm not looking for any program that can change the login screen. I'm not looking for a program that can resize or "optimize" an image. I am looking for a way to bypass the file size limit entirely because it forces me to save the image with a low quality setting.

-
@surfasb: Care to explain what is so obvious about your answer? – krlmlr Mar 11 '12 at 0:14
It seems obvious that this is either a hardcoded limit or just a design limit. Either way, there isn't an easy "flip the switch" solution, short of redesigning your own OS. 256KB just doesn't look like an arbitrary limit imposed because no one like 257 or 258. – surfasb Mar 11 '12 at 19:02
As you say, it's obvious that it's a design limit or a limit that was decided and hardcoded. What doesn't follow naturally is that the obvious way around it is to write your own OS. Even a troll comment about switching to Linux would be a better answer. :) – nitro2k01 Mar 11 '12 at 19:31
I've tried this before and it didn't work. Bad testing on my part. Tried it just now on another system. I stand corrected. – surfasb Mar 12 '12 at 3:37
I have been looking something similar, but found nothing. However, I can use images larger than 256KB on my windows 7 now (I used 5.63 MB image!). I don't know what caused it, so I can not provide any specific answer. But if I find out, I will definitely share – Suhail Nov 23 '15 at 12:05

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:

1. Open %WINDIR%\System32\imageres.dll in a resource editor
2. Extract the images to files
3. Replace them with custom variants
4. Put the replaced images back into a copy of imageres.dll
5. Replace imageres.dll
-
Strange, the linked discussion only addresses replacing the default backgrounds, not the size limit. – surfasb Mar 11 '12 at 4:22
This linked answer, in fact, does not address the fundamental reason. – surfasb Mar 11 '12 at 4:36
As a matter of fact, yes. I was unable to find an explanation of the reason for the limit, just zillions of texts that say there is exactly this limit and you can do anything about it. That's why I suggested the "second best". – krlmlr Mar 11 '12 at 7:46
Yes it does, to the cost of having to deal with modifying a system file. And if you don't know what you're doing, you could easily lock yourself out if the file you copy back to the system32 folder is corrupted. I do recommend having a backup of the file, for example a Linux live CD with ntfs-3g on it (I used GParted Live for the purpose) as well the knowledge how to restore the file if you need to. If yo don't feel confident you could restore the file in case of failure, don't perform this operation. – nitro2k01 Mar 12 '12 at 4:11
@Lèsemajesté: See the warning in the question. – krlmlr Mar 12 '12 at 9:17

After searching for a long long time, finally I have found how to remove the 256KB file size limit on windows 7 logon screen. The process is quite simple and straightforward.

1. Navigate to C:\Windows\System32, and make a backup of the file authui.dll, say renamed as authui_original.dll

2. Make another copy of the file and name it authui_working.dll

3. Using any good hex editor, like Hex Workshop, open the file authui_working.dll

4. 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
5. 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 to 90 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.

6. 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

• Done! Copy an image larger than 256KB to c:\windows\system32\oobe\info\backgrounds folder where custom logon screens are placed. Then press Win+L and be amazed!