在系统 DLL 中使用 WinDbg 进行调试时,如何在 IDA Pro 中切换到“图形视图”?

逆向工程 艾达 拆卸 视窗 调试器
2021-07-05 01:30:20

在加载的exe进程中调试时IDA Pro用作反汇编WinDbg调试器),我可以右键单击代码视图并选择Graph view

在此处输入图片说明

这将把它切换到这个更容易阅读的漂亮的代码流视图:

在此处输入图片说明

但是,如果我进入系统 DLL(在本例中mshtml.dll),我似乎无法获得相同的Graph view命令,而是获得以下通用视图:

在此处输入图片说明

所以我想知道,是否也有一种方法可以启用Graph view系统 DLL?

1个回答

IDA 只能以图形模式显示函数,因此为了以图形的形式查看该代码,您必须:

找到函数的开始

搜索序言,例如push ebp, mov ebp, esp1,并找到函数的开头。如果它变得困难,您总是可以加载调试符号2并找到这样的开始。

1:实际上,大多数Microsoft DLL 都是使用hotpatch 选项编译的,这意味着序言以mov edi, edi这就是为什么为前缀,因此搜索该指令应该很容易。

2:在 WinDbg 命令行中,写入.symfix以修复符号路径并.reload /f mshtml.dll重新加载该模块的符号。或者,转到Debugger-> Debugger windows-> Modules listmshtml.dll在窗口中找到,右键单击它并选择“加载调试符号”。然后,只需使用Functions窗口或状态栏来查找函数的开头。

让它成为一个函数

将光标放在开始处,然后按P现在按下Space,您将进入图形模式!