Windows 7 Forums
Welcome to Windows 7 Forums. Our forum is dedicated to helping you find support and solutions for any problems regarding your Windows 7 PC be it Dell, HP, Acer, Asus or a custom build. We also provide an extensive Windows 7 tutorial section that covers a wide range of tips and tricks.


Windows 7: How to change boot animation in Windows 7


07 Sep 2010   #111

Windows 7 Pro 64 / 7 Pro 64 / 7 Home Prem 64
 
 

Some more information on OSLOADER.XSL.

Following entities are allowed: & ' " > <

Following tags are available for inside <osxml:text-mode-ui><body> (at least, maybe in other places as well).
This is simply a listing I acquired from mining winload.exe and I don't know the details about these. Also, I believe when the default for an int its -1, it ends up computing some value for it.
  • <p>
    • pad-left (int, default 0)
    • pad-right (int, default 0)
    • indent (int?, default 0, copies pad-right?)
  • <br>
  • <b> (equivalent: <bold>, <em>, <strong>)
  • <font>
    • foreground-color (color)
    • background-color (color)
  • <form>
    • name
    • [active special and can't be set in XSL]
  • <select> (internally called menu)
    • name
    • right-justify (boolean, default false)
    • noindent (boolean, default false)
    • minsize (int, default -1)
    • active-color (color)
    • normal-color (color)
    • tip-target (the text of the option that is selected)
    • <separator>
    • <option>
      • selected (boolean, default false)
      • carat (boolean, default false)
      • value
      • tip (the displayed text)
  • <input>
    • name
    • size (int, default -1)
    • maxlen (int, defaults to size or 32 if size is negative)
    • type (textarea [default], password, noedit, numeric)
    • default
    • border-color (color)
    • text-color (color)
    • background-color (color)
    • [value can be set with osxml:update, use default to set it in XSL]
  • <textarea>
    • name
    • width (int, default -1)
    • height (int, default 1)
    • scroll (boolean, default false, only available when height is not provided
    • [value can be set with osxml:update and cannot be set in XSL]
  • <meter> (a progress bar)
    • name
    • size (int, default -1)
    • value (int, <= 100, default 0)
    • full-color (color)
    • blank-color (color)
    • full-char (int, <= 0xFFFF, default 108 (l))
    • blank-char (int, <= 0xFFFF, default 32 (space))
    • [value can be set with osxml:update]

And then a bunch are handled specially by the "browser"
  • <osxml:update>
    • disable-time (boolean, default false)
    • control (the name of the object to change the value of)
    • value (the new value)
  • <osxml:text-mode-ui>
    • <head>
      • <title> or <footer> (internally called InfoBar)
        • color (colorcolor)
      • <timer>
        • initial (int, default -1)
        • control
      • <meta>
        • event (required to be TIMEOUT if used)
        • key (one of the keys (see below), required if event is not used)
        • action (required)
    • <body>
      • foreground-color(color)
      • background-color(color)
      • inverse-color (color)
      • See above for tags
  • <osxml:text>
  • <osxml:row>
    • dims
    • <td>
  • <osxml:newline>

Keys: ENTER, SPACE, ESC, TAB, BACKSPACE, OEMKEY, F1-F12, ANY, PGUP, PGDN, HOME, END, DEL, or probably any single typable character

Now, go play with that! There's a bunch of new stuff in there I think. Like apparently you can make tables with <osxml:row> and <td>


My System SpecsSystem Spec
.

08 Sep 2010   #112

Windows 7 Ultimate x64
 
 

sorry for not posting in a while,

school started

and im completely confused about all this xsl modding
My System SpecsSystem Spec
08 Sep 2010   #113

Windows 7 Pro 64 / 7 Pro 64 / 7 Home Prem 64
 
 

It is kinda like HTML, but more basic, less functional, and has more quirks (like those colors).
The only reason I have been talking about it is because I have been mining into winload.exe and that information has been significantly easier to understand then anything dealing with bootres...
My System SpecsSystem Spec
.


08 Sep 2010   #114

ubuntu
 
 

Yes I was aware of all those "possibilities". They all (at least most of them) seem to exist also in bootmgr. I have tried some of them earlier without much luck. After all, we are not interpreting the code with a web browser..

Do you know what blank-color, full-color, active-color, normal-color and inverse-color is? What about full-char and blank-char?

Anyway, I think we should be able to create more interesting boot menus than the default format..

Joakim
My System SpecsSystem Spec
08 Sep 2010   #115

Windows 7 Pro 64 / 7 Pro 64 / 7 Home Prem 64
 
 

I assume that the meter is drawn using full-char / full-color for the parts of the bar that are done and blank-char / blank-color for the bar that isn't yet done.

For example, a progress bar with l as full and . as blank is at 25%:
[ll......]

I assume active-color is the color of the selected item in the menu, and normal-color is the color for unselected items. I don't know if this is foreground or background though.

Inverse-color did pique my curiosity and I have no idea what it does.
My System SpecsSystem Spec
08 Sep 2010   #116

ubuntu
 
 

Hmm, I'll look into some parts of bootmgr. Specifically, the menu selection and the progress bar for wim mounting. We'll see how it goes..

I suppose we could inject some stupid ascii artwork into the empty frames.

Joakim
My System SpecsSystem Spec
08 Sep 2010   #117

Windows 7 Ultimate x64
 
 

that actually would be pretty awesome

sorry guys im not much of a programmer im more opf an artist

so if you need any pictures then ill try

ive only done photoshop though not ascii so that should be fun
My System SpecsSystem Spec
08 Sep 2010   #118

Windows 7 Pro 64 / 7 Pro 64 / 7 Home Prem 64
 
 

I have some sad news.

After mining my way through winload I found out that bootres.dll is loaded VERY early in the process. The SYSTEM registry hive is not even loaded (and don't even think that the SOFTWARE hive where the certificate is stored is loaded...). In fact the code-integrity in winload.exe is all checked against the catalogs in "System32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\" and "System32\CodeIntegrity\driver.stl". But guess what, when bootres.dll is loaded, those haven't even been initialized yet! So it uses a built-in list of acceptable root certificates:

Microsoft Authenticode(tm) Root Authority
Microsoft Root Authority
Microsoft Root Certificate Authority
Microsoft Code Verification Root
Microsoft Digital Media Authority 2005

So now there are two ways this could go.
  1. Stay with test signing and modify user32.dll.mui so that you can't visibly see it.
    • Pro:
      • We know it will work, and it wouldn't be hard.
      • Less modification of winload.exe in case it is replaced.
    • Con:
      • Requires test signing (security hole AND you can't make a clean install of Windows with test signing enabled (that is a big one for me))
      • Modifies another file.
  2. Since the certificates that are checked (for ALL files, before it looks at catalogs) are located within the binary, they could be theoretically replaced in the binary with whatever certificate we wanted. Both bootmgr and winload would need to have the certificate (I have not checked how bootmgr checks winload yet, but I am guessing it is similar).
    • Pro:
      • Much more slick
      • Only boot files are modified
      • Does not require test signing (can pre-install it)
    • Con:
      • We have to replace a certificate (instead of adding one) (theoretically possible to add (Vista has 8), but that would be amazingly difficult)
      • The certificate we replace needs to be at least as large as my root, although they use a modified version and it might drop a bunch of my file size
      • May not work...
So we need to find out which one of those is not necessary at boot time. Although I have this nagging feeling that they will all be necessary...
My System SpecsSystem Spec
08 Sep 2010   #119

Windows 7 Ultimate x64
 
 

well then how do we add to the certificate store in the file instead of replaceing it?
My System SpecsSystem Spec
08 Sep 2010   #120

ubuntu
 
 

I am certainly willing to at least try to patch a bogus certificate through winload.exe.

Even though it's still a security hole, it's a smaller one than compared to testsigning.

One thing though. Are you really sure that bootres.dll is loaded before winload.exe? Or maybe you meant the call against the certificate catalog was not yet done, when bootres.dll gets loaded by winload...

Joakim
My System SpecsSystem Spec
Reply

 How to change boot animation in Windows 7




Thread Tools



Similar help and support threads for2: How to change boot animation in Windows 7
Thread Forum
Boot screen Animation Change? Customization
Windows 7 Home premium 64bit won't boot, just plays boot animation BSOD Help and Support
How to change the boot screen animation? Customization

Our Sites

Site Links

About Us

Find Us

Windows 7 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 7" and related materials are trademarks of Microsoft Corp.

Designer Media Ltd

All times are GMT -5. The time now is 04:18 AM.
Twitter Facebook Google+



Windows 7 Forums

Seven Forums Android App Seven Forums IOS App
  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33