如何从 Ghidra 的符号服务器加载符号?

逆向工程 拆卸 视窗 二元分析 反编译 吉德拉
2021-06-17 05:07:05

我一直在尝试通过逆向系统库来学习Ghidracomctl32.dll系统库中记录了许多其功能。我在里面开始反编译分​​析,过了一会就显示这个错误信息:

(我不知道它发生了多久。我不得不离开它去做它的事情,遗憾的是它花了太长时间。)

在此处输入图片说明

然后我碰巧看到,如果我转到文件 -> 下载 PDB 文件,然后选择驱动器上的某个文件夹并提供 Microsoft 符号路径https://msdl.microsoft.com/download/symbols并单击"Download from URL"它似乎可以下载它。

然后它会询问我是否要将其应用于项目,如果我单击Yes它会显示以下警告:

在此处输入图片说明

所以我显然没有做对。

于是我很好奇:

A) 是否可以提供符号服务器路径并让它自动下载所需的符号文件?

B)如果不是,加载特定二进制符号的顺序是什么?似乎它想要预先设置符号,但是我怎么知道它可能需要哪些文件/导入(除了我正在打开的明显二进制文件)?

2个回答

执行此操作的一种可能方法 - 使用带有r2ghidra插件的radare2Cutter它将加载 PDB 并使用 Ghidra 反编译器进行实际的反编译。

是的,它不像 IDA Pro 那样完全自动。尽管 NSA 开发团队在该项目上非常活跃。任何美国公民都应该能够(通过 Java)添加这样的功能,并提出拉取请求来添加它。

我发现您所做的只是将模块添加到您的 Ghidra 项目中。当您单击模块/可执行文件时,它会询问“...您现在要分析它吗?”。单击“否”,加载您的 PDB,然后通过“分析”菜单选项手动开始分析。