From faf73e8ecb26320a998da6af1a0dcb81c427657f Mon Sep 17 00:00:00 2001 From: dragonmacher <48328597+dragonmacher@users.noreply.github.com> Date: Thu, 16 Mar 2023 12:07:40 -0400 Subject: [PATCH] GP-3199 - Updated Version Tracking classes to make them public (Closes #4950) --- ...tionAndDataReferenceProgramCorrelator.java | 2 +- .../DataReferenceProgramCorrelator.java | 2 +- .../FunctionReferenceProgramCorrelator.java | 3 +- .../program/SimilarDataProgramCorrelator.java | 39 +++++++------------ .../SimilarSymbolNameProgramCorrelator.java | 24 ++++++------ .../VTAbstractReferenceProgramCorrelator.java | 3 +- .../api/util/VTAbstractProgramCorrelator.java | 2 +- .../vt/db/DummyTestProgramCorrelator.java | 5 ++- 8 files changed, 37 insertions(+), 43 deletions(-) diff --git a/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/correlator/program/CombinedFunctionAndDataReferenceProgramCorrelator.java b/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/correlator/program/CombinedFunctionAndDataReferenceProgramCorrelator.java index 3ad2c3a098..b3ac2456ec 100644 --- a/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/correlator/program/CombinedFunctionAndDataReferenceProgramCorrelator.java +++ b/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/correlator/program/CombinedFunctionAndDataReferenceProgramCorrelator.java @@ -39,7 +39,7 @@ public class CombinedFunctionAndDataReferenceProgramCorrelator extends * @param correlatorName The correlator name string passed from the factory. * @param options {@code ToolOptions} */ - CombinedFunctionAndDataReferenceProgramCorrelator(ServiceProvider serviceProvider, + public CombinedFunctionAndDataReferenceProgramCorrelator(ServiceProvider serviceProvider, Program sourceProgram, AddressSetView sourceAddressSet, Program destinationProgram, AddressSetView destinationAddressSet, String correlatorName, ToolOptions options) { super(serviceProvider, sourceProgram, sourceAddressSet, destinationProgram, diff --git a/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/correlator/program/DataReferenceProgramCorrelator.java b/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/correlator/program/DataReferenceProgramCorrelator.java index 4cb68971fe..d4692b887d 100644 --- a/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/correlator/program/DataReferenceProgramCorrelator.java +++ b/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/correlator/program/DataReferenceProgramCorrelator.java @@ -38,7 +38,7 @@ public class DataReferenceProgramCorrelator extends VTAbstractReferenceProgramCo * @param correlatorName The correlator name string passed from the factory. * @param options {@code ToolOptions} */ - DataReferenceProgramCorrelator(ServiceProvider serviceProvider, Program sourceProgram, + public DataReferenceProgramCorrelator(ServiceProvider serviceProvider, Program sourceProgram, AddressSetView sourceAddressSet, Program destinationProgram, AddressSetView destinationAddressSet, String correlatorName, ToolOptions options) { super(serviceProvider, sourceProgram, sourceAddressSet, destinationProgram, diff --git a/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/correlator/program/FunctionReferenceProgramCorrelator.java b/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/correlator/program/FunctionReferenceProgramCorrelator.java index a7ad277e77..095ebcd13e 100644 --- a/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/correlator/program/FunctionReferenceProgramCorrelator.java +++ b/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/correlator/program/FunctionReferenceProgramCorrelator.java @@ -37,7 +37,8 @@ public class FunctionReferenceProgramCorrelator extends VTAbstractReferenceProgr * @param correlatorName The correlator name string passed from the factory. * @param options {@code ToolOptions} */ - FunctionReferenceProgramCorrelator(ServiceProvider serviceProvider, Program sourceProgram, + public FunctionReferenceProgramCorrelator(ServiceProvider serviceProvider, + Program sourceProgram, AddressSetView sourceAddressSet, Program destinationProgram, AddressSetView destinationAddressSet, String correlatorName, ToolOptions options) { super(serviceProvider, sourceProgram, sourceAddressSet, destinationProgram, diff --git a/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/correlator/program/SimilarDataProgramCorrelator.java b/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/correlator/program/SimilarDataProgramCorrelator.java index 537414b86a..fd7f0cfaa7 100644 --- a/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/correlator/program/SimilarDataProgramCorrelator.java +++ b/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/correlator/program/SimilarDataProgramCorrelator.java @@ -15,11 +15,8 @@ */ package ghidra.feature.vt.api.correlator.program; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; +import java.util.*; import java.util.Map.Entry; -import java.util.Set; import generic.DominantPair; import generic.hash.FNV1a64MessageDigest; @@ -28,19 +25,13 @@ import generic.lsh.KandL; import generic.lsh.LSHMemoryModel; import generic.lsh.vector.LSHCosineVectorAccum; import generic.lsh.vector.VectorCompare; -import ghidra.feature.vt.api.main.VTAssociationType; -import ghidra.feature.vt.api.main.VTMatchInfo; -import ghidra.feature.vt.api.main.VTMatchSet; -import ghidra.feature.vt.api.main.VTScore; +import ghidra.feature.vt.api.main.*; import ghidra.feature.vt.api.util.VTAbstractProgramCorrelator; import ghidra.framework.options.ToolOptions; import ghidra.framework.plugintool.ServiceProvider; import ghidra.program.model.address.Address; import ghidra.program.model.address.AddressSetView; -import ghidra.program.model.listing.Data; -import ghidra.program.model.listing.DataIterator; -import ghidra.program.model.listing.Listing; -import ghidra.program.model.listing.Program; +import ghidra.program.model.listing.*; import ghidra.program.model.mem.MemoryAccessException; import ghidra.util.exception.CancelledException; import ghidra.util.task.TaskMonitor; @@ -49,13 +40,6 @@ public class SimilarDataProgramCorrelator extends VTAbstractProgramCorrelator { public static final double SIMILARITY_THRESHOLD = 0.5; - protected SimilarDataProgramCorrelator(ServiceProvider serviceProvider, Program sourceProgram, - AddressSetView sourceAddressSet, Program destinationProgram, - AddressSetView destinationAddressSet, ToolOptions options) { - super(serviceProvider, sourceProgram, sourceAddressSet, destinationProgram, - destinationAddressSet, options); - } - HashMap
sourceMap; HashMap destinationMap; @@ -64,6 +48,13 @@ public class SimilarDataProgramCorrelator extends VTAbstractProgramCorrelator { int featureID = 0; int minDataLength; + public SimilarDataProgramCorrelator(ServiceProvider serviceProvider, Program sourceProgram, + AddressSetView sourceAddressSet, Program destinationProgram, + AddressSetView destinationAddressSet, ToolOptions options) { + super(serviceProvider, sourceProgram, sourceAddressSet, destinationProgram, + destinationAddressSet, options); + } + @Override protected void doCorrelate(VTMatchSet matchSet, TaskMonitor monitor) throws CancelledException { minDataLength = @@ -92,9 +83,9 @@ public class SimilarDataProgramCorrelator extends VTAbstractProgramCorrelator { private void extractNGramFeatures(VTMatchSet matchSet, boolean skipHomogenousData, TaskMonitor monitor, int n) throws CancelledException { - sourceMap = new HashMap(); - destinationMap = new HashMap(); - idMap = new HashMap