64 비트 또는 32 비트인지 감지하는 방법 내가 가지고있는 순간에 32 비트 또는 64 비트주어진 PE 파일 (EXE 또는 DLL이) 나는 주어진 .DLL 또는 .exe 파일이 있는지 여부를 감지 할 필요가
유일한 해결책 : 지정된 파일에서 PE 헤더를 읽고 거기에서 '기계'필드를 가져옵니다.
:이 필드는 20 값까지 걸릴 수 있습니다
(사양 섹션에서 Microsoft Portable Executable and Common Object File Format Specification (.DOCX 파일) ". 3.3 COFF는 헤더 (객체 및 이미지) 파일"). 그 중 세 가지가 있습니다 :
IMAGE_FILE_MACHINE_I386 (== 32bit)
IMAGE_FILE_MACHINE_IA64 (== 64bit)
IMAGE_FILE_MACHINE_AMD64 (== 64bit)
내 질문 :
1) '기계'매핑을 비트 수하는 올바른 아니면 내가 뭔가를 그리워 했습니까? 다른주의 사항이 있습니까?
2) 32/64 비트 니스를 감지하는 쉬운 방법이 있습니까 (PE 형식의 일부 특정 필드가 특별한 시스템 기능을 알지 못했을 수 있습니다)?
dup : http://stackoverflow.com/questions/971689/win32-api-to-tell-whether-a-given-binary-exe-or-dll-is-x86-x64-or-ia64/971715 # 971715 –
다른 질문은 아키텍처에 대해 묻고 있는데,이 중 하나는 단어 크기를 묻는 것입니다. – Draemon
문서는 2017 년 현재 v8에서 v11로 업데이트됩니다. http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx –