我希望我能以正确的方式提出这个问题,但我只是开始尝试学习漏洞利用开发。我已经接受了几个教程并开始在Linux中使用gdb,我对此感到很自在。我现在开始在Windows上使用Immunity Debugger,并对如何在gui中查看函数提出疑问。
在gdb中我可以使用命令:
info functions
disas main
并且能够看到主要功能。为简单起见,我的编译代码未被删除。
如何在Immunity或OllyDbg中重新创建它?我想看一个函数列表,所以我可以检查它们或在它们上设置断点。我似乎无法弄明白!
谢谢!
答案 0 :(得分:3)
这可以在ImmunityDebugger中以编程方式实现:
module = imm.getModule('calc.exe')
if not module.isAnalysed():
module.Analyse()
functions = imm.getAllFunctions(module.getBase())
# functions is a list of function addresses in calc.exe
还有另一项功能:
imm.searchFunctionByName('name_to_search')
但根据我的经验,这不太可靠。 IDA Pro是实现这一目标的更好方法。它的拆卸引擎优于Ollydbg。您可以从IDA获取函数offets,然后在Ollydbg中找到它们。
最后,如果您正在进行漏洞利用开发,我会推荐WinDbg。学习它需要时间,但比Ollydbg更强大,功能更丰富(例如内核调试)。