返回信息流请教大牛!!!
C 在编译后是否还有办法通过数组头指针获得其长度。
我反汇编看不出来,完全在编译的时候都被编译器被搞定了。
另外,编译过程中会有符号表,但是编译完了之后,在DEBUG版本的程序中还存在符号表么??
这是一条镜像帖。来源:北邮人论坛 / cpp / #28643同步于 2009/9/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
【请教大牛】C 数组长度!
l00l
2009/9/18镜像同步20 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
是在编译后的可执行程序~~
比如去Hook一些函数,然后检查数组的长度。
【 在 xieys 的大作中提到: 】
: sizeof(a)/sizeof(a[0])
【 在 l00l 的大作中提到: 】
: 请教大牛!!!
: C 在编译后是否还有办法通过数组头指针获得其长度。
: 我反汇编看不出来,完全在编译的时候都被编译器被搞定了。
: ...................
debug版本中有符号表,这是编译期为了调试所保留的调试信息。release版本的可执行文件里没有符号表
【 在 l00l 的大作中提到: 】
: 请教大牛!!!
: C 在编译后是否还有办法通过数组头指针获得其长度。
: 我反汇编看不出来,完全在编译的时候都被编译器被搞定了。
: ...................
没办法获取长度,如果有办法的话就不会存在缓冲区溢出的可能了,那就不好玩啦[em21]
哦,那我怎么去查看这个符号表呢?
我在网上查了好久没查到。
或者有什么这方面的资料,给我两个连接吧。
谢谢哟!!
【 在 jokerlee 的大作中提到: 】
: debug版本中有符号表,这是编译期为了调试所保留的调试信息。release版本的可执行文件里没有符号表
【 在 l00l 的大作中提到: 】
: 哦,那我怎么去查看这个符号表呢?
: 我在网上查了好久没查到。
: 或者有什么这方面的资料,给我两个连接吧。
: ...................
符号表?如果你用微软的编译器,那我可以跟你说,微软是没有公开符号表的格式的。如果说,你真的想知道更多的信息,那推荐你去看微软的pe格式。
其实我最终是要做Linux下的,但由于完全没用过linux,所以先试着做win的。
Linux下程序的Debug版本可以查询符号表不? 如果可以的话,我就不用费劲研究win下面的了。
【 在 jmpesp 的大作中提到: 】
: 符号表?如果你用微软的编译器,那我可以跟你说,微软是没有公开符号表的格式的。如果说,你真的想知道更多的信息,那推荐你去看微软的pe格式。
【 在 l00l 的大作中提到: 】
: 其实我最终是要做Linux下的,但由于完全没用过linux,所以先试着做win的。
: Linux下程序的Debug版本可以查询符号表不? 如果可以的话,我就不用费劲研究win下面的了。
查不了,想知道的话你得好好研究PE可执行文件格式,这就需要下功夫了。
哦,好的,谢谢指点。我慢慢研究~~
研究出来了,再来跟帖。
【 在 jmpesp 的大作中提到: 】
: 查不了,想知道的话你得好好研究PE可执行文件格式,这就需要下功夫了。