我有一个带有导入二进制文件的 Ghidra 项目,该文件是在计算机 A 上创建的,然后我想将此项目移动到计算机 B。但是,二进制文件的路径与 A 不同。如何更改Ghidra中的路径设置?
已编辑: 错误消息(黑块是计算机 A 中的原始路径。)
似乎 Ghidra 使用的信息是从currentProgram.getExecutablePath()
与项目内部的二进制信息一起存储的选项中获取值:
代码片段来自ghidra.program.database.ProgramDB#getExecutablePath
:
@Override
public String getExecutablePath() {
String path = null;
Options pl = getOptions(PROGRAM_INFO);
path = pl.getString(EXECUTABLE_PATH, UNKNOWN);
return path == null ? UNKNOWN : path;
}
@Override
public void setExecutablePath(String path) {
Options pl = getOptions(PROGRAM_INFO);
pl.setString(EXECUTABLE_PATH, path);
changed = true;
}
要改变这一点,您应该能够简单地使用相应的setExecutablePath
方法,例如通过运行
currentProgram.setExecutablePath("/new/path/to/binary.elf")
在 Python REPL 中。