Useful bits for /etc/magic: #------------------------------------------------------------------------------ # Linux 8086 executable 0 lelong&0xFF0000FF 0xC30000E9 Linux-8086 executable, headerless >5 string . >>4 string >\0 \b, libc version %s 0 lelong&0xFF00FFFF 0x04000301 Linux-8086 executable >2 byte&0x01 !0 \b, unmapped zero page >2 byte&0x20 0 \b, impure >2 byte&0x20 !0 >>2 byte&0x10 !0 \b, A_EXEC >2 byte&0x02 !0 \b, A_PAL >2 byte&0x04 !0 \b, A_NSYM >2 byte&0x08 !0 \b, A_STAND >2 byte&0x40 !0 \b, A_PURE >2 byte&0x80 !0 \b, A_TOVLY >28 long !0 \b, not stripped >37 string . >>36 string >\0 \b, libc version %s # Other ld86 executable formats ... 0 lelong 0x10200301 Minix-386 executable >28 long !0 not stripped 0 lelong 0x10100301 Minix-386 impure executable >28 long !0 not stripped 0 lelong&0xFF00FFFF 0x10000301 ld86 I80386 executable >28 long !0 not stripped # Never seen formats. # 0 belong&0xFFFF00FF 0x0103000B ld86 M68K executable # 0 belong&0xFFFF00FF 0x0103000C ld86 NS16K executable # 0 belong&0xFFFF00FF 0x01030017 ld86 SPARC executable # AS86/LD86 object files. # There is _no_ difference between 16 and 32 bit .o files that file can see. 0 string \243\206\001\0 Linux-8086 object file