首页
社区
课程
招聘
[求助]疑惑:对于PE文件的IMAGE_DOS_HEADER, 它里面都是原来的Dos程序的一些信息,那么现在为什么不把它重新修正,以适应新的windows程序啊?
发表于: 2009-4-13 08:36 4630

[求助]疑惑:对于PE文件的IMAGE_DOS_HEADER, 它里面都是原来的Dos程序的一些信息,那么现在为什么不把它重新修正,以适应新的windows程序啊?

2009-4-13 08:36
4630
typedef struct _IMAGE_DOS_HEADER {      // DOS .EXE header
    WORD   e_magic;                     // Magic number
    WORD   e_cblp;                      // Bytes on last page of file
    WORD   e_cp;                        // Pages in file
    WORD   e_crlc;                      // Relocations
    WORD   e_cparhdr;                   // Size of header in paragraphs
    WORD   e_minalloc;                  // Minimum extra paragraphs needed
    WORD   e_maxalloc;                  // Maximum extra paragraphs needed
    WORD   e_ss;                        // Initial (relative) SS value
    WORD   e_sp;                        // Initial SP value
    WORD   e_csum;                      // Checksum
    WORD   e_ip;                        // Initial IP value
    WORD   e_cs;                        // Initial (relative) CS value
    WORD   e_lfarlc;                    // File address of relocation table
    WORD   e_ovno;                      // Overlay number
    WORD   e_res[4];                    // Reserved words
    WORD   e_oemid;                     // OEM identifier (for e_oeminfo)
    WORD   e_oeminfo;                   // OEM information; e_oemid specific
    WORD   e_res2[10];                  // Reserved words
    LONG   e_lfanew;                    // File address of new exe header
  } IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER;

这个里面有用的,只有最后一个分量e_lfanew //File address of new exe header
我觉得其它的都可以去掉啊,这样都保存着,是多么的冗余啊!!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
2
PE格式之初,微软想要让一个以EXE为扩展名的文件在DOS下和在WINDOWS下都是一个合法的可执行程序。否则,一个DOS用户,看到一个EXE文件,结果敲入命令,提示一个"bad command or file name",他会迷惑的。

并且,微软早期的一些产品,比如office,用同一个EXE文件,在DOS下和在WINDOWS下都可以用。
2009-4-13 12:57
0
游客
登录 | 注册 方可回帖
返回
//