因为dll跟exe文件都是pe文件格式,它们之间应该有某种互通性,使互相转换成为可能.从:
typedef struct _IMAGE_FILE_HEADER {
     WORD    Machine;    //0x04
     WORD    NumberOfSections;  //0x06
     DWORD   TimeDateStamp;   //0x08
     DWORD   PointerToSymbolTable;  //0x0c
     DWORD   NumberOfSymbols;  //0x10
     WORD    SizeOfOptionalHeader;  //0x14
     WORD    Characteristics;  //0x16
} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;
结构中的WORD    Characteristics标识本文件是属于dll还是exe,我试过单单改这个值,好象并不能把dll转换成exe,有没有高手研究过这个问题?

解决方案 »

  1.   

    DLL程序貌似没有入口吧?改过来有什么用呢?
      

  2.   

    DLL与EXE的一都区别:DLL程序是有入口点的!
       只是DLL一般用于更多的函数库而更少的消息循环,而EXE则反之;DLL可以被更多的进程共享,而EXE不是这样,这是最大的区别!
      所以结构就应该不同了................
      

  3.   

    目的是什麼?偶可以將DLL封進PAS裡面調用...
      

  4.   

    DLL改为EXE有什么意义?不是不能改如果DLL中有你要的功能,需要对DLL动大手术如:把DLL的某个函数在DLL入口函数中进行调用,然后退出---------------------------------------------
    第八个男人欢迎你
    http://www.debugman.com