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

延伸閱讀