Debugging 使用免疫调试器反汇编函数

Debugging 使用免疫调试器反汇编函数,debugging,disassembly,ollydbg,Debugging,Disassembly,Ollydbg,我希望我问这个问题的方式是正确的,但我刚刚开始尝试学习开发。我已经学习了一些教程,并开始在Linux中使用gdb,这让我感到有些舒服。我现在开始在Windows上使用免疫调试器,并且有一个关于如何在gui中查看函数的问题 在gdb中,我可以使用以下命令: info functions disas main 并且能够看到主要功能。为了简单起见,我编译的代码是非压缩的 我如何在免疫或OllyDbg中重新创建它?我想查看函数列表,以便检查它们或在它们上设置断点。我好像不明白 谢谢 这可以在Immun

我希望我问这个问题的方式是正确的,但我刚刚开始尝试学习开发。我已经学习了一些教程,并开始在Linux中使用gdb,这让我感到有些舒服。我现在开始在Windows上使用免疫调试器,并且有一个关于如何在gui中查看函数的问题

在gdb中,我可以使用以下命令:

info functions
disas main
并且能够看到主要功能。为了简单起见,我编译的代码是非压缩的

我如何在免疫或OllyDbg中重新创建它?我想查看函数列表,以便检查它们或在它们上设置断点。我好像不明白


谢谢

这可以在ImmunityDebug中通过编程实现:

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(例如内核调试)更强大、功能更丰富