100+分求高手!VC,源码,map映射,超出范围问题

来源:百度知道 编辑:UC知道 时间:2024/07/06 14:47:13
诸位高人!其实大家也都知道我在干嘛。。。

比如说,我定位到00017000的地址,可是在 map里面映射最高就是到了00015000,然后就是从00019000开始往后,中间一段空着没有,

这个地址用c32asm反汇编工具打开发现是个输入表的位置,,,而且绝对没定位错误!

小弟不是vc专业的,想请教诸位高人,为什么文件地址不出现在map映射文件里呢?
是不是需要设置什么?

或者有什么其他方法定位到VC编写的exe 的源码位置吗?
感激不尽啊!

你那个是C32asm看的“绝对位置”吧
那是文件偏移地址。 要转换成内存地址需要用 LoadPE或者其它PE工具转换一下。就能得到你要的地址了。

你是不是把实际地址和虚拟地址搞乱了,EXE加载到内存后用的都是虚拟地址啊,用虚拟地址的好处很多啊,例如我在程序的堆里开了一个10M的数组,难道我的程序就要10M大吗?当然不用,有了虚拟地址,只需要记录下某段地址是分配给它就行了。你说的定位到VC编译的EXE源码位置,到底是啥意思,DEBUG状态的话是能看到源码的,不过编译后代码都在.text段里了(不是源码,是汇编码)。

你不会用vc调试写的代码吗