Class AutoVersionTrackingTask
- All Implemented Interfaces:
ghidra.util.task.MonitoredRunnable
VTProgramCorrelator
s that return unique matches (i.e., only one of each
match is found in each program) for each correlator selected in the autoVT options to run:
- Exact Symbol Name correlator
- Exact Data correlator
- Exact Function Byte correlator
- Exact Function Instruction correlator
- Exact Function Mnemonic correlator
After running each of the above correlators all matches are accepted since they are exact/unique matches and all markup from the source program functions is applied to the matching destination program functions.
Next, if the autoVT option for this correlator is selected, the command runs the Duplicate Function Instruction correlator to find any non-unique functions with exact instruction bytes. It then compares their operands to try and determine unique matches within matching sets and if found will accept correct matches and apply markup.
If chosen, the command then gets a little more speculative by running the Data Reference Correlator, the Function Reference Correlator, and/or the Combined Function and Data Reference Correlator, which use accepted match information from the previous correlators to find more matches. Only the matches with minimum score/confidence values, as chosen in the autoVT options, will be accepted.
If the user chooses to create implied matches then whenever matches are accepted, matches that can be implied by those matches as new matches will be created. If the user chooses to accept applied matches, then they will be applied if the chosen minimum vote count is met and if the chosen maximum conflict count is not exceeded. All options can be set in the Version Tracking Match Window's Edit -> Tool Options in Version Tracking/Auto Version Tracking option folder.
-
Field Summary
Fields inherited from class ghidra.util.task.Task
taskMonitor, waitForTaskCompleted
-
Constructor Summary
ConstructorDescriptionAutoVersionTrackingTask
(VTSession session, ghidra.framework.options.ToolOptions toolOptions) Constructor for a modal/blocking AutoVersionTrackingTask -
Method Summary
Methods inherited from class ghidra.util.task.Task
addTaskListener, canCancel, cancel, getTaskTitle, getWaitForTaskCompleted, hasProgress, isCancelled, isModal, monitoredRun, notifyTaskListeners, setHasProgress
-
Constructor Details
-
AutoVersionTrackingTask
Constructor for a modal/blocking AutoVersionTrackingTask- Parameters:
session
- The Version Tracking session containing the source, destination, correlator and match information needed for this command.toolOptions
- the options used when applying matchesminCombinedReferenceCorrelatorScore
- The minimum score used to limit matches created by the Combined Reference Correlator.minCombinedReferenceCorrelatorConfidence
- The minimum confidence used to limit matches created by the Combined Reference Correlator.
-
-
Method Details
-
getStatusTextAlignment
public int getStatusTextAlignment()- Overrides:
getStatusTextAlignment
in classghidra.util.task.Task
-
run
public void run(ghidra.util.task.TaskMonitor monitor) throws ghidra.util.exception.CancelledException - Specified by:
run
in classghidra.util.task.Task
- Throws:
ghidra.util.exception.CancelledException
-
getStatusMsg
-