在 Linux 下,strings 本身不是杀毒工具,而是一个分析工具:它从二进制文件(可执行文件、库、脚本、内存镜像等)中提取可读字符串(ASCII/Unicode),帮助你判断一个文件“像不像病毒/木马”。
下面按实用思路讲:怎么用 strings 来“查病毒/做初步研判”。
strings 文件名
例如:
strings suspicious.bin
常见参数:
-n 8:只显示长度 ≥8 的字符串(减少噪音)-e l / -e b:指定编码(little/big endian)-a:扫描整个文件(默认可能跳过某些段)示例:
strings -n 8 suspicious.bin
strings suspicious.bin | grep -Ei "wget|curl|bash|/bin/sh|nc|python|perl|ssh|scp|ftp"
常见红旗:
/bin/shwget http://curl http://system(execvereverse shellbase64strings suspicious.bin | grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}"
strings suspicious.bin | grep -Ei "http|https|ftp|\.com|\.cn|\.ru|\.io"
注意:
strings suspicious.bin | grep -E "/etc/|/tmp/|/var/|/root/|crontab|systemd"
例如:
/etc/cron.d//tmp/.x~/.bashrcstrings suspicious.bin | grep -Ei "aes|rc4|base64|xor|encrypt|decrypt"
说明:
ps aux | grep 可疑进程
cat /proc/PID/maps
gdb -p PID
(gdb) dump memory mem.bin 0x... 0x...
strings mem.bin | grep -Ei "http|/bin/sh|wget"
file suspicious.bin
sha256sum suspicious.bin
clamscan suspicious.bin
❌ 不能:
✅ 只能:
file "$1"
strings -n 8 "$1" | grep -Ei "wget|curl|/bin/sh|bash|nc|python|perl|http|ftp|/tmp/|/etc/|base64|xor"
用法:
./check.sh suspicious.bin
如果你愿意,可以:
我可以直接帮你“像安全分析师一样看”。