From 97ecf95aa22a3fc44b9ed930e6736649e705b8df Mon Sep 17 00:00:00 2001 From: dev747368 <48332326+dev747368@users.noreply.github.com> Date: Tue, 12 Mar 2024 15:42:42 +0000 Subject: [PATCH] GP-0 tweak golang analyzer name / description --- .../app/plugin/core/analysis/ApplyDataArchiveAnalyzer.java | 3 ++- .../app/plugin/core/analysis/GolangStringAnalyzer.java | 5 ++--- .../app/plugin/core/analysis/GolangSymbolAnalyzer.java | 2 +- .../app/plugin/core/function/SharedReturnAnalyzer.java | 3 ++- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/ApplyDataArchiveAnalyzer.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/ApplyDataArchiveAnalyzer.java index d2e13ec137..c8ee55cbb5 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/ApplyDataArchiveAnalyzer.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/ApplyDataArchiveAnalyzer.java @@ -25,6 +25,7 @@ import generic.jar.ResourceFile; import ghidra.app.cmd.function.ApplyFunctionDataTypesCmd; import ghidra.app.plugin.core.datamgr.util.DataTypeArchiveUtility; import ghidra.app.services.*; +import ghidra.app.util.bin.format.golang.rtti.GoRttiMapper; import ghidra.app.util.importer.MessageLog; import ghidra.framework.Application; import ghidra.framework.model.*; @@ -84,7 +85,7 @@ public class ApplyDataArchiveAnalyzer extends AbstractAnalyzer { @Override public boolean getDefaultEnablement(Program program) { - if ("golang".equals(program.getCompilerSpec().getCompilerSpecID().toString())) { + if (GoRttiMapper.isGolangProgram(program)) { return false; } return super.getDefaultEnablement(program); diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/GolangStringAnalyzer.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/GolangStringAnalyzer.java index 31800b3d7c..ba96bd861a 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/GolangStringAnalyzer.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/GolangStringAnalyzer.java @@ -63,9 +63,8 @@ import ghidra.util.task.UnknownProgressWrappingTaskMonitor; * elements that the slice points to. */ public class GolangStringAnalyzer extends AbstractAnalyzer { - private final static String NAME = "Golang String Analyzer"; - private final static String DESCRIPTION = - "Finds and labels Go string structures that have been referenced from a function."; + private final static String NAME = "Golang Strings"; + private final static String DESCRIPTION = "Finds and labels Golang string structures."; private GolangStringAnalyzerOptions analyzerOptions = new GolangStringAnalyzerOptions(); private GoRttiMapper goBinary; diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/GolangSymbolAnalyzer.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/GolangSymbolAnalyzer.java index 50d35f7b68..5fbd6c8e19 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/GolangSymbolAnalyzer.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/GolangSymbolAnalyzer.java @@ -65,7 +65,7 @@ import utilities.util.FileUtilities; */ public class GolangSymbolAnalyzer extends AbstractAnalyzer { - private final static String NAME = "Golang Symbol"; + private final static String NAME = "Golang Symbols"; private final static String DESCRIPTION = """ Analyze Golang binaries for RTTI and function symbols. 'Apply Data Archives' and 'Shared Return Calls' analyzers should be disabled \ diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/function/SharedReturnAnalyzer.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/function/SharedReturnAnalyzer.java index 01e551da70..5bf9bef3d9 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/function/SharedReturnAnalyzer.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/function/SharedReturnAnalyzer.java @@ -17,6 +17,7 @@ package ghidra.app.plugin.core.function; import ghidra.app.cmd.analysis.SharedReturnAnalysisCmd; import ghidra.app.services.*; +import ghidra.app.util.bin.format.golang.rtti.GoRttiMapper; import ghidra.app.util.importer.MessageLog; import ghidra.framework.options.Options; import ghidra.program.model.address.AddressSetView; @@ -87,7 +88,7 @@ public class SharedReturnAnalyzer extends AbstractAnalyzer { boolean sharedReturnEnabled = language.getPropertyAsBoolean( GhidraLanguagePropertyKeys.ENABLE_SHARED_RETURN_ANALYSIS, true); - if ("golang".equals(program.getCompilerSpec().getCompilerSpecID().toString())) { + if (GoRttiMapper.isGolangProgram(program)) { sharedReturnEnabled = false; }