java 文件编译为 .class 字节码(byte code),字节码文件的前 4 位为魔数(起到标识说明作用),magicNumber = 0xCAFEBABE;
1. 可执行文件
几乎所有的可执行文件格式最开始的几个字节都是魔数:
a.out:最开始的两个字节为 0x01,0x07;
PE/COEF 文件最开始的两个字节为:0x4d, 0x5a,即 ASCII 码 MZ
>> chr(0x4d)
'M'
>> chr(0x5a)
'Z'
ELF 文件的头四个字节:0x7F,0x45,0x4C,0x46
第一个字节为 DEL 控制符,后三个字节则为 ELF 三个字母的 ASCII 码;
>> chr(0x7f)
'x7f'
>> chr(0x45)
'E'
>> chr(0x4c)
'L'
>> chr(0x46)
'F'
最新评论