在 Ubuntu(及其他 Linux 系统)中,提取 strings 通常是指从二进制文件、可执行程序、库文件、内存镜像或磁盘镜像中提取可打印的字符串(如 ASCII / Unicode 文本)。下面按常见场景说明。
strings 命令(最常用)strings /path/to/file
示例:
strings /bin/ls
默认是 4,可改为 6:
strings -n 6 /bin/ls
strings -e l /path/to/file # 16-bit little endian
strings -e b /path/to/file # 16-bit big endian
strings -e s /path/to/file # 7-bit
objdumpobjdump -s -j .rodata /bin/ls
readelfreadelf -x .rodata /bin/ls
strings + /procstrings /proc/<pid>/maps
cat /proc/<pid>/mem | strings
(需要权限,可能需要 gdb 或 root)
strings disk.img > strings.txt
结合 grep:
strings disk.img | grep -i password
strings /bin/ls | grep -i error
如果你有具体场景(比如:ELF、PE、Android so、内存 dump、Docker 镜像),可以告诉我,我可以给你更精确的命令。