Putting the Daemon into Windows

Putting the Daemon into Windows

John Russell jr@paranoia.demon.nl
helped me with the favicon.ico article and wrote the following
which describes how to put the Daemon into Windows.  Thanks John.

For details on
how to make this work with NT, please see below.

Screen shots (added on 20 March 2000)

Greg Roberts kindly sent me his screen shot.  He’s changed the default
mIRC icon.  Very nice.  Thanks greg.

I’m looking for more screen shots.  
Please add the URL of your screen shot via a comment.

How to do it

I wrote this some time ago for Win95, but I just verified it and all went well under

Copy the file USER.EXE from your %Windows%\System directory to a tempoorary
directory.  Using an icon editor that can read executables, open the copy of
USER.EXE.  I’ll explain the rest of the procedure with step by step instructions with
Microangeleo since that is the icon editor I use.

The Start Menu uses the flying windows logo, the very first icon in this file.  
Double click on this icon which will open up an icon editor box.  Drag the BSD icon
included here from wherever it is into the edit box for the logo.  Now click
somewhere in the edit box (dumb but MA will not let you update the library otherwise).
  Next select file->update library (or something to that effect).  Save your
changes and exit.  A quick browse with explorer of the user.exe file should now show
the BSD icon.

Good.  You’re ready to rock.  Next, exit to DOS, backup the original file
again, but this time with a different name or to a different place, and then replace the
original with your modified version.  When you restart Windows, you should have the
icon (I had to restart three times so it could happen to you too.  The first time,
Windows went into safe mode, I just exited; the second time it lost the display driver
info so came up ugly.  I changed it back and rebooted and all was back to normal,
except for the icon change of course).

Working with NT (added on 23 March 2000)

Harald Schmalzbauer wrote
in with this bit about how to get the daemon into NT.

Use usr32.dll instead of user.exe.
  The 7th icon (Bitmap) is the flying window.

After modifying the DLL comes the problem.  I thought that the easiest way would
be to distribute the new user32.dll with the service pack, but this doesn’t work because
of the same thing why NT stops booting when files have been modified.    NT
checks the imported files by verifying the checksum.  The modification of the file to
put in a new image will alter the checksum for the DLL.   But there is a
function called MapFilesAndCheckSum (see imagehlp, DDK) which can calculate the new

So when you open the user32.dll with QuickView,  within the first 20 lines you see
a checksum.  In service Pack 6 it is 0005a961.  After I calculated the new
checksum (0005dff1), I replaced it the original checksum by using  a hex editor.
  That’s it.  Now NT doesn’t complain that the file is corrupt while booting and
you can install it by extracting the service pack and replacing the file before running

Harald also supplied a checksum program.  You can download it from samples/checksum.exe but use
it at your own risk.

Points to note

John mentioned that this procedure is fairly common knowledge in the Windows advanced
user/techie world.

The file you need is samples/bsd.ico.
  This file contains the daemon in multiple sizes (from 10×10-32×32 as you’ll see) as
required by USER.EXE.

Screen shots wanted!

If you have done this, please provide some feedback via the comments facility.

Leave a Comment

Scroll to Top