使用 python 打印 Ghidra 项目中的所有字符串

逆向工程 吉德拉 Python
2021-06-19 13:10:32

我使用以下代码从 Ghidra 项目中获取字符串对象:

 l = list()
def callback(s):
   l.append(s)
ss = StringSearcher(currentProgram, 5, 1, False, True)
ss.search(None, callback, True, monitor)

print(l[0])

从线程How to use findStrings flat API (#1964)得到它

问题是为了获得实际的字符串,需要一个 Memory 对象作为getString()函数的参数

我不太确定如何创建这个对象或它到底代表什么……这种情况有什么正确的方法/好的例子吗?

1个回答

好的,我知道它显然currentProgram有一个 get 属性,可以返回所述内存(MemoryMapDB): StringObj.getString(currentProgram.getMemory())