首頁 > 文字處理與搜尋 > strings

strings: 從二進位檔案中提取字串

strings 命令是一個用於從二進位檔案(例如可執行檔、函式庫等)中提取人類可讀文字字串的工具。它在程式除錯、惡意軟體分析或快速檢查未知檔案內容時非常有用。

概覽

二進位檔案由電腦直接執行的0和1程式碼組成,使用普通文字編輯器開啟時會顯示亂碼。`strings` 命令會從這些二進位檔案中找出連續四個或更多可列印字元,並以文字形式提取出來。透過它,您可以識別二進位檔案中包含的錯誤訊息、檔案路徑、URL、設定值等有用資訊。

主要特色

strings 命令的主要特色如下:

  • 從二進位檔案中提取人類可讀的字串。
  • 預設尋找四個或更多連續的可列印字元。
  • 支援多種字元編碼(ASCII、UTF-16 等)。
  • 有助於識別程式使用的函式庫名稱或設定資訊。

strings 的應用領域

strings 不僅僅是檢查檔案,還可以在多個領域中應用。

  • 惡意軟體分析: 從惡意軟體二進位中提取C&C伺服器位址、檔案名稱、API呼叫等資訊。
  • 除錯: 在可執行檔中尋找包含的錯誤訊息或除錯字串以解決問題。
  • 未知檔案分析: 當檔案擴展名不清楚時,透過 strings 檢查內部文字以推斷檔案性質。

主要選項

strings 命令的主要選項根據其目的進行了分組。

1) 提取選項

2) 幫助

生成的命令:

請試著組合命令。

這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。

`strings` 執行命令。

請將上述選項組合在一起,與 AI 一同虛擬執行命令。

使用範例

透過 strings 命令的各種使用範例來熟悉其功能。

從二進位檔案中提取基本字串

strings /usr/bin/top

從 `/usr/bin/top` 二進位檔案中提取基本設定(四個字元或更多)的字串。

只提取更長的字串

strings -n 8 /usr/bin/top

使用 `-n` 選項只提取八個字元或更長的字串。

同時輸出字串和十六進位偏移量

strings -t x /usr/bin/top

使用 `-t x` 選項同時輸出每個字串在檔案中開始的十六進位偏移量。這對於二進位分析很有用。

與管道符號 (|) 結合使用

strings /usr/bin/top | grep error

從 `/usr/bin/top` 檔案中提取並檢查包含 `error` 的字串。

提取 UTF-16 編碼字串

strings -e l /path/to/binary

使用 `-e` 選項提取 UTF-16 編碼字串。`l` 表示小端,`b` 表示大端。

安裝

strings 是 `binutils` 套件的一部分,預設包含在大多數 Linux 發行版中。無需額外安裝。

Debian/Ubuntu

sudo apt update
sudo apt install -y binutils

RHEL/CentOS/Fedora

sudo dnf install -y binutils

提示與注意事項

整理了使用 strings 命令時應注意的事項。

提示

  • `strings` 比直接對二進位檔案執行 `cat` 提供更清晰、更有用的資訊。`cat` 會直接輸出二進位檔案內容,可能導致終端機顯示混亂。
  • 提取的字串可能包含換行符或空格,因此與 `grep`、`awk` 等命令透過管道結合使用進行額外處理,可以更有效地利用。

相關命令

功能上相似或經常一起使用的命令。


相同類別命令