Ghidra 使用.cspec
文件x86win.cspec
来定义编译器相关信息,这些信息被导入到定义处理器语言的.ldef
文件中x86.ldef
。
如何在不编辑本质上属于 Ghidra 核心一部分的现有文件的情况下,CompilerSpec
通过.cspec
文件向 Ghidra添加新文件.ldef
,而且也不添加新处理器(使用新.ldef
文件)?这也应该适用于analyzeHeadless
,所以不仅仅是将它添加到 GUI 中。
这可能最终需要一个不是问题的扩展,我只是不知道将文件放在哪里以使其自动加载,或者作为扩展初始化的一部分调用哪些 API 函数以添加新的CompilerSpec
. 实现CompilerSpec
接口的类具有公共构造函数,将.cspec
文件作为参数,但这看起来不会在创建它的实例后自动添加。