为什么十六进制转储中的偏移量比以前多 10?
Why are offsets in hex dump 10 more than previous?
我对这一切都是陌生的。我刚得到一个文件的十六进制转储,我很困惑。我想问一下为什么地址相差 10。偏移量后只有 8 个字节,但 00000000 之后的下一个偏移量是 00000010 而不是 00000008。
00000000 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 |.ELF............|
00000010 02 00 03 00 01 00 00 00 30 84 04 08 34 00 00 00 |........0...4...|
00000020 ec 22 00 00 00 00 00 00 34 00 20 00 08 00 28 00 |."......4. ...(.|
00、10 和 20 是十六进制的字节偏移量。所以“10”的偏移量是 16 个字节的偏移量。
xxd 个例子
您可以使用 xxd 的 -c
标志指定每行的字节数。使用 16 模拟默认行为:
$ printf "The quick brown fox jumps over the lazy dog" | xxd -c 16
00000000: 5468 6520 7175 6963 6b20 6272 6f77 6e20 The quick brown
00000010: 666f 7820 6a75 6d70 7320 6f76 6572 2074 fox jumps over t
00000020: 6865 206c 617a 7920 646f 67 he lazy dog
示例 12
使用偏移量 12 会导致增量为 12 字节(十六进制)。
$ printf "The quick brown fox jumps over the lazy dog" | xxd -c 12
00000000: 5468 6520 7175 6963 6b20 6272 The quick br
0000000c: 6f77 6e20 666f 7820 6a75 6d70 own fox jump
00000018: 7320 6f76 6572 2074 6865 206c s over the l
00000024: 617a 7920 646f 67 azy dog
转换偏移量,我们得到预期的结果:
0x0c = 12
0x18 = 24
0x24 = 36
我对这一切都是陌生的。我刚得到一个文件的十六进制转储,我很困惑。我想问一下为什么地址相差 10。偏移量后只有 8 个字节,但 00000000 之后的下一个偏移量是 00000010 而不是 00000008。
00000000 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 |.ELF............|
00000010 02 00 03 00 01 00 00 00 30 84 04 08 34 00 00 00 |........0...4...|
00000020 ec 22 00 00 00 00 00 00 34 00 20 00 08 00 28 00 |."......4. ...(.|
00、10 和 20 是十六进制的字节偏移量。所以“10”的偏移量是 16 个字节的偏移量。
xxd 个例子
您可以使用 xxd 的 -c
标志指定每行的字节数。使用 16 模拟默认行为:
$ printf "The quick brown fox jumps over the lazy dog" | xxd -c 16
00000000: 5468 6520 7175 6963 6b20 6272 6f77 6e20 The quick brown
00000010: 666f 7820 6a75 6d70 7320 6f76 6572 2074 fox jumps over t
00000020: 6865 206c 617a 7920 646f 67 he lazy dog
示例 12
使用偏移量 12 会导致增量为 12 字节(十六进制)。
$ printf "The quick brown fox jumps over the lazy dog" | xxd -c 12
00000000: 5468 6520 7175 6963 6b20 6272 The quick br
0000000c: 6f77 6e20 666f 7820 6a75 6d70 own fox jump
00000018: 7320 6f76 6572 2074 6865 206c s over the l
00000024: 617a 7920 646f 67 azy dog
转换偏移量,我们得到预期的结果:
0x0c = 12
0x18 = 24
0x24 = 36