我想使用 Eclipse 等 IDE 调试用 python 编写的 Ghidra 插件脚本。我已经安装了 Pydev 和 GhidraDev 插件(从 Ghidra 在 Eclipse 中打开一个脚本来自动安装插件)。
在 Eclipse 中打开插件脚本后,我将设置一个断点(例如在下面的打印 stmt 上),然后单击 Debug > GhidraScripts 启动 Ghidra,最后手动启动脚本(参见下面的示例脚本)。我看到了线程并且可以从 Eclipse 暂停脚本线程,但是断点永远不会被命中。
我已经尝试了 GhidraScripts (Headless) 和基于 GUI 的 GhidraScript 启动,但是我没有休息。
# Hello Function Script
# @author mechgt
# @category _NEW_
# @keybinding
# @menupath
# @toolbar
import ghidra
import time
# Iterate through functions, parsing and printing each
function = getFirstFunction()
while function is not None:
print("Function: {} Address: {}".format(function.getName(), function.getEntryPoint()))
time.sleep(3)
function = getFunctionAfter(function)
如何获得 Ghidra Python 脚本的调试功能?
注意:Eclipse/Ghidra/PyDev 调试问题似乎与一个可能的错误有关:https : //github.com/NationalSecurityAgency/ghidra/issues/1707