如何判断一个windows程序是32位还是64位?
使用一个支持16进制的编辑器(推荐Sublime + HexViewer)打开程序文件,在标准的文件头(This program cannot be run in DOS mode...)之后,你会看到:
"PE..L" (hex code: 504500004C) = 32 bit
或者"PE..d†" (hex code: 504500006486) = 64 bit
比如:
00000000: 4d5a 9000 0300 0000 0400 0000 ffff 0000 b800 0000 0000 0000 :MZ......................
00000018: 4000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 :@.......................
00000030: 0000 0000 0000 0000 0000 0000 e800 0000 0e1f ba0e 00b4 09cd :........................
00000048: 21b8 014c cd21 5468 6973 2070 726f 6772 616d 2063 616e 6e6f :!..L.!This program canno
00000060: 7420 6265 2072 756e 2069 6e20 444f 5320 6d6f 6465 2e0d 0d0a :t be run in DOS mode....
00000078: 2400 0000 0000 0000 5d27 9225 1946 fc76 1946 fc76 1946 fc76 :$.......]'.%.F.v.F.v.F.v
00000090: 02db 6076 1b46 fc76 02db 6276 1b46 fc76 02db 5676 0946 fc76 :..`v.F.v..bv.F.v..Vv.F.v
000000a8: 103e 6f76 1246 fc76 1946 fd76 8b46 fc76 02db 5776 1346 fc76 :.>ov.F.v.F.v.F.v..Wv.F.v
000000c0: 02db 6676 1846 fc76 02db 6176 1846 fc76 5269 6368 1946 fc76 :..fv.F.v..av.F.vRich.F.v
000000d8: 0000 0000 0000 0000 0000 0000 0000 0000 5045 0000 6486 0700 :................PE..d...
00000000: 4d5a 9000 0300 0000 0400 0000 ffff 0000 b800 0000 0000 0000 :MZ......................
00000018: 4000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 :@.......................
00000030: 0000 0000 0000 0000 0000 0000 f800 0000 0e1f ba0e 00b4 09cd :........................
00000048: 21b8 014c cd21 5468 6973 2070 726f 6772 616d 2063 616e 6e6f :!..L.!This program canno
00000060: 7420 6265 2072 756e 2069 6e20 444f 5320 6d6f 6465 2e0d 0d0a :t be run in DOS mode....
00000078: 2400 0000 0000 0000 bc77 da8a f816 b4d9 f816 b4d9 f816 b4d9 :$........w..............
00000090: e38b 28d9 fa16 b4d9 e38b 2ad9 f916 b4d9 e38b 1ed9 ea16 b4d9 :..(.......*.............
000000a8: 3b19 e9d9 fa16 b4d9 f16e 27d9 f116 b4d9 f816 b5d9 6c16 b4d9 :;........n'.........l...
000000c0: e38b 1fd9 f216 b4d9 e38b 2ed9 f916 b4d9 e38b 29d9 f916 b4d9 :..................).....
000000d8: 5269 6368 f816 b4d9 0000 0000 0000 0000 0000 0000 0000 0000 :Rich....................
000000f0: 0000 0000 0000 0000 5045 0000 4c01 0700 e239 a457 0000 0000 :........PE..L....9.W....