diff --git a/Il2CppInspector.Common/FileFormatStreams/PEReader.cs b/Il2CppInspector.Common/FileFormatStreams/PEReader.cs index 16a8d0f..f014c53 100644 --- a/Il2CppInspector.Common/FileFormatStreams/PEReader.cs +++ b/Il2CppInspector.Common/FileFormatStreams/PEReader.cs @@ -161,12 +161,17 @@ namespace Il2CppInspector return addrs.ToArray(); } - public override IEnumerable GetExports() { + public override IEnumerable GetExports() + { + var exportDirectory = pe.DataDirectory[0]; + if (exportDirectory.Size == 0) + return []; + // Get exports table - var ETStart = pe.DataDirectory[0].VirtualAddress + pe.ImageBase; + var exportTableStart = exportDirectory.VirtualAddress + pe.ImageBase; // Get export RVAs - var exportDirectoryTable = ReadObject(MapVATR(ETStart)); + var exportDirectoryTable = ReadObject(MapVATR(exportTableStart)); var exportCount = (int) exportDirectoryTable.NumberOfFunctions; var exportAddresses = ReadArray(MapVATR(exportDirectoryTable.AddressOfFunctions + pe.ImageBase), exportCount); var exports = exportAddresses.Select((a, i) => new Export {