strings 命令在 Linux 安全领域是一个基础但强大的工具,主要用于从二进制文件中提取可打印字符串。以下是它在安全工作中的主要用途及示例分析:
bash
strings malware.bin | grep -E 'http://|https://|password|key'
bash
strings /usr/bin/suspicious_program | grep -i "libc"
core dump或/proc/$PID/mem)中提取进程运行时的敏感数据。bash
strings /proc/1234/mem | grep -A 10 'DB_PASSWORD='
bash
strings firmware.img | grep -i "admin"
bash
strings -n 8 app.bin | grep -E 'AKIA|PRIVATE KEY|BEGIN RSA'
%s、%n)或不安全函数调用(如strcpy)。bash
strings vulnerable_app | grep '%n'grep、awk 过滤结果:
bash
strings file.bin | grep -iE 'exploit|vulnerable'-n参数)减少噪音:
bash
strings -n 10 file.bin-e l用于16位小端字符)。strings 仅提取可打印字符,可能遗漏编码或混淆的数据。strings 是安全分析中的“瑞士军刀”,适合快速初筛二进制文件。结合逆向工具(如Ghidra、radare2)和动态分析(如strace、ltrace),能显著提升分析效率。