0

有没有办法通过十六进制编辑器或其他方式查看二进制文件中的数据是否对齐或打包,特别是对于 HPUX 系统?

4

1 回答 1

1

如果您知道要查找的内容并且可以在十六进制转储中识别它,那么您可以对数据是否对齐或打包做出明智的估计。但在很多方面,你的问题是无法回答的。数据从何而来?为什么你不能问这个人(大概是驱动程序)它是如何创建的?

如果您问“我可以使用哪些工具来查看数据”,那么您可以考虑:

  • od(八进制转储 - 也可能带有 -c 选项)
  • hd(十六进制转储 - 并不总是可用,并且在 HP-UX 上似乎不存在)
  • sed l (这是一个小写的 ell - 这意味着列出数据;除非大部分数据是纯文本,否则这不是一个好的选择)

或者你可以用 Perl 来做。很久以前(1987 年左右),我写了一个程序 odx(十六进制的八进制转储 - 很奇怪),我继续使用它 - 它给了我一个十六进制转储,每行 16 个字节,加上可打印字符的图像. 这个例子不是很令人兴奋(odx 自己运行 - 在 Sun Sparc 上):

Black JL: odx odx | sed 10q
0x0000: 7F 45 4C 46 01 02 01 00 00 00 00 00 00 00 00 00   .ELF............
0x0010: 00 02 00 12 00 00 00 01 00 01 0D 84 00 00 00 34   ...............4
0x0020: 00 00 77 9C 00 00 01 00 00 34 00 20 00 05 00 28   ..w......4. ...(
0x0030: 00 24 00 23 00 00 00 06 00 00 00 34 00 01 00 34   .$.#.......4...4
0x0040: 00 00 00 00 00 00 00 A0 00 00 00 A0 00 00 00 05   ................
0x0050: 00 00 00 00 00 00 00 03 00 00 00 D4 00 00 00 00   ................
0x0060: 00 00 00 00 00 00 00 11 00 00 00 00 00 00 00 04   ................
0x0070: 00 00 00 00 00 00 00 01 00 00 00 00 00 01 00 00   ................
0x0080: 00 00 00 00 00 00 22 86 00 00 22 86 00 00 00 05   ......"...".....
0x0090: 00 01 00 00 00 00 00 01 00 00 22 88 00 02 22 88   .........."...".
Black JL:
于 2008-10-11T04:11:26.650 回答