diff --git a/CSharp/Plugins/UniversalEditor.Plugins.Executable/DataFormats/Executable/Microsoft/MicrosoftExecutableDataFormat.cs b/CSharp/Plugins/UniversalEditor.Plugins.Executable/DataFormats/Executable/Microsoft/MicrosoftExecutableDataFormat.cs index 82aa4200..6db4220f 100644 --- a/CSharp/Plugins/UniversalEditor.Plugins.Executable/DataFormats/Executable/Microsoft/MicrosoftExecutableDataFormat.cs +++ b/CSharp/Plugins/UniversalEditor.Plugins.Executable/DataFormats/Executable/Microsoft/MicrosoftExecutableDataFormat.cs @@ -34,9 +34,6 @@ namespace UniversalEditor.DataFormats.Executable.Microsoft /// public class MicrosoftExecutableDataFormat : DataFormat { - private DOSExecutableHeader mvarDOSHeader = new DOSExecutableHeader(); - public DOSExecutableHeader DOSHeader { get { return mvarDOSHeader; } } - private NameValuePair.NameValuePairCollection mvarImportTable = new NameValuePair.NameValuePairCollection(); public NameValuePair.NameValuePairCollection ImportTable { get { return mvarImportTable; } } @@ -138,8 +135,8 @@ Watcom C++ 10.6 W?h$n(i)v W?h$n(ia)v W?h$n()v if (fsom == null && exec == null) throw new ObjectModelNotSupportedException("Object model must be a FileSystem or an Executable"); ExecutableObjectModel exe = new ExecutableObjectModel(); - - mvarDOSHeader = ReadDOSHeader(reader); + DOSExecutableHeader mvarDOSHeader = ReadDOSHeader(reader); + exe.SetCustomProperty("DOSExecutableHeader", mvarDOSHeader); byte[] stubProgram = reader.ReadBytes(64); @@ -510,6 +507,7 @@ Watcom C++ 10.6 W?h$n(i)v W?h$n(ia)v W?h$n()v if (fsom == null && exe == null) throw new ObjectModelNotSupportedException("Object model must be a FileSystem or an Executable"); // DOS part + DOSExecutableHeader mvarDOSHeader = exe.GetCustomProperty("DOSExecutableHeader", new DOSExecutableHeader()); WriteDOSHeader(bw, mvarDOSHeader); #region Portable Executable