• Announcements

    • xper

      MSFN Sponsorship and AdBlockers!   07/10/2016

      Dear members, MSFN is made available via subscriptions, donations and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, become a site sponsor and ads will be disabled automatically and by subscribing you get other sponsor benefits.
Innocent Devil

SFXCAB.EXE

31 posts in this topic

@erpdude8

I think you're making this overly complicated :w00t: No other tools than the ones listed before in this topic are required as long as your version of MSCF.sfx is correct. You get the error message because the MSCF.sfx used is actually incorrect. In case of MSCF.sfx its version number is completely irrelevant. The only thing which is important is whether it works or not.

The whole process is very simple:

1. Patch the update.exe

2. Pack to CAB using cabarc.exe.

3. Copy/b mscf.sfx and the CAB you've just created to an .EXE archive.

4. Hex edit the line before update\update.exe.

How to get a working MSCF.sfx (from the other topic):

V6.2.29.0 does work but not the file attached to #1.

You can get a working one from this update:

http://download.microsoft.com/download/5/f/d/5fdc6240-2127-42b6-8e16-bab6171db233/WindowsXP-KB898461-x86-ENU.exe

Download it and rename to any 8.3 filename, ex. "update.exe".

Download pcopy02.zip, extract partcopy.exe from it and use:

partcopy.exe update.exe 0 8E00 sfxcab.exe

"Sfxcab.exe" (you can use any other filename) v1.0.0.0 will be created which can be used instead of the one from #1.

0

Share this post


Link to post
Share on other sites

In addition, it's the THIRD "MSCF" - the offset (as shown) is different between older/newer versions. The Program to be executed is irrelevant. Also, there IS a difference between THIS SFX (actually says "SFXCAB.EXE" in the Properties) and another one that uses a DIFFERENT SFX (the one that WildBill refers to needing "patched", AFAICR).

Edited by submix8c
0

Share this post


Link to post
Share on other sites

Instead of using WildBill's update.exe or BlackWingCat's patch you can just edit the file yourself.

Open update.exe in hex editor and replace the string 0f 86 -> 90 e9

4xD13.png

wow tomasz86, that info is very good but finding the hex string "0f 86" is too broad because there are many instances of "0f 86" as I've checked the update.exe file in a hex editor (and some users may get confused as to where to change that hex string to the required kind).

to greatly narrow it down, find the following hex string in a hex editor: D0 0B 01 0F 86

then change the last two bytes in that string to "90 E9" to read "D0 0B 01 90 E9"

0

Share this post


Link to post
Share on other sites

@erpdude8

Yes, that post of mine is quite old. Check #25 for the updated info.

0

Share this post


Link to post
Share on other sites

UPDATE

This is an update to the post #25. You need to patch the cabbed archive differently depending on whether it's an update or a service pack.

1) Patching update.exe (v. 6.x.x.x) using XVI32:

ECHO>sfxcab.xsc REPLACE 0B 01 04 89 1D BY 0B 01 10 89 1D
START/WAIT xvi32.exe update.exe /S=sfxcab.xsc
DEL sfxcab.xsc

2) Patching the archive (update.cab) before merging it with MSCF.sfx:

Update

ECHO>sfxcab.xsc REPLACE 20 00 75 70 64 61 74 65 5C 75 70 64 61 74 65 2E 65 78 65 BY 60 00 75 70 64 61 74 65 5C 75 70 64 61 74 65 2E 65 78 65
START/WAIT xvi32.exe update.cab /S=sfxcab.xsc
DEL sfxcab.xsc

Service Pack

ECHO>sfxcab.xsc REPLACE 20 00 69 33 38 36 5C 75 70 64 61 74 65 5C 75 70 64 61 74 65 2E 65 78 65 BY 60 00 69 33 38 36 5C 75 70 64 61 74 65 5C 75 70 64 61 74 65 2E 65 78 65
START/WAIT xvi32.exe update.cab /S=sfxcab.xsc
DEL sfxcab.xsc

0

Share this post


Link to post
Share on other sites

So, (1) is the new, more generic patch to allow for unsigned updates, and (2) means:

<Update> "update\update.exe", as opposed to <Service Pack> "i386\update\update.exe", the difference being the prepended "i386\", since the 0x20 => 0x60 edit remains the same.

Enlightening, thanks a lot! :thumbup

P.S: @tomasz86: our recent posts got lost in yet another database rollback. So I tried to insert all relevant info from them into this post and the previous one. Please correct me if I forgot anything of importance.

0

Share this post


Link to post
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.