27 lines
1.0 KiB
Java
27 lines
1.0 KiB
Java
import ghidra.app.script.GhidraScript;
|
|
import ghidra.program.model.listing.Function;
|
|
import ghidra.program.model.listing.FunctionIterator;
|
|
import ghidra.util.task.TaskMonitor;
|
|
import java.io.PrintWriter;
|
|
|
|
public class ListFuns extends GhidraScript {
|
|
@Override
|
|
public void run() throws Exception {
|
|
FunctionIterator it = currentProgram.getFunctionManager().getFunctions(true);
|
|
PrintWriter pw = new PrintWriter(new java.io.BufferedWriter(
|
|
new java.io.FileWriter("/home/m/re-tools/funs_range.txt")));
|
|
long lo = 0x180520000L, hi = 0x180620000L;
|
|
while (it.hasNext()) {
|
|
Function f = it.next();
|
|
long off = f.getEntryPoint().getOffset();
|
|
if (off >= lo && off <= hi) {
|
|
int n = 0;
|
|
try { n = (int)f.getBody().getNumAddresses(); } catch (Exception e) {}
|
|
pw.println(Long.toHexString(off) + " " + n + " " + f.getName());
|
|
}
|
|
}
|
|
pw.close();
|
|
println("LISTFUNS_DONE");
|
|
}
|
|
}
|