简短回答:
可以,strings 能提取中文,但有一些前提和注意事项。
strings 为什么能提取中文strings 默认提取的是可打印字符序列。
中文(如 UTF-8 编码)在文件中通常表现为连续的字节,只要这些字节对应“可打印字符”,strings 就会输出。
例如 UTF-8 中文在字节层面是:
strings 当作一个字符串strings file.bin
如果文件里有 UTF-8 中文,通常会直接显示出来:
错误信息:文件不存在
操作成功
可能是编码不是 UTF-8(如 GBK)。
解决:转换编码
strings file.bin | iconv -f GBK -t UTF-8
原因可能是:
解决:减小最小长度
strings -n 1 file.bin
strings file.bin | grep -P '[\x{4e00}-\x{9fff}]'
或(更通用):
strings file.bin | grep -E '[一-龥]'
strings 的场景✅ 二进制文件中的提示信息
✅ 程序里的日志、报错
✅ 资源文件中的中文
❌ 不适合:
strings 可以提取中文-n 1、结合 grep / iconv如果你有具体文件类型(ELF / APK / exe / bin),我可以给你更针对性的命令。