dongshi949737 2015-12-15 03:19
浏览 127
已采纳

使用其他语言的magic.mgc

I'm currently working on a project which involves reading file's magic files (without bindings). I'd like to know how it would be possible to read the file tests from the compiled binary magic.mgc directly, in another language (like Go), as I'm unsure of how its contents should be interpreted.

  • 写回答

1条回答 默认 最新

  • dongposhi8677 2015-12-15 20:11
    关注

    According to Christos Zoulas, main contributor of file:

    If you want to use them directly you need to understand the binary format (which changes over time) and load it in your own data structures. [...] The code that parses the file is in apprentice.c. See check_buffer() for the reader and apprentice_compile() for the writer. There is a 4 byte magic number, followed by a 4 byte version number followed by MAGIG_SET (2) number of 4 byte counts one for each set (ascii, binary) followed by an array of 'struct magic' entries, in native byte format.

    So that's the format one should expect! Nevertheless, it has to be parsed just like the raw files.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?