You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义magic文件负偏移配置问题:无法识别尾部魔数的企业格式

解决自定义file magic规则匹配文件尾部魔数的问题

问题根源分析

你遇到的核心问题是偏移值错误:-0在file的magic规则解析中会被等价为0(指向文件开头),而非你预期的文件末尾。这就导致规则实际在匹配文件第一个字节而非最后一个,自然无法命中目标文件。

修正方案

将规则中的偏移值从-0改为-1,因为file的负数偏移是从文件末尾反向计数:-1对应最后一个字节,-2对应倒数第二个,以此类推。修正后的完整规则如下:

-1  byte    0xA2    company format
!:mime application/custom

验证步骤

  1. 测试规则有效性:
    执行命令重新测试:

    file -m <你的magic文件路径> <目标企业文件路径>
    

    此时末尾字节为0xA2的文件应该会被正确识别为company format。

  2. 检查规则编译结果:
    用-c参数验证规则解析是否正确:

    file -m <你的magic文件路径> -c
    

    输出中应该会显示偏移为-1(或对应文件长度的正向偏移值),不再出现缺失负号的异常。

关于-k -l显示匹配的说明

-k参数会强制file输出所有可能的匹配结果,即使存在优先级更高的内置规则或错误规则的部分匹配;而默认模式下file只会返回最匹配的结果。之前你看到的"有效匹配"其实是规则被错误解析后的无效匹配,并非真正命中了文件尾部的魔数。

内容的提问来源于stack exchange,提问作者Gleydar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 19:22:41