0

我有一个带有导入二进制文件的 Ghidra 项目,该文件是在计算机 A 上创建的,然后我想将此项目移动到计算机 B。但是,二进制文件的路径与 A 不同。如何更改Ghidra中的路径设置?

已编辑: 错误消息(黑块是计算机 A 中的原始路径。)

4

1 回答 1

0

似乎 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 中。

于 2021-01-21T11:27:58.133 回答