请问 const char *str="abcdef" 反汇编中的_NULL_IMPORT_DESCRIPTOR是什么含义?

Dic4000 2015-07-23 01:02:34
环境Win32 平台,用VS2013编写的C语言程序,其中main函数中有一句如下

const char *str = "abcdef";


反汇编跟踪到这条 const char *str = "abcdef" 语句时,相应的汇编语句是

mov dword ptr [ebp-8],offset main!_NULL_IMPORT_DESCRIPTOR <PERF>


请问,1 _NULL_IMPORT_DESCRIPTOR <PERF> 是什么?
2为何会在这里反汇编出这样的东西?
...全文
252 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
如果.exe中引入了N个模块(DLL之类的),那么就有N+1个IMAGE_IMPORT_DESCRIPTOR结构,最后一个就是_NULL_IMPORT_DESCRIPTOR,全0。
Dic4000 2015-08-04
  • 打赏
  • 举报
回复
引用 1 楼 mydo 的回复:
str如果是auto型的变量,则表示局部指针的意思。 不同调试器显示的不一样,你用llvm或者gdb看看显示的是啥。
没用过llvm和gdb,我用的是windbg,我知道

main!_NULL_IMPORT_DESCRIPTOR
是个Symbol,但是不明白offset main!_NULL_IMPORT_DESCRIPTOR意思,根据我自己的理解str应该是放在.data节的,难道main!_NULL_IMPORT_DESCRIPTOR指的是.data节的开始吗?
  • 打赏
  • 举报
回复
_NULL_IMPORT_DESCRIPTOR是IMAGE_IMPORT_DESCRIPTOR序列的最后一个结构,20字节的全0。
大熊猫侯佩 2015-08-01
  • 打赏
  • 举报
回复
str如果是auto型的变量,则表示局部指针的意思。 不同调试器显示的不一样,你用llvm或者gdb看看显示的是啥。

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