
|
[综合] 如何判断exe及dll是合法的可执行程序,及其是32位还是64位?
http://blog.csdn.net/sptoor/article/details/8952971
如何判断可执行程序exe及动态链接库dll是合法的可执行程序,及其是32位还是64位?
WINDOWS:在在Visual Studio 2010 命令提示符提示下,输入:
dumpbin /headers E:\Uploads\1.exe
可以看到如下的文字:
FILE HEADER VALUES
8664 machine (x64)
便证明你的程序是64位的,或者x86就是32位的。注意:E:\Uploads\1.exe 是exe文件路径。可以自己修改,1.exe可以换成1.dll。
dumpbin /EXPORTS E:\Uploads\1.dll
如果可以正常导出dll的接口,那么就说明你的dll是合法的,可执行的。反之,则是不合法的pe文件。注意:E:\Uploads\1.exe 是exe文件路径。可以自己修改,1.exe可以换成1.dll。
Linux:
这个就简单的了,直接用file YOUR_FILE就可以了:
isql: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.0, stripped
如果输出ELF及LSB字样的信息,则说明是可执行文件,64还是32上面都已经写了。
如果是可执行,但是你不能执行,那么看看权限吧。
****************************************************************
32位DLL文件和64位DLL文件分别该放在哪个目录下的最终权威说明
DLL文件分32位和64位。需要32位还是64位的DLL文件,根据调用它的EXE是32位的还是64位的来决定,与系统是32位或者64位无关。
在64位系统下运行32位的exe,请把需调用的32位dll文件放到 syswow64文件夹;运行64位的exe,请把需调用的64位dll文件放到system32文件夹。
在32位系统下运行32位的exe,请把需调用的32位dll文件放到 system32文件夹;无法在32位系统下运行64位exe。
|
EQ中文世纪地图集地址:
www.ceqmap.com |
|