joh*_*nny 40 windows linux unix command-line
strings
在 Unix 和 Linux 中,从二进制文件中提取可打印的字符串。是否有适用于 Windows 的版本?我找不到一个。
sgm*_*ore 46
不是 (AFAIK) 内置的,但有一个可从 SysInternals ( live link ) 获得。SysInternals字符串不是 Unix 工具的直接移植;编写它是为了查找 Unicode 字符串和 ASCII:
在 NT 和 Win2K 上工作意味着可执行文件和目标文件将多次嵌入 UNICODE 字符串,您无法用标准 ASCII 字符串或 grep 程序轻松看到这些字符串。
小智 8
一个快速简单的解决方案:
more < FILE_PATH.exe | findstr "."
这将打印任何类型文件中的所有字符串(带有一些额外的垃圾),并用新行分隔。
实际发生的是more < FILE_PATH.exe
将 FILE_PATH.exe 的 ascii 视图打印到控制台中,并findstr "."
过滤掉任何不是字符串的内容(通过添加更多 '.' 来定义最小长度,例如findstr "....."
将仅过滤长度为 5+ 的字符串)。
strings -n 4 FILE_PATH
=>more < FILE_PATH | findstr "...."
strings -n 8 FILE_PATH
=>more < FILE_PATH | findstr "........"
当然,您可以使用 findstr 来制作更精确的过滤器(请参阅findstr /?
)
归档时间: |
|
查看次数: |
67877 次 |
最近记录: |