Exemple #1
0
 void SetFlagValue(ComImageFlags flag, bool value)
 {
     if (value)
     {
         Cor20HeaderFlags |= flag;
     }
     else
     {
         Cor20HeaderFlags &= ~flag;
     }
 }
 void SetFlagValue(ComImageFlags flag, bool?value)
 {
     if (Flags == null)
     {
         Flags = 0;
     }
     if (value ?? false)
     {
         Flags |= flag;
     }
     else
     {
         Flags &= ~flag;
     }
 }
Exemple #3
0
		public ModuleOptions(ModuleDef module) {
			Mvid = module.Mvid;
			EncId = module.EncId;
			EncBaseId = module.EncBaseId;
			Name = module.Name;
			Kind = module.Kind;
			Characteristics = module.Characteristics;
			DllCharacteristics = module.DllCharacteristics;
			RuntimeVersion = module.RuntimeVersion;
			Machine = module.Machine;
			Cor20HeaderFlags = module.Cor20HeaderFlags;
			Cor20HeaderRuntimeVersion = module.Cor20HeaderRuntimeVersion;
			TablesHeaderVersion = module.TablesHeaderVersion;
			ManagedEntryPoint = module.ManagedEntryPoint;
			NativeEntryPoint = module.NativeEntryPoint;
			CustomAttributes.AddRange(module.CustomAttributes);
		}
Exemple #4
0
 public ModuleOptions(ModuleDef module)
 {
     this.Mvid                      = module.Mvid;
     this.EncId                     = module.EncId;
     this.EncBaseId                 = module.EncBaseId;
     this.Name                      = module.Name;
     this.Kind                      = module.Kind;
     this.Characteristics           = module.Characteristics;
     this.DllCharacteristics        = module.DllCharacteristics;
     this.RuntimeVersion            = module.RuntimeVersion;
     this.Machine                   = module.Machine;
     this.Cor20HeaderFlags          = module.Cor20HeaderFlags;
     this.Cor20HeaderRuntimeVersion = module.Cor20HeaderRuntimeVersion;
     this.TablesHeaderVersion       = module.TablesHeaderVersion;
     this.ManagedEntryPoint         = module.ManagedEntryPoint;
     this.NativeEntryPoint          = module.NativeEntryPoint;
     this.CustomAttributes.AddRange(module.CustomAttributes);
 }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="reader">PE file reader pointing to the start of this section</param>
 /// <param name="verify">Verify section</param>
 /// <exception cref="BadImageFormatException">Thrown if verification fails</exception>
 public ImageCor20Header(ref DataReader reader, bool verify)
 {
     SetStartOffset(ref reader);
     cb = reader.ReadUInt32();
     if (verify && cb < 0x48)
     {
         throw new BadImageFormatException("Invalid IMAGE_COR20_HEADER.cb value");
     }
     majorRuntimeVersion = reader.ReadUInt16();
     minorRuntimeVersion = reader.ReadUInt16();
     metadata            = new ImageDataDirectory(ref reader, verify);
     flags = (ComImageFlags)reader.ReadUInt32();
     entryPointToken_or_RVA = reader.ReadUInt32();
     resources               = new ImageDataDirectory(ref reader, verify);
     strongNameSignature     = new ImageDataDirectory(ref reader, verify);
     codeManagerTable        = new ImageDataDirectory(ref reader, verify);
     vtableFixups            = new ImageDataDirectory(ref reader, verify);
     exportAddressTableJumps = new ImageDataDirectory(ref reader, verify);
     managedNativeHeader     = new ImageDataDirectory(ref reader, verify);
     SetEndoffset(ref reader);
 }
		/// <summary>
		/// Constructor
		/// </summary>
		/// <param name="flags">Flags</param>
		public Cor20HeaderOptions(ComImageFlags flags) {
			this.Flags = flags;
		}
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="major">Major runtime version (default is <see cref="DEFAULT_MAJOR_RT_VER"/>)</param>
 /// <param name="minor">Minor runtime version (default is <see cref="DEFAULT_MINOR_RT_VER"/>)</param>
 /// <param name="flags">Flags</param>
 public Cor20HeaderOptions(ushort major, ushort minor, ComImageFlags flags)
 {
     this.MajorRuntimeVersion = major;
     this.MinorRuntimeVersion = minor;
     this.Flags = flags;
 }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="flags">Flags</param>
 public Cor20HeaderOptions(ComImageFlags flags)
 {
     this.Flags = flags;
 }
