什么pe是64位的
随着计算机软件和硬件的不断升级,64位处理器开始普及,64位操作系统也变得越来越普遍。因此,我们需要知道如何判断一个PE文件是32位还是64位的。
1、PE文件头
PE文件头是判断一个PE文件是32位还是64位的最直接的方法。通过查看PE文件头中的文件类型字段(Machine),可以确定PE文件是64位还是32位。如果该字段的值为0x8664,则表示该PE文件是64位的,如果该字段的值为0x14C,则表示该PE文件是32位的。
此外,还有一种文件类型字段(Magic)的值为0x20B,表示该PE文件是32位,并且需要能够运行在64位的操作系统上。
2、导入表
导入表是PE文件中存储导入函数的重要部分。在32位的PE文件中,导入表中存储的是32位的导入函数地址。而在64位的PE文件中,导入表中存储的是64位的导入函数地址。
因此,我们可以通过查看导入表,来判断一个PE文件是32位还是64位的。如果导入表中存储的是64位的导入函数地址,则该PE文件是64位的。反之,如果导入表中存储的是32位的导入函数地址,则该PE文件是32位的。
3、PE文件大小
PE文件的大小也是判断一个PE文件是32位还是64位的方法之一。64位的PE文件会比32位的PE文件大,这是因为64位的指针和数据类型都要比32位的大。因此,如果一个PE文件的大小大于等于1MB,并且导入的DLL中包含64位的版本,则该PE文件很可能是64位的。
4、查看字符串
我们还可以通过查看PE文件中的字符串内容来判断它是32位还是64位的。在32位的PE文件中,使用32位的API函数,调用WinExec等函数时,参数使用的是32位的字符指针。而在64位的PE文件中,使用的是64位的字符指针。
因此,我们可以在PE文件中搜索一些经常出现的API函数,看是否存在32位或者64位的字符指针。如果该PE文件中只包含32位的字符指针,则该PE文件是32位的。反之,如果该PE文件中存在64位的字符指针,则该PE文件是64位的。
转载请注明出处安可林文章网 » 什么pe是64位的 64位PE有哪些?