专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 汇编语言

为什么VS2010创建的C++应用程序dumpbin数据段后看不到数据?该怎么解决

发布时间:2010-06-14 15:51:41 文章来源:www.iduyao.cn 采编人员:星星草
为什么VS2010创建的C++应用程序dumpbin数据段后看不到数据?
最近在学习反汇编,用了一个很小的例子:
C/C++ code
#include <iostream>
using namespace std;
#define pwd "mypassword"

void main()
{
    char userPwd[100];
    cout<<"crackme1"<<endl<<"enter password:";
    cin>>userPwd;
    if(strcmp(pwd,userPwd))
        cout<<"wrong password\n";
    else
        cout<<"password OK!\n";
}

用VS2010命令行工具输入:dumpbin /SECTION:.data /RAWDATA test.exe >.data
生成的.data文件中没有代码里写的数据,用VC++6.0生成的程序却可以看到!
而且用VS2010生成的程序.data文件是4KB,而VC6的有80KB!
请高手解惑!

------解决方案--------------------
和编译设置有关,你在VC6里和VC10一样动态链接多线程版的CRT的话,这些字符串也在rdata里面。
VC6默认连的是单线程版的CRT,这个在VC2005里面去掉了。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: