Jump to content

PE Tool for creating patches


WildBill

Recommended Posts


Thank you for your reply :) Originally I was translating these hotfixes into Polish but it just took too much time to do it, and also something went wrong with one of the patches (I'm not sure which one but suspect it to be one of the font patches) which caused some of the system dialogs to change into Chinese :huh: I tried to translate them one more time but the same thing happened. I still don't know which one caused this.

Anyway, as it is just too much pain to translate all those hotfixes I have decided to install an English version of Win2k Server with integrated English hotifxes and use a MUI Pack to have it in Polish.

Thank you WildBill for your hard work and I'm looking forward for new patches :)

Edited by tomasz86
Link to comment
Share on other sites

You're welcome :hello:

You'd probably have to install each patch one at a time to find out which one is changing the language. My guess is that it's one of the font patches, but the font patches only affect the PostScript driver. I don't see how that would change your system dialogs unless you're using PS fonts. Another possibility might be that your text is longer than the English text and is overwriting something else?

In other news, I just spent the last week analyzing MS11-006 and mapping the 2k code in shelll32.dll and shimgvw.dll. After all this I've concluded that the patch doesn't apply to 2k -- the code in question doesn't exist in the 2k versions. While I wish I could get that week back, at least now I have those files almost completely mapped out so any further changes to them should be easy to track down. At least that attack vector apparently doesn't affect us...

Link to comment
Share on other sites

@WildBill:

I've listed your current 'unofficial updates' at Windows 2000 SP4 Updates for HFSLIP page. Members here reported no problems so far with slipstreaming your updates. Hope you don't mind.

Keep up the good work! :thumbup

Edit: updated the URL for the Windows 2000 Post-SP4 Updates for HFSLIP page.

Edited by bristols
Link to comment
Share on other sites

Thanks :D I don't mind having the patches be a little more visible for people -- I've been concerned that only people here knew about them. Another nagging concern is that at some point we could use a rollup patch, but I have no idea how to make one.

I've partially analyzed the IE MS11-003 patch, and it looks like it will be a real chore to port. MS added a field to some classes and this caused ripple effects in all of their child classes such that there are a LOT of small changes in mshtml.dll (the only file that actually changed). I think a port is possible but I'm going to have to be very methodical in building it. Tonight I decided to take a break and started looking into enhancing comctl32.dll to finish 32-bit icon support. So far I'm adding some utility routines that I'll need and documenting changes that I'll eventually have to make to hook them in. I'm hoping that it won't be too hard to do. If I can finish the icon upgrade I'll probably bundle it with MS11-012 since the first part of the icon upgrade included patches to win32k.sys -- in fact, if I go that route, I'll also include the latest user32.dll in the patch even though it didn't change this month, because all three files (win32k.sys, user32.dll, comctl32.dll) will constitute a matched set at that point.

The more I think about it, I'll probably see if I can knock out MS11-012 and possibly some of the easier patches before going back to MS11-003 (I've performed a partial analysis of all of them). I understand the nature of most of the MS11-003 changes as they're not particularly complex, but there are so many that I need to think a little more about how to efficiently port it.

Link to comment
Share on other sites

