是否有任何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。