strings — 從二進位檔案中提取可讀文字
從二進位檔案中提取可讀的 ASCII 字串序列。
語法
strings [選項] 檔案...
常用選項
| 選項 | 說明 | 範例 |
|---|---|---|
-n N / -N |
設定最短字串長度(預設 4) | strings -n 8 binary |
-a |
掃描整個檔案(包含所有段) | strings -a binary |
-t 格式 |
在每個字串前顯示偏移位置(x=十六、d=十進位) | strings -t x binary |
使用範例
範例 1:提取可執行檔的字串
從 ELF 執行檔提取字串,找到版本號、URL、錯誤訊息等資訊。
$ strings /usr/bin/curl | grep -i "version\|http\|ssl"
curl 8.5.0 (x86_64-pc-linux-gnu)
OpenSSL/3.0.2
https://curl.se/
範例 2:分析未知的二進位檔案
對未知的程式或函式庫提取字串,大致了解其功能。
$ strings unknown_binary | head -30
(顯示前 30 個可讀字串)
範例 3:尋找嵌入的 URL 或 IP
在惡意程式分析中,找出硬編碼的 C&C 伺服器位址。
$ strings suspect.bin | grep -E "http|[0-9]{1,3}\.[0-9]{1,3}"
http://suspicious-domain.com
192.168.100.5