搜索、谷歌搜索,我找不到任何有关file
.
例如,*.mp4 文件被识别为“ISO Media”(同时能够正常使用 VLC 播放)。这并不是 100% 清楚,它让我怀疑这是一个正确的检测还是该文件与 ISO 映像混淆了。 (要么是因为样本以某种方式损坏,要么只是该算法并非对所有类型都 100% 准确。)
我的问题是我需要设置一些根据文件类型进行切换的规则。我已经创建了一个示例文件集,但我无法收集足够的所有类型的样本,我需要由我的代码识别这些样本。真实的场景可能会非常巨大。
如果我能阅读一些评论来用作那些不太明显的类型的参考,对我来说就足够了。但令我惊讶的是,我找不到任何有用的信息。我的大部分搜索都以魔法文件格式规范结束,这对我来说并没有真正的帮助。我对......感兴趣这与 Debian 一起分发的 magic 文件。
答案1
类型检测信息实际上并未嵌入到文件程序中,文件程序只是读取魔术文件,然后搜索该文件中的签名以查看匹配的内容。
该魔术文件既作为编译版本 存在,magic.mgc
又作为人类可读的原始源代码存在,称为magic
。在我的基于 Fedora 的系统上,可以在以下位置找到这些内容:
/usr/share/misc/magic
/usr/share/misc/magic.mgc
有关文件格式的更多信息可以在magic(5)
手册页中找到。
答案2
嗯,我不知道文件命令的源代码是否是人类可读的。
但如果你想知道为什么你的 mp4 被识别为 iso,我会开始阅读源代码。