Linux命令在二进制或非ASCII文件中查找string

是否有任何Linux命令从可执行文件或其他二进制文件中提取所有ASCIIstring? 我想我可以用grep来做,但是我记得在某个地方听到这样的命令存在吗?

    您正在查找的命令是strings

    它的名字是不言而喻的,它从给定的文件中检索任何可打印的string。

    man strings给出:

    STRINGS(1)

    名称
    string – 在对象或其他二进制文件中查找可打印的string

    概要
    strings [ - ] [ -a ] [ -o ] [ -t format ] [ -number ] [ -n number ] [--] [file ...]

    string命令是解决这类特定问题的方法。 有时候你也必须把它输出到grep

    例如:

     strings somebinaryfile | grep textuwanttofind 

    该命令确实存在,被称为….string!

    od命令可以做到这一点:

     od -c *filename* 

    使用string的一个问题是你没有看到周围的非printables,你必须小心最小的string长度。

    使用问题

      od -c文件 

    要么

      hexdump -C文件 

    是一个序列可能很难find,如果它包装一条线。

    我喜欢的东西很多,就是ZTreeWin在WINE上运行 – 你可以用它做很多事情,但是在任何文件或者编辑二进制文件中search都是非常有用的。

    真棒ytree包可用于许多Linux和Unix的变种,并有任何文件的hex转储视图,但没有ZTreeWin(及其16位前身,XTree)的search。