Example #1
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="imageStreamCreator">The PE stream creator</param>
 /// <param name="imageLayout">Image layout</param>
 /// <param name="verify">Verify PE file data</param>
 public PEImage(IImageStreamCreator imageStreamCreator, ImageLayout imageLayout, bool verify)
 {
     try {
         this.imageStreamCreator = imageStreamCreator;
         this.peType = ConvertImageLayout(imageLayout);
         ResetReader();
         this.peInfo = new PEInfo(imageStream, verify);
         Initialize();
     }
     catch {
         Dispose();
         throw;
     }
 }
Example #2
0
			/// <inheritdoc/>
			public FileOffset ToFileOffset(PEInfo peInfo, RVA rva) {
				return (FileOffset)rva;
			}
Example #3
0
			/// <inheritdoc/>
			public RVA ToRVA(PEInfo peInfo, FileOffset offset) {
				return (RVA)offset;
			}
Example #4
0
			/// <inheritdoc/>
			public FileOffset ToFileOffset(PEInfo peInfo, RVA rva) {
				return peInfo.ToFileOffset(rva);
			}
Example #5
0
			/// <inheritdoc/>
			public RVA ToRVA(PEInfo peInfo, FileOffset offset) {
				return peInfo.ToRVA(offset);
			}
Example #6
0
		/// <inheritdoc/>
		public void Dispose() {
			IDisposable id;
			if (win32Resources.IsValueInitialized && (id = win32Resources.Value) != null)
				id.Dispose();
			if ((id = imageStream) != null)
				id.Dispose();
			if ((id = imageStreamCreator) != null)
				id.Dispose();
			win32Resources.Value = null;
			imageStream = null;
			imageStreamCreator = null;
			peType = null;
			peInfo = null;
		}
Example #7
0
		/// <inheritdoc/>
		public void Dispose() {
			if (win32Resources.IsValueInitialized && win32Resources.Value != null)
				win32Resources.Value.Dispose();
			if (imageStream != null)
				imageStream.Dispose();
			if (imageStreamCreator != null)
				imageStreamCreator.Dispose();
			win32Resources.Value = null;
			imageStream = null;
			imageStreamCreator = null;
			peType = null;
			peInfo = null;
		}
Example #8
0
 /// <inheritdoc/>
 public FileOffset ToFileOffset(PEInfo peInfo, RVA rva)
 {
     return((FileOffset)rva);
 }
Example #9
0
 /// <inheritdoc/>
 public FileOffset ToFileOffset(PEInfo peInfo, RVA rva)
 {
     return(peInfo.ToFileOffset(rva));
 }
Example #10
0
 /// <inheritdoc/>
 public RVA ToRVA(PEInfo peInfo, FileOffset offset)
 {
     return((RVA)offset);
 }
Example #11
0
 /// <inheritdoc/>
 public RVA ToRVA(PEInfo peInfo, FileOffset offset)
 {
     return(peInfo.ToRVA(offset));
 }
Example #12
0
 public FileOffset?ToFileOffset(PEInfo peInfo, RVA rva) => (FileOffset)rva;
Example #13
0
 public RVA?ToRVA(PEInfo peInfo, FileOffset offset) => (RVA)offset;
Example #14
0
 public FileOffset?ToFileOffset(PEInfo peInfo, RVA rva) => peInfo.ToFileOffset(rva);
Example #15
0
 public RVA?ToRVA(PEInfo peInfo, FileOffset offset) => peInfo.ToRVA(offset);