The problem with the fonts changing into Chinese is that in only happened in this dialog (http://www.townofstratford.com/images/e-mail/Outlook%20no-exit%204.jpg). The 'End task' and 'Cancel' buttons changed into Chinese. I would check these dialogues but I need to know exactly in which of the system files they are present. Does anyone know which system file is responsible for it?

Link to comment
Share on other sites

THANKS A LOT!!! :thumbup

Dialogues were corrupted.

(EDIT)

This problem seems to be related to the fact that I use different language in regional options for displaying non-unicode text. If I set it to Polish (in Polish Win2k) the dialogues show correctly. If I set it to Korean they appear as corrupted (ex. when opened in PE Explorer). Still the other system dialogues doesn't show any errors so why only these ones are problematic? :unsure:

Edited by tomasz86
Link to comment
Share on other sites

Just a little update...

I've been trying to finish native 32-bit icon support and it's almost there. I still have at least one more routine to upgrade and one of my own to enhance a little more and then I need to see about improving the look of disabled icons similar to the way that Daedalus does. It won't support all 256 potential raster operations when using an alpha-blended image list, but the normal ones should work when I'm done. Even Daedalus didn't support every possible raster op, so it should be a wash. The plan is to bundle this with the latest win32k patch (which I haven't done yet, but I've done the first analysis pass on it).

If I wanted to try to support every possible raster op (all 256 of them) I theoretically could, but it would take quite a while and I don't see the benefit unless we run into an app that uses an obscure one. I have Yuan's Windows Graphics Programming book (the really huge one) that gives a complete explanation on how raster op codes are parsed so I have all the information for it, but it would be anything but easy nonetheless (remember, I'd have to write it all in assembly).

Edited by WildBill
Link to comment
Share on other sites

WildBill,

I've just finished translating all your hotfixes into Polish. Good work and waiting for more. :whistle:

I also finally managed to fix the font display problem related to MS10-069. It was caused by ResHack which I used for translating. I remade it using PE Explorer and everything seems to be fine. ResHack doesn't support Unicode and although I had everything set to Polish in Windows, it still messed the Polish fonts up.

Link to comment
Share on other sites

MS11-002 cannot be slipstreamed (by HFSLIP). There are no errors during the integration process but when trying to install the system there is an error about being unable to copy odbc32.dll file.

I unpacked the hotfix file, used modifype -c on odbc32.dll, made the hotfix installation file once again and then slipstreamed it. No problem with system installation afterwards.

Link to comment
Share on other sites

I also finally managed to fix the font display problem related to MS10-069. It was caused by ResHack which I used for translating. I remade it using PE Explorer and everything seems to be fine. ResHack doesn't support Unicode and although I had everything set to Polish in Windows, it still messed the Polish fonts up.

PE explorer is precious, but you should also have the free Anolis Resourcer at hand, there are occasions in which it's simply the best tool to use, when modifying PE executables (to add a Version resource to a file that doesn't have one, for instance: ResHacker is supposed to be able to do this, but usually just renders the file unusable).

Link to comment
Share on other sites

That's strange about not being able to slipstream MS11-002, but I admit that I don't know anything about how slipstreaming works. As far as I know I'm not doing anything strange in building the patches.

I've reached the point where I think I've completed 32-bit icon support for comctl32.dll, and I'm now working on MS11-012. The patch will include three files: win32k.sys, user32.dll, and comctl32.dll, since those will constitute a matched set. It will also include an enhancement I made back in January that adds GetLayeredWindowAttributes() support, which I needed to be able to run the HP Update program that came with my laptop. I can't guarantee that 32-bit icon support will be as good as in XP since I had to write all the code from scratch but it should be slightly more capable than Daedalus. For example, you'll now have the option to supply the larger 44h-sized IMAGELISTDRAWPARAMS struct to Imagelist_DrawIndirect to take advantage of grayscaling and variable alpha-blending, and the code also somewhat supports drawing inverted-color alpha-blended icons.

Edited by WildBill
Link to comment
Share on other sites

  • 2 weeks later...

I finally finished the MS11-012 patch today, including all the other enhancements it includes. Some parts are thoroughly tested, but I want to test the completed patch for at least a day before posting it. Then I'll look into the IE patch, but the nature of the changes is such that I can't make any promises.

Link to comment
Share on other sites

  • 2 weeks later...

A small update...

My MS11-012 patch wasn't ready last week after all, but now it's almost there (one visual issue left to fix). There are a lot of goodies in this one which is why it took so long (not to mention the fact that I'm having to work out the issues with no roadmap to follow). When i release it I'll post a complete list of the new features it brings. For anyone else making patches or otherwise tinkering with the Windows files, the patches.asm file might be a little interesting. I've had to write a ton of general helper routines that could be useful.

I've started the MS11-011 patch, but it's a long way from completion. Considering how many patches are coming out on Tuesday I might put it on the back burner depending on what else is out there.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...