在 Ubuntu 里提到 Strings,通常是指 strings 命令,用来从二进制文件(可执行文件、库文件等)中提取可打印的字符串。下面按常见用法给你一个完整说明。
strings 是什么?strings 是 GNU binutils 中的工具,常用于:
strings一般 Ubuntu 已自带,如果没有可安装:
sudo apt update
sudo apt install binutils
检查版本:
strings --version
strings 文件名
示例:
strings test.bin
输出该二进制文件中所有长度 ≥ 4 的可打印字符串。
默认最小长度是 4,你可以修改:
strings -n 6 test.bin
只显示长度 ≥ 6 的字符串。
strings -t x test.bin
-t x:十六进制偏移-t d:十进制-t o:八进制示例输出:
80480a0 /lib64/ld-linux-x86-64.so.2
查看 ELF 文件中的字符串:
strings -e l test.bin
常见编码:
-e s:7 位 ASCII-e l:16 位小端-e b:16 位大端grep 使用(非常常用)查找包含关键字的字符串:
strings test.bin | grep password
或:
strings test.bin | grep -i https
strings /bin/ls
常见能看到的内容:
strings suspicious_binary | less
strings core_dump | grep something
strings exploit | grep -E "sh|bash|/bin"
strings 不能还原源码如果你指的是:
locale.po / .mo 文件可以告诉我具体场景,我可以更精准地帮你。
需要我给你一个**实战示例(比如分析一个程序)**吗?