在 Identifying Files( nullprogram 商业网/blog/2010/05/20/) 这篇文章中,Chris Wellons 提到了他是怎么来识别一个文件的格式的,除了 file( packages.debian 组织网/sid/file), ent( fourmilab ch/random/), hexdump( code.google /p/hexdump/), strings( en.wikipedia 组织网/wiki/Strings_(Unix)) 这些常用的工具外,他还提到一个很有趣的工具: 他自己写的 PNG Archiver( github /skeeto/pngarch),这个工具的本意是想把文件变成图片方便传播,但却意外地发现可以用来发现文件的结构。
比如,下面这种图就是 /bin/ls 转成图片后的结果,可以很容易看到 ELF 文件被分成了三部分:

word 文档的图像是这样的:

Emacs 字节码文件的图片是这样的:

果然是一图胜千言啊~

