public ImageSectionHeaderVM(object owner, HexDocument doc, ulong startOffset) : base(owner) { this.nameVM = new StringHexField(doc, Name, "Name", startOffset + 0, Encoding.UTF8, 8); this.virtualSizeVM = new UInt32HexField(doc, Name, "VirtualSize", startOffset + 8); this.virtualAddressVM = new UInt32HexField(doc, Name, "VirtualAddress", startOffset + 0x0C); this.sizeOfRawDataVM = new UInt32HexField(doc, Name, "SizeOfRawData", startOffset + 0x10); this.pointerToRawDataVM = new UInt32HexField(doc, Name, "PointerToRawData", startOffset + 0x14); this.pointerToRelocationsVM = new UInt32HexField(doc, Name, "PointerToRelocations", startOffset + 0x18); this.pointerToLinenumbersVM = new UInt32HexField(doc, Name, "PointerToLinenumbers", startOffset + 0x1C); this.numberOfRelocationsVM = new UInt16HexField(doc, Name, "NumberOfRelocations", startOffset + 0x20); this.numberOfLinenumbersVM = new UInt16HexField(doc, Name, "NumberOfLinenumbers", startOffset + 0x22); this.characteristicsVM = new UInt32FlagsHexField(doc, Name, "Characteristics", startOffset + 0x24); this.characteristicsVM.Add(new BooleanHexBitField("TYPE_DSECT", 0)); this.characteristicsVM.Add(new BooleanHexBitField("TYPE_NOLOAD", 1)); this.characteristicsVM.Add(new BooleanHexBitField("TYPE_GROUP", 2)); this.characteristicsVM.Add(new BooleanHexBitField("TYPE_NO_PAD", 3)); this.characteristicsVM.Add(new BooleanHexBitField("TYPE_COPY", 4)); this.characteristicsVM.Add(new BooleanHexBitField("CNT_CODE", 5)); this.characteristicsVM.Add(new BooleanHexBitField("CNT_INITIALIZED_DATA", 6)); this.characteristicsVM.Add(new BooleanHexBitField("CNT_UNINITIALIZED_DATA", 7)); this.characteristicsVM.Add(new BooleanHexBitField("LNK_OTHER", 8)); this.characteristicsVM.Add(new BooleanHexBitField("LNK_INFO", 9)); this.characteristicsVM.Add(new BooleanHexBitField("TYPE_OVER", 10)); this.characteristicsVM.Add(new BooleanHexBitField("LNK_REMOVE", 11)); this.characteristicsVM.Add(new BooleanHexBitField("LNK_COMDAT", 12)); this.characteristicsVM.Add(new BooleanHexBitField("RESERVED", 13)); this.characteristicsVM.Add(new BooleanHexBitField("NO_DEFER_SPEC_EXC", 14)); this.characteristicsVM.Add(new BooleanHexBitField("GPREL", 15)); this.characteristicsVM.Add(new BooleanHexBitField("MEM_SYSHEAP", 16)); this.characteristicsVM.Add(new BooleanHexBitField("MEM_PURGEABLE", 17)); this.characteristicsVM.Add(new BooleanHexBitField("MEM_LOCKED", 18)); this.characteristicsVM.Add(new BooleanHexBitField("MEM_PRELOAD", 19)); this.characteristicsVM.Add(new IntegerHexBitField("Alignment", 20, 4, AlignInfos)); this.characteristicsVM.Add(new BooleanHexBitField("LNK_NRELOC_OVFL", 24)); this.characteristicsVM.Add(new BooleanHexBitField("MEM_DISCARDABLE", 25)); this.characteristicsVM.Add(new BooleanHexBitField("MEM_NOT_CACHED", 26)); this.characteristicsVM.Add(new BooleanHexBitField("MEM_NOT_PAGED", 27)); this.characteristicsVM.Add(new BooleanHexBitField("MEM_SHARED", 28)); this.characteristicsVM.Add(new BooleanHexBitField("MEM_EXECUTE", 29)); this.characteristicsVM.Add(new BooleanHexBitField("MEM_READ", 30)); this.characteristicsVM.Add(new BooleanHexBitField("MEM_WRITE", 31)); this.hexFields = new HexField[] { this.nameVM, this.virtualSizeVM, this.virtualAddressVM, this.sizeOfRawDataVM, this.pointerToRawDataVM, this.pointerToRelocationsVM, this.pointerToLinenumbersVM, this.numberOfRelocationsVM, this.numberOfLinenumbersVM, this.characteristicsVM, }; }
public ImageSectionHeaderVM(object owner, HexBuffer buffer, HexPosition startOffset) : base(owner) { NameVM = new StringHexField(buffer, Name, "Name", startOffset + 0, Encoding.UTF8, 8); VirtualSizeVM = new UInt32HexField(buffer, Name, "VirtualSize", startOffset + 8); VirtualAddressVM = new UInt32HexField(buffer, Name, "VirtualAddress", startOffset + 0x0C); SizeOfRawDataVM = new UInt32HexField(buffer, Name, "SizeOfRawData", startOffset + 0x10); PointerToRawDataVM = new UInt32HexField(buffer, Name, "PointerToRawData", startOffset + 0x14); PointerToRelocationsVM = new UInt32HexField(buffer, Name, "PointerToRelocations", startOffset + 0x18); PointerToLinenumbersVM = new UInt32HexField(buffer, Name, "PointerToLinenumbers", startOffset + 0x1C); NumberOfRelocationsVM = new UInt16HexField(buffer, Name, "NumberOfRelocations", startOffset + 0x20); NumberOfLinenumbersVM = new UInt16HexField(buffer, Name, "NumberOfLinenumbers", startOffset + 0x22); CharacteristicsVM = new UInt32FlagsHexField(buffer, Name, "Characteristics", startOffset + 0x24); CharacteristicsVM.Add(new BooleanHexBitField("TYPE_DSECT", 0)); CharacteristicsVM.Add(new BooleanHexBitField("TYPE_NOLOAD", 1)); CharacteristicsVM.Add(new BooleanHexBitField("TYPE_GROUP", 2)); CharacteristicsVM.Add(new BooleanHexBitField("TYPE_NO_PAD", 3)); CharacteristicsVM.Add(new BooleanHexBitField("TYPE_COPY", 4)); CharacteristicsVM.Add(new BooleanHexBitField("CNT_CODE", 5)); CharacteristicsVM.Add(new BooleanHexBitField("CNT_INITIALIZED_DATA", 6)); CharacteristicsVM.Add(new BooleanHexBitField("CNT_UNINITIALIZED_DATA", 7)); CharacteristicsVM.Add(new BooleanHexBitField("LNK_OTHER", 8)); CharacteristicsVM.Add(new BooleanHexBitField("LNK_INFO", 9)); CharacteristicsVM.Add(new BooleanHexBitField("TYPE_OVER", 10)); CharacteristicsVM.Add(new BooleanHexBitField("LNK_REMOVE", 11)); CharacteristicsVM.Add(new BooleanHexBitField("LNK_COMDAT", 12)); CharacteristicsVM.Add(new BooleanHexBitField("RESERVED", 13)); CharacteristicsVM.Add(new BooleanHexBitField("NO_DEFER_SPEC_EXC", 14)); CharacteristicsVM.Add(new BooleanHexBitField("GPREL", 15)); CharacteristicsVM.Add(new BooleanHexBitField("MEM_SYSHEAP", 16)); CharacteristicsVM.Add(new BooleanHexBitField("MEM_PURGEABLE", 17)); CharacteristicsVM.Add(new BooleanHexBitField("MEM_LOCKED", 18)); CharacteristicsVM.Add(new BooleanHexBitField("MEM_PRELOAD", 19)); CharacteristicsVM.Add(new IntegerHexBitField("Alignment", 20, 4, AlignInfos)); CharacteristicsVM.Add(new BooleanHexBitField("LNK_NRELOC_OVFL", 24)); CharacteristicsVM.Add(new BooleanHexBitField("MEM_DISCARDABLE", 25)); CharacteristicsVM.Add(new BooleanHexBitField("MEM_NOT_CACHED", 26)); CharacteristicsVM.Add(new BooleanHexBitField("MEM_NOT_PAGED", 27)); CharacteristicsVM.Add(new BooleanHexBitField("MEM_SHARED", 28)); CharacteristicsVM.Add(new BooleanHexBitField("MEM_EXECUTE", 29)); CharacteristicsVM.Add(new BooleanHexBitField("MEM_READ", 30)); CharacteristicsVM.Add(new BooleanHexBitField("MEM_WRITE", 31)); hexFields = new HexField[] { NameVM, VirtualSizeVM, VirtualAddressVM, SizeOfRawDataVM, PointerToRawDataVM, PointerToRelocationsVM, PointerToLinenumbersVM, NumberOfRelocationsVM, NumberOfLinenumbersVM, CharacteristicsVM, }; }
public StorageStreamVM(object owner, HexDocument doc, ulong startOffset, int stringLen) : base(owner) { this.iOffsetVM = new UInt32HexField(doc, Name, "iOffset", startOffset + 0); this.iSizeVM = new UInt32HexField(doc, Name, "iSize", startOffset + 4); this.rcNameVM = new StringHexField(doc, Name, "rcName", startOffset + 8, Encoding.ASCII, stringLen); this.hexFields = new HexField[] { iOffsetVM, iSizeVM, rcNameVM, }; }
public StorageStreamVM(object owner, HexBuffer buffer, HexPosition startOffset, int stringLen) : base(owner) { IOffsetVM = new UInt32HexField(buffer, Name, "iOffset", startOffset + 0); ISizeVM = new UInt32HexField(buffer, Name, "iSize", startOffset + 4); RCNameVM = new StringHexField(buffer, Name, "rcName", startOffset + 8, Encoding.ASCII, stringLen); hexFields = new HexField[] { IOffsetVM, ISizeVM, RCNameVM, }; }
public StorageStreamVM(object owner, HexDocument doc, ulong startOffset, int stringLen) : base(owner) { this.iOffsetVM = new UInt32HexField(doc, Name, "iOffset", startOffset + 0); this.iSizeVM = new UInt32HexField(doc, Name, "iSize", startOffset + 4); this.rcNameVM = new StringHexField(doc, Name, "rcName", startOffset + 8, Encoding.ASCII, stringLen); this.hexFields = new HexField[] { iOffsetVM, iSizeVM, rcNameVM, }; }
public StorageStreamVM(object owner, HexBuffer buffer, HexPosition startOffset, int stringLen) : base(owner) { IOffsetVM = new UInt32HexField(buffer, Name, "iOffset", startOffset + 0); ISizeVM = new UInt32HexField(buffer, Name, "iSize", startOffset + 4); RCNameVM = new StringHexField(buffer, Name, "rcName", startOffset + 8, Encoding.ASCII, stringLen); hexFields = new HexField[] { IOffsetVM, ISizeVM, RCNameVM, }; }
public StorageSignatureVM(object owner, HexDocument doc, ulong startOffset, int stringLen) : base(owner) { this.lSignatureVM = new UInt32HexField(doc, Name, "lSignature", startOffset + 0); this.iMajorVerVM = new UInt16HexField(doc, Name, "iMajorVer", startOffset + 4, true); this.iMinorVerVM = new UInt16HexField(doc, Name, "iMinorVer", startOffset + 6, true); this.iExtraDataVM = new UInt32HexField(doc, Name, "iExtraData", startOffset + 8); this.iVersionStringVM = new UInt32HexField(doc, Name, "iVersionString", startOffset + 0x0C); this.versionStringVM = new StringHexField(doc, Name, "VersionString", startOffset + 0x10, Encoding.UTF8, stringLen); this.hexFields = new HexField[] { lSignatureVM, iMajorVerVM, iMinorVerVM, iExtraDataVM, iVersionStringVM, versionStringVM, }; }
public StorageSignatureVM(object owner, HexBuffer buffer, HexPosition startOffset, int stringLen) : base(owner) { LSignatureVM = new UInt32HexField(buffer, Name, "lSignature", startOffset + 0); IMajorVerVM = new UInt16HexField(buffer, Name, "iMajorVer", startOffset + 4, true); IMinorVerVM = new UInt16HexField(buffer, Name, "iMinorVer", startOffset + 6, true); IExtraDataVM = new UInt32HexField(buffer, Name, "iExtraData", startOffset + 8); IVersionStringVM = new UInt32HexField(buffer, Name, "iVersionString", startOffset + 0x0C); VersionStringVM = new StringHexField(buffer, Name, "VersionString", startOffset + 0x10, Encoding.UTF8, stringLen); hexFields = new HexField[] { LSignatureVM, IMajorVerVM, IMinorVerVM, IExtraDataVM, IVersionStringVM, VersionStringVM, }; }
public StorageSignatureVM(object owner, HexDocument doc, ulong startOffset, int stringLen) : base(owner) { this.lSignatureVM = new UInt32HexField(doc, Name, "lSignature", startOffset + 0); this.iMajorVerVM = new UInt16HexField(doc, Name, "iMajorVer", startOffset + 4, true); this.iMinorVerVM = new UInt16HexField(doc, Name, "iMinorVer", startOffset + 6, true); this.iExtraDataVM = new UInt32HexField(doc, Name, "iExtraData", startOffset + 8); this.iVersionStringVM = new UInt32HexField(doc, Name, "iVersionString", startOffset + 0x0C); this.versionStringVM = new StringHexField(doc, Name, "VersionString", startOffset + 0x10, Encoding.UTF8, stringLen); this.hexFields = new HexField[] { lSignatureVM, iMajorVerVM, iMinorVerVM, iExtraDataVM, iVersionStringVM, versionStringVM, }; }
public StorageSignatureVM(object owner, HexBuffer buffer, HexPosition startOffset, int stringLen) : base(owner) { LSignatureVM = new UInt32HexField(buffer, Name, "lSignature", startOffset + 0); IMajorVerVM = new UInt16HexField(buffer, Name, "iMajorVer", startOffset + 4, true); IMinorVerVM = new UInt16HexField(buffer, Name, "iMinorVer", startOffset + 6, true); IExtraDataVM = new UInt32HexField(buffer, Name, "iExtraData", startOffset + 8); IVersionStringVM = new UInt32HexField(buffer, Name, "iVersionString", startOffset + 0x0C); VersionStringVM = new StringHexField(buffer, Name, "VersionString", startOffset + 0x10, Encoding.UTF8, stringLen); hexFields = new HexField[] { LSignatureVM, IMajorVerVM, IMinorVerVM, IExtraDataVM, IVersionStringVM, VersionStringVM, }; }