Linux 字符串命令基数偏移量未与dd/xxd文件偏移量对齐
我使用此命令生成字符串文件:Linux 字符串命令基数偏移量未与dd/xxd文件偏移量对齐,linux,bash,command-line,Linux,Bash,Command Line,我使用此命令生成字符串文件: strings -a -t d image.dd 这应该在每行之前以十进制显示基数偏移量。然后我用grep搜索文件中有趣的搜索结果。然后,我想在hex视图中查看每个搜索命中的特定偏移量,这是我使用dd命令完成的(感兴趣的偏移量是32203): 我试着在这个偏移量的直接上下文中查找,但没有结果——它不包含相同的数据。我搜索了通过管道传输到xxd输出的dd,并在偏移量\x7e00处找到了相同的数据(十进制32256-与基数偏移量相同,仅在相关行中再深入53个字节),然
strings -a -t d image.dd
这应该在每行之前以十进制显示基数偏移量。然后我用grep搜索文件中有趣的搜索结果。然后,我想在hex视图中查看每个搜索命中的特定偏移量,这是我使用dd命令完成的(感兴趣的偏移量是32203):
我试着在这个偏移量的直接上下文中查找,但没有结果——它不包含相同的数据。我搜索了通过管道传输到xxd输出的dd,并在偏移量\x7e00处找到了相同的数据(十进制32256-与基数偏移量相同,仅在相关行中再深入53个字节),然而,当我返回到通过xxd管道传输的dd中查看时,即使是这些数据也似乎没有对齐。为什么会有差异?如何将字符串的基数十进制偏移量与dd映像中的字节偏移量相匹配?xxd是罪魁祸首吗
对于那些想知道为什么我不通过xxd搜索dd输出的人,我需要偏移量的实际原因是将分配块内容传递给另一个程序,这只是一个说明偏移量没有对齐的概念。您的问题在于
dd
skip=
参数<代码>跳过=32203文件的块(默认块大小为512)。您可以指定ibs=1
来设置默认输入块大小。strings
命令是否实际为您生成文件?我的印象是字符串使用现有文件。。。但可能是*NIX差异?@summea是的,我确实将字符串输出到一个文件中,但偏移量仍应绑定到原始dd图像文件。请注意,count
也在输入块中。
dd if=image.dd skip=32203 count=1 | xxd