IDA 调试器中的“.debugxxx”段是什么意思?

逆向工程 艾达 分割
2021-07-09 08:50:29

当我在 IDA 调试器中调试应用程序时,有时会引用 .debugxxx 段。

那些段是什么?堆分配 ?

如果是这样,为什么它们被称为 .debug ?

此外,即使我在应用程序的入口点停止调试器,地址空间的开头和结尾也已经有 3 或 4 个 .debug 段。

它们包含什么类型的数据?

我很抱歉这篇文章,但我在其他任何地方都找不到任何具体信息。这里已经有人问过了,但我没有发现回复是在回答标题中的问题。

谢谢 !

1个回答

通常,这些是在调试过程中分配的区域。有些是堆相关的,有些是操作系统实现内部的,有些可以是与您交互的另一个进程分配的页面。它们在那里是因为 IDA 需要为您提供一个界面来查看内存,因为它实际上是在内存中布置的,就像任何其他调试器一样。

将它们与 IDA 的内置段工具集成,可以更轻松地与其他组件和第三方插件一起使用。

它们被称为.debug???是因为这些段是可执行文件调试环境的一部分。这些数字只是连续的,没有实际意义。

PS 关于这些的提示:IDA 不会保持它们不断更新,有时您可能需要 IDA 重新扫描调试进程的内存,以确保您查看最新的内存快照。至少 IDA 6.6 的情况是这样,它可能已经改变了。