diff options
Diffstat (limited to 'tools/ghidra/gsp-fwimage-570.144/scripts/Xrefs.java')
| -rw-r--r-- | tools/ghidra/gsp-fwimage-570.144/scripts/Xrefs.java | 30 |
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); + } + } +} |
