如何在 Ghidra 中更改程序路径
How to change the program path in Ghidra
我有一个导入了二进制文件的 Ghidra 项目,它是在计算机 A 上创建的,然后我想将这个项目移动到计算机 B。但是,二进制文件的路径与 A 不同。如何更改 Ghidra 中的路径设置?
已编辑:
Error Message(黑色块为计算机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 中。
我有一个导入了二进制文件的 Ghidra 项目,它是在计算机 A 上创建的,然后我想将这个项目移动到计算机 B。但是,二进制文件的路径与 A 不同。如何更改 Ghidra 中的路径设置?
已编辑: Error Message(黑色块为计算机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 中。