diff --git a/BurnOutSharp/ExecutableType/Microsoft/PortableExecutable.cs b/BurnOutSharp/ExecutableType/Microsoft/PortableExecutable.cs index 58efb340..f41efd4f 100644 --- a/BurnOutSharp/ExecutableType/Microsoft/PortableExecutable.cs +++ b/BurnOutSharp/ExecutableType/Microsoft/PortableExecutable.cs @@ -224,8 +224,15 @@ namespace BurnOutSharp.ExecutableType.Microsoft if (section == null) return null; - stream.Seek((int)section.PointerToRawData, SeekOrigin.Begin); - return stream.ReadBytes((int)section.VirtualSize); + lock (stream) + { + long originalPosition = stream.Position; + stream.Seek((int)section.PointerToRawData, SeekOrigin.Begin); + byte[] sectionData = stream.ReadBytes((int)section.VirtualSize); + stream.Seek(originalPosition, SeekOrigin.Begin); + return sectionData; + } + } ///