Exemple #9
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="flags">Flags</param>
 public Cor20HeaderOptions(ComImageFlags flags) => Flags = flags;
		/// <summary>
		/// Constructor
		/// </summary>
		/// <param name="reader">PE file reader pointing to the start of this section</param>
		/// <param name="verify">Verify section</param>
		/// <exception cref="BadImageFormatException">Thrown if verification fails</exception>
		public ImageCor20Header(IImageStream reader, bool verify) {
			SetStartOffset(reader);
			this.cb = reader.ReadUInt32();
			if (verify && this.cb < 0x48)
				throw new BadImageFormatException("Invalid IMAGE_COR20_HEADER.cb value");
			this.majorRuntimeVersion = reader.ReadUInt16();
			this.minorRuntimeVersion = reader.ReadUInt16();
			this.metaData = new ImageDataDirectory(reader, verify);
			this.flags = (ComImageFlags)reader.ReadUInt32();
			this.entryPointToken_or_RVA = reader.ReadUInt32();
			this.resources = new ImageDataDirectory(reader, verify);
			this.strongNameSignature = new ImageDataDirectory(reader, verify);
			this.codeManagerTable = new ImageDataDirectory(reader, verify);
			this.vtableFixups = new ImageDataDirectory(reader, verify);
			this.exportAddressTableJumps = new ImageDataDirectory(reader, verify);
			this.managedNativeHeader = new ImageDataDirectory(reader, verify);
			SetEndoffset(reader);
		}
Exemple #11
0
		void SetFlagValue(ComImageFlags flag, bool? value) {
			if (Flags == null)
				Flags = 0;
			if (value ?? false)
				Flags |= flag;
			else
				Flags &= ~flag;
		}
Exemple #12
0
		bool GetFlagValue(ComImageFlags flag) => (Cor20HeaderFlags & flag) != 0;
Exemple #13
0
 bool GetFlagValue(ComImageFlags flag)
 {
     return (Cor20HeaderFlags & flag) != 0;
 }
 bool?GetFlagValue(ComImageFlags flag) => Flags == null ? (bool?)null : (Flags.Value & flag) != 0;
		/// <summary>
		/// Constructor
		/// </summary>
		/// <param name="major">Major runtime version (default is <see cref="DEFAULT_MAJOR_RT_VER"/>)</param>
		/// <param name="minor">Minor runtime version (default is <see cref="DEFAULT_MINOR_RT_VER"/>)</param>
		/// <param name="flags">Flags</param>
		public Cor20HeaderOptions(ushort major, ushort minor, ComImageFlags flags) {
			this.MajorRuntimeVersion = major;
			this.MinorRuntimeVersion = minor;
			this.Flags = flags;
		}
Exemple #16
0
 bool GetFlagValue(ComImageFlags flag)
 {
     return((Cor20HeaderFlags & flag) != 0);
 }
Exemple #17
0
		void SetFlagValue(ComImageFlags flag, bool value) {
			if (value)
				Cor20HeaderFlags |= flag;
			else
				Cor20HeaderFlags &= ~flag;
		}
Exemple #18
0
 bool GetFlagValue(ComImageFlags flag) => (Cor20HeaderFlags & flag) != 0;
Exemple #19
0
		bool? GetFlagValue(ComImageFlags flag) {
			return Flags == null ? (bool?)null : (Flags.Value & flag) != 0;
		}