A very short guide to editing the WCP/SO EXE file
Although for the most part, hex editing the EXE is likely to cause 
more damage than benefits, there are several locations in the EXE 
which can be edited safely. These are generally very useful for any 
serious WCP/SO mod.
What I'm listing below are the addresses at which the data we want to 
edit begins. I don't bother to list the ending addresses, since they'll 
be obvious enough. Once you find the address of whatever you want to 
change, it's simply a matter of replacing the data there with whatever 
you want. For example, to change the name of the series file (the 
address is shown further down) from mission\covert.srs to mission\cow.srs, 
you'd simply change 'covert' to 'cow' at the right address.
It is acceptable for the data to be shorter than what you're replacing; 
in such a case however, you need to 'wipe' the remains of the original 
data by replacing each character with a blank character (hex value 00). 
On the other hand, in most cases it is not a good idea to go beyond the 
end of the original data...in most cases. If the original data was 
followed by two or more blank 00 characters, you can safely replace 
some of them and thus insert more data than had been there previously. 
You must, however, always leave at least one 00 character between the 
replaced data and whatever comes next in the EXE. Otherwise, the game 
won't realise that the data string had ended and will keep reading it 
until the next 00 character in the EXE.
And now, the data addresses. We will begin with the most important one:
             0E1B24 - the name of the series (srs- the file containing 
             the mission tree) file to be used. If you look at this 
             address inside SO, you will find the word 'covert', which 
             stands for the file \mission\covert.srs.
Then there is a number of addresses which deal with the player data 
(savegames, highscores, and so on):
             0D34D0 - the name of the history folder 
             0D34E0 - the name of the save folder 
             0D34E8 - the name of the autosave file 
             0D34F8 - the name of the replay file 
             0ED39C - the name of the sim score file 
             0ED3A8 - the name of the sim score file (again? Apparently so. 
             I changed both just to be sure). 
The above are useful if you want your mod to use a separate EXE file and 
to coexist with the original SO without overwriting SO's own savegames. 
And if we were to offer coexistence with your kind, would you not accept? 
And here's the rest - all of the EXE's ship-related data:
             0E3914 - the name of the mesh (mesh - not ship) used for 
             the friendly SAR scene. 
             0E3918 - the name of the mesh used for the alien pickup 
             scene. 
             0E7E44 - the names of the sim ships (same order as in 
             viewobj.iff). The bug ships are what you see with the 
             alswantsmoreships cheat, of course. This address is actually 
             just the first address for several separate data items (since 
             there is more than one ship in the sim). Note also that these 
             are followed immediately by the next address listed below...
             0E7EC0 - the names of the ships used by the ship selector 
             option (ie., when you let the player choose between two ships
             for a mission). As with sim ships, what the player sees in 
             the selector screen is based on viewobj.iff, not on this data.
             Therefore, the ship selector ships should be identical to the 
             sim ships above.
             0EC3A8 - the name of the mesh that is used in the refuelling
             scene.

        
 

Tutorial by Quarto