import ghidra.app.script.GhidraScript; import ghidra.program.model.symbol.Reference; import ghidra.program.model.symbol.ReferenceIterator; import ghidra.program.model.address.Address; import ghidra.program.model.address.AddressSpace; import java.io.PrintWriter; public class SearchRefs extends GhidraScript { @Override public void run() throws Exception { String[] targets = {"18003fa20","1800025e0","180008500","1800104e0"}; AddressSpace as = currentProgram.getAddressFactory().getDefaultAddressSpace(); PrintWriter pw = new PrintWriter(new java.io.BufferedWriter( new java.io.FileWriter("/home/m/re-tools/xrefs.txt"))); for (String ts : targets) { long ta = Long.parseLong(ts,16); Address t = as.getAddress(ta); pw.println("### TARGET " + ts); ReferenceIterator it = currentProgram.getReferenceManager().getReferencesTo(t); int n=0; while (it.hasNext() && n<120) { Reference r = it.next(); pw.println(" from " + r.getFromAddress() + " type=" + r.getReferenceType()); n++; } } pw.close(); println("XREFS_DONE"); } }