31 lines
1.2 KiB
Java
31 lines
1.2 KiB
Java
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 = {"18052e260","180536300","180535880","180536f90","18052da00"};
|
|
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<200) {
|
|
Reference r = it.next();
|
|
pw.println(" from " + r.getFromAddress() + " type=" + r.getReferenceType());
|
|
n++;
|
|
}
|
|
}
|
|
pw.close();
|
|
println("XREFS_DONE");
|
|
}
|
|
}
|