在 Debian / Linux 下,如果你想提取二进制文件或库中的可读字符串,通常使用的是 strings 工具。下面按常见场景说明。
strings 属于 binutils:
sudo apt update
sudo apt install binutils
strings /bin/ls
输出示例:
Usage: %s [OPTION]... [FILE]...
GNU coreutils
.so 动态库中提取字符串strings /lib/x86_64-linux-gnu/libc.so.6
strings some_binary
strings -n 6 binary
strings -t x binary # 十六进制
strings -t d binary # 十进制
strings -t o binary # 八进制
示例:
strings -t x /bin/ls
strings -e l binary # 16-bit little-endian UTF-16
strings -e b binary # 16-bit big-endian
strings -e s binary # 8-bit
strings binary | grep PASSWORD
strings binary | grep -i error
如果你是从 Debian 包中提取字符串:
apt download package_name
dpkg-deb -x package_name.deb extracted/
find extracted -type f -executable | xargs strings
dd if=/dev/mem bs=1M count=1 | strings
⚠️ 需要 root,且可能受限。
如果你有具体场景(比如:
✅ 分析某个 .deb
✅ 提取内核模块字符串
✅ 逆向 ELF
✅ 提取中文 / UTF-16)
可以直接告诉我,我可以给你更精确的命令。