<PackageReference Include="Microsoft.Packaging.Tools" Version="1.0.0-preview2-25401-01" />

System.Reflection.PortableExecutable.PEReader

public sealed class PEReader : IDisposable
namespace System.Reflection.PortableExecutable { public sealed class PEReader : IDisposable { public PEHeaders PEHeaders { get; } public bool IsEntireImageAvailable { get; } public bool HasMetadata { get; } public unsafe PEReader(byte* peImage, int size); public PEReader(Stream peStream); public PEReader(Stream peStream, PEStreamOptions options); public PEReader(Stream peStream, PEStreamOptions options, int size); public PEReader(ImmutableArray<byte> peImage); public void Dispose(); public PEMemoryBlock GetEntireImage(); public PEMemoryBlock GetMetadata(); public PEMemoryBlock GetSectionData(int relativeVirtualAddress); public ImmutableArray<DebugDirectoryEntry> ReadDebugDirectory(); public CodeViewDebugDirectoryData ReadCodeViewDebugDirectoryData(DebugDirectoryEntry entry); } }