Grep:如何将正确的参数传递给二进制文件的grep

时间:2019-07-10 03:22:27

标签: grep

我需要grep为我搜索大约10mb的二进制文件。我可以通过以下命令使用searchbin.py(一个grep'alternative')获得我想要的结果: 'searchbin.py -p“ 38 04 00” test.dump“

这将搜索“ 38 04 00”并返回结果及其偏移量。

我希望能够使用grep做到这一点而不必使用任何管道,而且我尝试了无数次参数,但均未成功。任何进一步的尝试都将是反复试验,但是我相信这里有人可以帮助我。

谢谢。

使用searchbin.py输入示例:

searchbin.py -p "FF 85 00" test.dump

输出:

Match at offset:        7448324       71A704 in  test.dump
Match at offset:        7448328       71A708 in  test.dump
Match at offset:        7448332       71A70C in  test.dump
Match at offset:        7448336       71A710 in  test.dump
Match at offset:        7448340       71A714 in  test.dump
Match at offset:        7448344       71A718 in  test.dump
Match at offset:        7448348       71A71C in  test.dump
Match at offset:        7448352       71A720 in  test.dump
Match at offset:        7448356       71A724 in  test.dump
Match at offset:        7452364       71B6CC in  test.dump

我希望它与grep一起使用。

1 个答案:

答案 0 :(得分:0)

此答案基于以下假设:您要引用的bin文件类似于普通的“ a.out”类型的文件,并且您仅希望获取偏移量。如果我错了,请随时纠正我,我将相应地更新答案。

在Linux中,我们有 xxd 命令,可用于获取bin文件的转储或十六进制转储。

xxd -b a.out > binFile

以上命令将bin文件的内容复制到binFile。然后,您可以grep文件以获取所需的模式。示例:

grep -e "00100111"

这将导致:

grep result

还可以查看 objdump 命令以进行更详细的目标文件分析。

希望这会有所帮助。