我们有objdump、readelf和dubin等工具来显示可执行文件的内容。
但是当一个可执行文件被加载到内存中(创建一个进程)时,内存中的段通常与可执行文件中的段不同。例如,在加载时,分配了两个额外的段,即堆栈和堆(我们在这里忽略了页面映射的细节)。
是否有工具可以帮助显示进程的实时内存段/状态?
我们有objdump、readelf和dubin等工具来显示可执行文件的内容。
但是当一个可执行文件被加载到内存中(创建一个进程)时,内存中的段通常与可执行文件中的段不同。例如,在加载时,分配了两个额外的段,即堆栈和堆(我们在这里忽略了页面映射的细节)。
是否有工具可以帮助显示进程的实时内存段/状态?
Windows 可执行文件使用Portable Executable格式。这种格式描述了加载进程时分配的内存部分,以及可选的要加载到这些部分的原始数据( .text
,部分)。.data
每个部分通常都有一个文件偏移量,指定数据在原始文件中的位置,以及加载数据的虚拟地址。这些可能彼此相似,也可能不相似。
PE Explorer可以为您提供有关可执行文件的部分(以及有关 PE 文件的所有其他内容)的详细信息。
Immunity Debugger将允许您附加到正在运行的进程并查看其内存映射。