summaryrefslogtreecommitdiffstats
path: root/tools/ghidra/gsp-fwimage-570.144/scripts/Xrefs.java
diff options
context:
space:
mode:
Diffstat (limited to 'tools/ghidra/gsp-fwimage-570.144/scripts/Xrefs.java')
-rw-r--r--tools/ghidra/gsp-fwimage-570.144/scripts/Xrefs.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/tools/ghidra/gsp-fwimage-570.144/scripts/Xrefs.java b/tools/ghidra/gsp-fwimage-570.144/scripts/Xrefs.java
new file mode 100644
index 0000000..65d4b7f
--- /dev/null
+++ b/tools/ghidra/gsp-fwimage-570.144/scripts/Xrefs.java
@@ -0,0 +1,30 @@
+import ghidra.app.script.GhidraScript;
+import ghidra.program.model.address.Address;
+import ghidra.program.model.listing.Function;
+import ghidra.program.model.listing.FunctionManager;
+import ghidra.program.model.symbol.Reference;
+import ghidra.program.model.symbol.ReferenceIterator;
+import ghidra.program.model.symbol.ReferenceManager;
+
+public class Xrefs extends GhidraScript {
+ @Override
+ protected void run() throws Exception {
+ String[] args = getScriptArgs();
+ ReferenceManager rm = currentProgram.getReferenceManager();
+ FunctionManager fm = currentProgram.getFunctionManager();
+ for (String arg : args) {
+ Address target = toAddr(arg.trim());
+ println("### XREFS to " + target);
+ ReferenceIterator it = rm.getReferencesTo(target);
+ int n = 0;
+ while (it.hasNext()) {
+ Reference r = it.next();
+ Address from = r.getFromAddress();
+ Function f = fm.getFunctionContaining(from);
+ println(" from " + from + " (" + (f != null ? f.getName() + "@" + f.getEntryPoint() : "?") + ") type=" + r.getReferenceType());
+ n++;
+ }
+ println(" total=" + n);
+ }
+ }
+}