一. 查看
1. xxd - hexdump
well@well:~$xxd a.out
0000000: 7f45 4c46 0201 0100 0000 0000 0000 0000 .ELF............
0000010: 0200 3e00 0100 0000 1004 4000 0000 0000 ..>.......@.....
0000020: 4000 0000 0000 0000 8815 0000 0000 0000 @...............
0000030: 0000 0000 4000 3800 0900 4000 2400 2100 ....@.8...@.$.!.
0000040: 0600 0000 0500 0000 4000 0000 0000 0000 ........@.......
0000050: 4000 4000 0000 0000 4000 4000 0000 0000 @.@.....@.@.....
0000060: f801 0000 0000 0000 f801 0000 0000 0000 ................
0000070: 0800 0000 0000 0000 0300 0000 0400 0000 ................
可以看到,Linux 下的可执行文件,以 7F 开头,后跟 ELF。ELF 原意为 Extensible Linker Format,现在表示 Executable and Linking Format。
2. hexdump
二. 编辑
1. vim
well@well:~$vim -b a.out
文件里的很多字符都是不可显示的。用 Hex 格式来显示它们的值 :set display=uhex
另外,使用 :%!xxd 可以转换成与 xxd 一样的输出格式。