• 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'

相关文章:

  • 2021-05-21
  • 2022-12-23
  • 2021-10-17
  • 2021-10-08
  • 2022-02-11
  • 2022-03-08
  • 2021-09-30
猜你喜欢
  • 2021-12-21
  • 2021-06-08
  • 2022-01-01
  • 2022-12-23
  • 2021-05-31
相关资源
相似解决方案