mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-05 19:42:36 +02:00
Merge remote-tracking branch 'origin/GT-3350_ryanmkurtz_ExtensionPoints'
This commit is contained in:
commit
36a628ae97
52 changed files with 341 additions and 169 deletions
|
@ -15,6 +15,9 @@
|
|||
*/
|
||||
package ghidra.feature.vt;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
|
||||
import ghidra.app.script.GhidraScript;
|
||||
import ghidra.feature.vt.api.db.VTSessionDB;
|
||||
import ghidra.feature.vt.api.main.*;
|
||||
|
@ -26,9 +29,6 @@ import ghidra.util.classfinder.ClassSearcher;
|
|||
import ghidra.util.exception.CancelledException;
|
||||
import ghidra.util.exception.VersionException;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
|
||||
public abstract class GhidraVersionTrackingScript extends GhidraScript {
|
||||
protected VTSession vtSession;
|
||||
protected Program sourceProgram;
|
||||
|
@ -162,7 +162,7 @@ public abstract class GhidraVersionTrackingScript extends GhidraScript {
|
|||
|
||||
public List<String> getProgramCorrelators() {
|
||||
List<String> correlators = new ArrayList<String>();
|
||||
Set<VTProgramCorrelatorFactory> generateList = getVTProgramCorrelatorFactory();
|
||||
List<VTProgramCorrelatorFactory> generateList = getVTProgramCorrelatorFactory();
|
||||
for (VTProgramCorrelatorFactory vtProgramCorrelatorFactory : generateList) {
|
||||
correlators.add(vtProgramCorrelatorFactory.getName());
|
||||
}
|
||||
|
@ -221,7 +221,7 @@ public abstract class GhidraVersionTrackingScript extends GhidraScript {
|
|||
//==================================================================================================
|
||||
|
||||
private VTProgramCorrelatorFactory getCorrelatorFactory(String name) {
|
||||
Set<VTProgramCorrelatorFactory> generateList = getVTProgramCorrelatorFactory();
|
||||
List<VTProgramCorrelatorFactory> generateList = getVTProgramCorrelatorFactory();
|
||||
for (VTProgramCorrelatorFactory vtProgramCorrelatorFactory : generateList) {
|
||||
if (vtProgramCorrelatorFactory.getName().equals(name)) {
|
||||
return vtProgramCorrelatorFactory;
|
||||
|
@ -230,7 +230,7 @@ public abstract class GhidraVersionTrackingScript extends GhidraScript {
|
|||
return null;
|
||||
}
|
||||
|
||||
private static Set<VTProgramCorrelatorFactory> getVTProgramCorrelatorFactory() {
|
||||
private static List<VTProgramCorrelatorFactory> getVTProgramCorrelatorFactory() {
|
||||
return ClassSearcher.getInstances(VTProgramCorrelatorFactory.class);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ public abstract class Stringable implements ExtensionPoint, DisplayStringProvide
|
|||
|
||||
private static void initializeNameMap() {
|
||||
shortNameToClassnameMap = new HashMap<String, Class<? extends Stringable>>();
|
||||
Set<Class<? extends Stringable>> classes = ClassSearcher.getClasses(Stringable.class);
|
||||
List<Class<? extends Stringable>> classes = ClassSearcher.getClasses(Stringable.class);
|
||||
for (Class<? extends Stringable> clazz : classes) {
|
||||
String name = getShortNameFieldValue(clazz);
|
||||
shortNameToClassnameMap.put(name, clazz);
|
||||
|
|
|
@ -62,7 +62,7 @@ public class AddressCorrelatorManager {
|
|||
|
||||
private List<AddressCorrelator> initializeAddressCorrelators() {
|
||||
|
||||
Set<DiscoverableAddressCorrelator> instances =
|
||||
List<DiscoverableAddressCorrelator> instances =
|
||||
ClassSearcher.getInstances(DiscoverableAddressCorrelator.class);
|
||||
List<AddressCorrelator> addressCorrelatorList = new ArrayList<AddressCorrelator>(instances);
|
||||
|
||||
|
|
|
@ -17,7 +17,8 @@ package ghidra.feature.vt.gui.provider.matchtable;
|
|||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.event.*;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
|
@ -98,7 +99,7 @@ public class AlgorithmFilter extends CheckBoxBasedAncillaryFilter<VTMatch> {
|
|||
list.add(ManualMatchProgramCorrelator.NAME);
|
||||
list.add(ImpliedMatchProgramCorrelator.NAME);
|
||||
|
||||
Set<VTAbstractProgramCorrelatorFactory> instances =
|
||||
List<VTAbstractProgramCorrelatorFactory> instances =
|
||||
ClassSearcher.getInstances(VTAbstractProgramCorrelatorFactory.class);
|
||||
for (VTAbstractProgramCorrelatorFactory factory : instances) {
|
||||
list.add(factory.getName());
|
||||
|
|
|
@ -15,13 +15,6 @@
|
|||
*/
|
||||
package ghidra.feature.vt.gui.wizard;
|
||||
|
||||
import ghidra.feature.vt.api.main.VTSession;
|
||||
import ghidra.feature.vt.gui.validator.VTPreconditionValidator;
|
||||
import ghidra.program.model.listing.Program;
|
||||
import ghidra.util.HelpLocation;
|
||||
import ghidra.util.Msg;
|
||||
import ghidra.util.classfinder.ClassSearcher;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
@ -33,6 +26,12 @@ import javax.swing.*;
|
|||
|
||||
import docking.widgets.conditiontestpanel.*;
|
||||
import docking.wizard.*;
|
||||
import ghidra.feature.vt.api.main.VTSession;
|
||||
import ghidra.feature.vt.gui.validator.VTPreconditionValidator;
|
||||
import ghidra.program.model.listing.Program;
|
||||
import ghidra.util.HelpLocation;
|
||||
import ghidra.util.Msg;
|
||||
import ghidra.util.classfinder.ClassSearcher;
|
||||
|
||||
public class PreconditionsPanel extends AbstractMageJPanel<VTWizardStateKey> implements Scrollable {
|
||||
private static final Dimension DEFAULT_SIZE = new Dimension(650, 480);
|
||||
|
@ -148,7 +147,7 @@ public class PreconditionsPanel extends AbstractMageJPanel<VTWizardStateKey> imp
|
|||
Program destinationProgram, VTSession existingResults) throws SecurityException {
|
||||
List<ConditionTester> list = new ArrayList<ConditionTester>();
|
||||
|
||||
Set<Class<? extends VTPreconditionValidator>> vtValidatorClasses =
|
||||
List<Class<? extends VTPreconditionValidator>> vtValidatorClasses =
|
||||
ClassSearcher.getClasses(VTPreconditionValidator.class);
|
||||
for (Class<? extends VTPreconditionValidator> validatorClass : vtValidatorClasses) {
|
||||
try {
|
||||
|
|
|
@ -60,13 +60,12 @@ public class VTProgramTableCorrelatorModel extends AbstractGTableModel<VTProgram
|
|||
}
|
||||
|
||||
private static List<VTProgramCorrelatorFactory> generateList() {
|
||||
Set<VTAbstractProgramCorrelatorFactory> instances =
|
||||
List<VTAbstractProgramCorrelatorFactory> instances =
|
||||
ClassSearcher.getInstances(VTAbstractProgramCorrelatorFactory.class);
|
||||
|
||||
List<VTProgramCorrelatorFactory> list =
|
||||
new ArrayList<>(instances);
|
||||
List<VTProgramCorrelatorFactory> list = new ArrayList<>(instances);
|
||||
|
||||
Collections.sort(list, comparator);
|
||||
Collections.sort(instances, comparator);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue