解码十六进制数据

逆向工程 解密 十六进制
2021-06-27 18:33:30

我正在尝试解码.PLW温度记录器 ( PicoLog PT-104 )获取的数据

如果您通过官方软件.PLW文件转换为文件,.txt您会得到如下内容:

在此处输入图片说明

其中每一行在设备可用的 20 个通道上都有单个温度测量值。我想直接从.PLW, 文件中提取数据,而不必.txt先将其转换为

通过.PLW在十六进制编辑器中打开文件,我设法通过对似乎包含原始数据测量的部分进行了一些调整来隔离:

十六进制转储

前 4 个十六进制包含行索引。并且应该以相反的列顺序阅读03 02 01 00

然后有 20 组 4 列,每个通道一组。假设所有组都应该从右到左读取(考虑到索引列的情况),它们似乎都以0x41可能是制表符(或类似字符)的某种编码开始

每个块中的下一个十六进制(所以在 之前的那个0x41)似乎至少映射到该通道中读取的温度的某种近似方式:

  • 十六进制 -> 温度
  • 0x50 -> 13
  • 0xa0, 0xa1, 0xa2, 0xa3 -> 20
  • 0xa4, 0xa5, 0xaa, 0xab -> 21
  • 0xac, 0xae, 0xb0 -> 22

并且通道的顺序似乎也与.txt文件中的列的顺序相匹配:例如,.txt文件中的通道 8 在13-->处有一个异常值温度,它也出现在.PLW文件的第 8 个数据列中,其中温度十六进制设置为0x50

有没有人能够破解每个块中的十六进制值与.txt文件中显示的最终温度测量值之间的映射

或者有没有人知道0x41对应于制表符的编码谢谢!

1个回答

数据是浮点编码的 32 位 Little_endian
字节 0 到3:00 00 00 00 = 0 通道号
字节 4 到 7:1f 85 a3 41 = 0x41a3851f = 20.4400005341
等等.. https: //www.h-schmidt
/FloatConverter/IEEE754.html