Ethan Heilman Asked: 2009-08-08 06:20:19 +0800 CST2009-08-08 06:20:19 +0800 CST 2009-08-08 06:20:19 +0800 CST Linux 命令在二进制或非 ascii 文件中查找字符串 772 是否有任何 linux 命令可以从可执行文件或其他二进制文件中提取所有 ascii 字符串?我想我可以用 grep 来完成,但我记得在某处听说过这样的命令存在? linux grep binary strings 5 个回答 Voted Best Answer drAlberT 2009-08-08T06:22:50+08:002009-08-08T06:22:50+08:00 您正在寻找的命令是strings 它的名字是不言自明的,它从给定的文件中检索任何可打印的字符串。 man strings给出: 字符串(1) NAME 字符串- 查找对象或其他二进制文件中的可打印字符串 概要 strings [ - ] [ -a ] [ -o ] [ -t format ] [ -number ] [ -n number ] [--] [file ...] luis.espinal 2010-03-03T07:14:50+08:002010-03-03T07:14:50+08:00 字符串命令是解决这种特殊类型问题的方法。有时您还必须将其输出到grep。 例如: strings somebinaryfile | grep textuwanttofind Mark 2009-08-08T06:22:50+08:002009-08-08T06:22:50+08:00 该命令确实存在,并且被称为....字符串! qeff 2016-06-29T05:19:25+08:002016-06-29T05:19:25+08:00 使用字符串的一个问题是您看不到周围的不可打印内容,您必须注意最小字符串长度。 使用问题od -c 文件或者hexdump -C 文件是一个序列如果换行就很难找到。 我非常喜欢的是ZTreeWin在 Linux 上的 WINE 中运行 - 你可以用它做很多事情,但在任何文件中搜索或编辑二进制文件可能特别有用。 很棒的 ytree 包可用于许多 Linux 和 Unix 变体,并且具有任何文件的良好 Hex 转储视图,但没有 ZTreeWin(及其 16 位前身 XTree)所具有的搜索功能。 Kyle Brandt 2009-08-08T06:22:20+08:002009-08-08T06:22:20+08:00 od 命令可以这样做: od -c *filename*
您正在寻找的命令是
strings
它的名字是不言自明的,它从给定的文件中检索任何可打印的字符串。
man strings
给出:字符串命令是解决这种特殊类型问题的方法。有时您还必须将其输出到grep。
例如:
该命令确实存在,并且被称为....字符串!
使用字符串的一个问题是您看不到周围的不可打印内容,您必须注意最小字符串长度。
使用问题
或者 是一个序列如果换行就很难找到。我非常喜欢的是ZTreeWin在 Linux 上的 WINE 中运行 - 你可以用它做很多事情,但在任何文件中搜索或编辑二进制文件可能特别有用。
很棒的 ytree 包可用于许多 Linux 和 Unix 变体,并且具有任何文件的良好 Hex 转储视图,但没有 ZTreeWin(及其 16 位前身 XTree)所具有的搜索功能。
od 命令可以这样做: