十六进制文件处理神器Hexview工具全解析

一、简介

1、概述

Hexview 是一个用来用于查看和处理各种格式源文件的小工具,可以用来处理如 hex、srec、bin、s19 等格式文件,HexView 不仅有 GUI 的 PC 界面,也可以通过命令行操作数据,通过命令行控制方式可以实现一般操作的常规选项,可以很方便的用来进行数据的转换操作,应用在工程完成编译之后进行的各种处理工作

2、文件格式

2.1 Bin 格式

  • 格式说明

Bin 文件是一种二进制文件格式,它以字节的形式存储二进制数据,每个字节都直接对应于机器语言指令或数据。

  • 特点

① 直接执行:bin 文件格式是计算机可以直接执行的,不需要其他中间件或软件的支持。

② 体积小:相对于其他可执行文件格式,bin文件体积较小,因为其不需要包含任何冗余信息。

  • 应用场景

Bin 文件通常用于存储程序的可执行代码、固件或其他二进制数据,并可以直接烧录到微控制器或其他芯片中执行。

2.2 Hex 格式

  • 格式说明

Hex 文件是 Intel 公司提出的按地址排列的数据信息格式,数据宽度为字节,数据使用 16 进制表示,并以 ASCII 码的形式按行记录数据。

  • 内容结构:

每一行以 ":" 开头,表示记录的开始。":"之后至少 2 个字符表示一组 16 进制数据

具体格式为:BBAAAATTHHHH....HHHCC。

BB:16进制,表示此行数据长度字节数。

AAAA:16进制,表示数据记录的地址。

TT:16进制,表示记录类型(如00代表数据记录,01代表文件结束等)。

HH...HH:16进制数据。

CC:16进制,校验码。

  • 应用场景

Hex 文件在芯片烧录和调试过程中非常方便,可以很容易地转换为二进制格式,同时可以通过十六进制形式阅读和调试程序。

2.3 S19 格式

  • 格式说明

S19 文件是一种十六进制文本文件格式,以记录的形式存储二进制数据,每个记录包含了地址、长度、校验和和数据。

  • 内容结构:

记录类型:数据记录类型,格式定义了8种类型(S0, S1, S2, S3, S5, S7, S8, S9)。

长度:address + data + checksum 长度,剩余字节长度

存储地址:数据应该装载的地址。

数据:内存载入数据或者描述信息的值。

校验和:字节累加和 S,保留最低有效字节,计算有效字节的补码 checksum =~(S & 0xFF)& 0xFF

应用场景

S19 文件通常用于将二进制数据传输到嵌入式系统中,例如烧录固件或配置Flash存储器。

2.4 格式数据大小比较

Bin、hex、s19 三种格式相同数据下,文件大大小比较

二、功能介绍

1、主要功能

  • 文件查看:

可以直接打开并解析 hex 文件或其他 srec 文件,显示文件的起始地址、大小以及具体内容。

  • 文件导出:

支持将当前打开的二进制文件选择范围后转化成其他格式,如 hex 转 s19、hex 转 bin 等。

  • 文件比较:

比较较大的 hex 文件更方便(如刷写文件),处理大文件更高效

  • 文件编辑:

除了常规的查看功能外,Hexview 还支持文件的编辑,如剪切(Cut)删除(Delete)填充数据(Fill block data)等操作。

  • 文件合并:

可以轻松地将两个文件进行合并(Merge),如果有地址变化,可以通过偏移量再进行合并。

  • 数据校验:

Hexview 还支持校验数据的功能,可以计算出校验码并插入到数据中。

  • 脚本处理:

Hexview 除了支持界面直接操作,还支持 bat 脚本的静默调用处理,输出需要的文件格式。

2、功能操作

2.1 导入查看功能

① 打开软件 .\HexView\hexview.exe

② File -> Import -> Import Binary Data (文件相应格式)

2.2 导出文件

① 打开待处理文件后

② File -> Export -> Export Intel-Hex (文件相应格式)

③ 如下是由 bin 文件转成 hex、s19 格式文件

④ 导出 C 语言数组形式源文件、头文件,这个选项可以将数据以 C 语言数组形式输出,可以配置数组大小以 8/16/32 位、大小端、加密输出(与指定数值异或操作)

⑤ 如下是由 bin 文件转成 C 语言数组形式源文件、头文件

 ⑥ 如果源文件是有多个 Block,输出的数据组的数量,将会对于 Blcok 的数量 

2.3 对比文件

Hexview 可以对比两源文件,并高亮标出差异,可以用来排查数据修改点

① 打开第一个文件

② File -> Compare(另一个文件)

2.4 剪切 & 删除

① Edit -> Cut/Delete

② 填入删除数据区域,可以填入两种格式,第一种是直接填入需要删除的地址到结束地址,第二种是填入要删除的开始地址以及要删除的长度

③ 成功删除前后对比

2.5 填充

① Edit -> Fill block data

② 填入填充数据、填入地址、填入长度等信息,填充的地址和长度,也是可以填入两种格式,填充的数据可以是随机的数据,也可以是指定的数据

③ 成功填充前后对比

2.6 合并

① 打开第一个文件

② File-> Merge

③ Merge 数据的偏移地址

④ Merge 数据来源文件的目录,合并两相同数据文件,将第二个文件合并至第一个文件偏移 0x40

⑤ 成功合并前后对比

2.7 校验

Hexview 支持常见的校验和算法,如哈希、CRC 算法等等

① Edit-> Create Checksum

② 校验和计算范围、检验和算法

③ 校验码插入文件放置地址

④ 成功插入校验和至数据中

三、参考资料

《ReferenceManual_HexView.pdf》

【Vector Knowledge search results】Knowledge Search - Knowledge Portal

【汽车电子 -- Bin、Hex、Srec、s19等文件的区别】汽车电子 -- Bin、Hex、Srec、s19等文件的区别_srec文件-CSDN博客

【hexview vector刷写文件脚本处理工具】hexview vector刷写文件脚本处理工具-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值