2015-04-01 2 views
0

Je veux vérifier si un objet a été compilé en 32 bits ou 64 bits:Déterminer si compilé objet ELF est de 32 bits ou 64 bits

% readelf -h my_obj 
ELF Header: 
    Magic: 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00 
    Class:        ELF32 
    Data:        2's complement, big endian 
    Version:       1 (current) 
    OS/ABI:       UNIX - System V 
    ABI Version:      0 
    Type:        EXEC (Executable file) 
    ... 

Depuis ELF32 affiché, est-ce garantie l'objet est en mode 32 bits?

+3

La commande GNU 'file' vous indiquera l'architecture et les bits. – teppic

Répondre

1

Les binaires de graisse ne sont pas communs ou standard pour ELF, donc la classe indique de manière fiable 32 vs 64 bits. Mais pour savoir si vous êtes en train de regarder un 32 bits x86, ARM, MIPS ou autre, vous devez également inspecter le champ Machine juste en dessous du champ Type.