diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/PeLoader.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/PeLoader.java index 312ce083e9..3bb0be1ca7 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/PeLoader.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/PeLoader.java @@ -23,20 +23,21 @@ import generic.continues.GenericFactory; import generic.continues.RethrowContinuesFactory; import ghidra.app.util.MemoryBlockUtil; import ghidra.app.util.Option; -import ghidra.app.util.bin.*; +import ghidra.app.util.bin.BinaryReader; +import ghidra.app.util.bin.ByteProvider; import ghidra.app.util.bin.format.mz.DOSHeader; import ghidra.app.util.bin.format.pe.*; import ghidra.app.util.bin.format.pe.PortableExecutable.SectionLayout; import ghidra.app.util.bin.format.pe.debug.DebugCOFFSymbol; import ghidra.app.util.bin.format.pe.debug.DebugDirectoryParser; -import ghidra.app.util.demangler.*; import ghidra.app.util.importer.*; import ghidra.framework.model.DomainObject; import ghidra.framework.options.Options; import ghidra.program.model.address.*; import ghidra.program.model.data.*; import ghidra.program.model.listing.*; -import ghidra.program.model.mem.*; +import ghidra.program.model.mem.Memory; +import ghidra.program.model.mem.MemoryAccessException; import ghidra.program.model.reloc.RelocationTable; import ghidra.program.model.symbol.*; import ghidra.program.model.util.AddressSetPropertyMap; @@ -508,21 +509,6 @@ public class PeLoader extends AbstractPeDebugLoader { // Don't create invalid symbol } - DemangledObject demangledObj = null; - try { - demangledObj = DemanglerUtil.demangle(program, name); - } - catch (Exception e) { - //log.appendMsg("Unable to demangle: "+name); - } - if (demangledObj != null) { - String comment = demangledObj.getSignature(true); - if (hasComment(CodeUnit.PLATE_COMMENT, address)) { - comment = "\n" + comment; - } - setComment(CodeUnit.PLATE_COMMENT, address, comment); - } - try { symTable.createLabel(address, SymbolUtilities.ORDINAL_PREFIX + export.getOrdinal(), SourceType.IMPORTED); @@ -574,41 +560,6 @@ public class PeLoader extends AbstractPeDebugLoader { // Nothing to do...just continue on } } - - //if this export is not in an executable section, - //then it is a DATA export. - //see if it is a pointer, otherwise make it an undefined1 - MemoryBlock block = memory.getBlock(address); - if (block != null && !block.isExecute()) { - try { - if (demangledObj instanceof DemangledVariable) { - DemangledVariable demangledVar = (DemangledVariable) demangledObj; - DemangledDataType ddt = demangledVar.getDataType(); - DataType dt = - ddt == null ? null : ddt.getDataType(program.getDataTypeManager()); - if (dt != null && dt.getLength() > 0) { - listing.createData(address, dt); - } - else { - listing.createData(address, new Undefined1DataType()); - } - } - else { - listing.createData(address, StructConverter.POINTER, - address.getPointerSize()); - Data data = listing.getDataAt(address); - Address ptr = data.getAddress(0); - if (ptr == null || !memory.contains(ptr)) { - listing.clearCodeUnits(data.getMinAddress(), data.getMaxAddress(), - false); - listing.createData(address, new Undefined1DataType()); - } - } - } - catch (DataTypeConflictException | CodeUnitInsertionException e) { - // Nothing to do...just continue on - } - } } }