strings
命令在逆向工程中的作用strings
命令是Linux逆向工程中一个简单但极其有用的工具,它能够从二进制文件中提取可打印的字符序列。
strings -a <file> # 扫描整个文件(默认只扫描初始化部分)
strings -t x <file> # 显示字符串偏移量(十六进制)
strings -e l <file> # 扫描16位小端Unicode字符串
strings -n 8 <file> # 只显示长度≥8的字符串
strings /bin/ls
strings malware.bin | grep -i "http"
strings -t x suspicious.exe | grep "password"
strings -n 8 binary | xargs -I {} sh -c 'echo -n "{}: " && rafind2 -z "{}" binary'
#!/bin/bash
for str in $(strings -n 8 "$1" | sort -u); do
echo "=== $str ==="
rafind2 -z "$str" "$1"
done
strings
命令虽然简单,但在逆向工程的初步分析阶段能提供宝贵的信息,是安全研究人员和分析师工具箱中的必备工具。