字符串命令基数偏移量不与dd/xxd文件偏移量对齐



我使用这个命令生成一个字符串文件:

strings -a -t d image.dd

这将在每行之前以十进制形式显示基数偏移量。然后,我对文件进行搜索,寻找有趣的搜索结果。然后,我想在十六进制视图中查看每个搜索命中的特定偏移量,这是通过使用dd命令(感兴趣的偏移量是32203)完成的:

dd if=image.dd skip=32203 count=1 | xxd

我试着在这个偏移量的直接上下文中查找,但无济于事-它不包含相同的数据。我搜索了dd管道到xxd的输出,并在偏移量x7e00处找到了相同的数据(十进制32256 -与基数偏移量相同,仅在相关行中再进53个字节),然而,当我回到dd管道通过xxd查看它时,即使这似乎也没有排队。为什么存在差异?如何将字符串的基数十进制偏移量与dd图像中的字节偏移量相匹配?xxd是罪魁祸首吗?

对于那些想知道为什么我不只是通过xxd搜索dd输出的人,我需要偏移量的实际原因是将分配块内容传递给另一个程序,这只是一个概念,说明偏移量没有排队。

您的问题是dd skip=参数。skip=32203块,默认大小为512。

可以通过指定ibs=1来设置默认的输入块大小。

最新更新