我正在一个项目中,我有一些.bin格式的文件。让我们将它们称为file_0.bin至file_1300.bin。如何提取内部内容,甚至开始知道内容是什么?
例如?我如何确定说file_98.bin是文本文件,说file_500.txt是.wav文件。确定了每种文件的合适文件类型之后,如何将其转换为合适的文件类型?
最后,我也想问1 .bin文件是否等于1 .txt文件。还是可以将一个大的.txt文件分解为多个.bin文件?
没有一些示例,将有点通用。
您可以使用file命令来识别文件:
file file_98.bin
file_98.bin: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, stereo 44100 Hz
file file_500.txt
file_500.txt: ASCII text, with very long lines
或:
file -bi file_98.bin
audio/x-wav; charset=binary
file -bi file_500.txt
text/plain; charset=us-ascii
您可以编写一个小的bash脚本来根据文件的类型对所有文件进行排序,并且file *
将对目录中的所有文件执行此操作。
最后,您可以安装binwalk
实用程序。例如,binwalk -e file_98.bin
会将所有识别的内容提取到名为_file_98.bin.extracted
理想情况下,您可能希望识别所有唯一文件类型,也许对它们进行排序并相应地创建目录结构,并提取每个文件的所有详细信息。您也可以根据文件的正确扩展名重命名文件,以确保文件整洁。
通常为.bin files are non-text files。如果仅面对重命名的已知文件格式,则上述提取将起作用,对于相对未知的平面二进制文件,您可能需要先了解要查找的内容。
您也可以看一下magic bytes。