PE(Portable Execute) 文件是Windows下可执行文件的总称,常见的有DLL,EXE,OCX,SYS等,事实上,一个文件是否是PE文件与其扩展名无关,PE文件可以是任 何扩展名。那Windows是怎么区分可执行文件和非可执行文件的呢?我们调用LoadLibrary传递了一个文件名,系统是如何判断这个文件是一个合 法的动态库呢?这就涉及到PE文件结构了。
PE文件的结构一般来说如下图所示:从起始位置开始依次是DOS头,NT头,节表以及具体的节。
DOS头:http://www.cnblogs.com/zheh/p/4013658.html
NT头:http://www.cnblogs.com/zheh/p/4013184.html
节表:http://www.cnblogs.com/zheh/p/4013787.html
节:http://www.cnblogs.com/zheh/p/4013785.html