当前位置: 首页 > news >正文

file命令libmagic、python的cchardet库使用、自定义magic文件的使用

生产多语言测试文件方法
file命令libmagic、python的cchardet库使用、自定义magic文件的使用

✅ 正确流程:使用自定义 magic 的标准做法

编写 sat.magic(纯规则) ↓file -C -m sat.magic   → 生成 magic.mgc(二进制数据库)↓
C 程序中 magic_load("magic.mgc")  → 成功加载↓
调用 magic_file() → 正确识别

✅ 第一步:创建正确的 sat.magic(仅规则,无扩展字段)

cd ~/satellite-analysis-asscii/smagic
nano sat.magic

✅ 内容(严格兼容 file -C):

# Satellite Telemetry Frame
0       belong      0xAA55CCDD
>8      string      \x01\x02\x03\x04
>8      string      SAT-TELEMETRY
# (Satellite Telemetry Packet)# GBK Chinese Text Detection
0       byte        > 0xA0
>&0     byte        < 0xFF
>1      byte        > 0xA0
>&1     byte        < 0xFF
# (Chinese GBK Text)

✅ 关键:

  • 不要写 name=, desc=, mime=
  • 注释用 # (Description) 格式
  • 使用英文或 ASCII

✅ 第二步:编译生成 magic.mgc

file -C -m sat.magic

✅ 正确输出:

Creating magic.mgc from sat.magic

👉 生成了 magic.mgc,这是 唯一能被 magic_load() 正确加载的文件


✅ 第三步:修改你的 C 程序,加载 magic.mgc

你的 a.out 是从某个 .c 文件编译来的,假设是 detect_

http://www.lryc.cn/news/608151.html

相关文章:

  • 【Spring Boot 快速入门】五、文件上传
  • Python 入门指南:从零基础到环境搭建
  • Qt 信号和槽正常连接返回true,但发送信号后槽函数无响应问题【已解决】
  • AI原生数据库:告别SQL的新时代来了?
  • 飞书推送工具-自动化测试发送测试报告一种方式
  • Linux 动静态库的制作和使用
  • [硬件电路-121]:模拟电路 - 信号处理电路 - 模拟电路中常见的难题
  • FastAPI--一个快速的 Python Web
  • 网络安全突发事件应急预案方案
  • 2024年网络安全预防
  • 电脑手机热点方式通信(上)
  • 智能手表:小恐龙游戏
  • Linux自主实现shell
  • C#开发入门指南_学习笔记
  • Ubuntu系统VScode实现opencv(c++)图像翻转和旋转
  • Java 注解详解(含底层原理)
  • Vue 3.0 Composition API:重新定义组件逻辑的组织方式
  • 算法训练营DAY46 第九章 动态规划part13
  • 全球化 2.0 | 中国香港教育机构通过云轴科技ZStack实现VMware替代
  • stm32103如果不用32k晶振,那引脚是悬空还是接地
  • SLAM中的非线性优化-2D图优化之零空间实战(十六)
  • Linux iptables防火墙操作
  • Apache Doris数据库——大数据技术
  • SpringBoot怎么查看服务端的日志
  • 【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 微博舆情数据可视化分析-热词情感趋势树形图
  • sqli-labs:Less-21关卡详细解析
  • 【BTC】挖矿难度调整
  • 人类学家与建筑师:区分UX研究和项目管理的需求分析
  • 隧道照明“隐形革命”:智能控制如何破解安全与节能双重命题
  • 【iOS】strong和copy工作流程探寻、OC属性关键字复习