在計算機領域中,二進制文件是無法直接讀取的。但是,很多時候我們需要從一個二進制文件中提取出某些內容。在這種情況下,各種分離工具就非常有用了。本文將介紹一種名為binwalk的二進制分離工具,並通過實例詳細說明如何使用binwalk從二進制文件中分離圖片。
一、binwalk是什麼
binwalk是一種二進制分離工具,可用於查找文件中的隱藏文件和數據。它可以在文件中查找各種類型的文件和文件系統,如JPEG圖像、GIF動畫、PNG圖像、壓縮文件、ELF、PE等。
binwalk支持各種操作系統,如Windows、Linux和macOS。因此,可以用它在不同的平台上加快文件分離的速度。binwalk還支持自定義簽名和插件,以定製搜索。
二、binwalk的基本用法
要使用binwalk,需要基本的命令行知識。一旦你了解了運行binwalk的基本命令,就可以輕鬆查找文件和數據。
以下是一些常用binwalk命令和用法示例:
$ binwalk -e file.bin
使用-e選項將二進制文件中的文件和數據提取到單獨的文件夾中。這有助於創建和管理您自己的文件進行分離。
$ binwalk -Me file.bin
使用-M選項將所有不同的簽名和文件提取到單獨的文件夾中。
$ binwalk -D 'png image:png' file.bin
使用-D選項定製您想要查找的簽名類型。在這個例子中,binwalk將搜索png圖像文件。
三、使用binwalk分離圖片
binwalk可以幫助我們從一個二進制文件中分離出所有的圖片。下面我們來看一個具體的使用實例:
首先,我們要先安裝binwalk。使用以下命令即可:
$ sudo apt install binwalk
接下來,我們以一個名為”example.bin”的文件為例,它可以在binwalk項目的GitHub頁面上找到
1.列出example.bin中包含的所有圖片:
$ binwalk -e example.bin
2.在提取出的文件夾中,使用以下命令查找png文件:
$ find . -name "*.png"
這將返回一個列表,其中包含所有找到的.PNG文件。您可以將它們複製出來,或者在同一個文件夾中使用它們。
3.將所有PNG文件移動到單獨的文件夾中:
$ mkdir images && mv *_*.png images/
這些PNG文件現在都在images文件夾中了。
四、binwalk進一步調整
一個二進制文件中可能存在多個隱藏的文件和數據。針對不同的需要,binwalk可以進行進一步調整。下面分別是幾個常見的功能調整:
1. 自定義簽名
binwalk可以使用自定義簽名進行分離。如果您必須分離特定類型的文件或希望僅查找文件系統,請使用-d選項。在這個例子中,我們將搜索所有bmp文件:
$ binwalk -d 'bmp image:bmp' example.bin
2. 提取所有文件和數據
在前面的例子中,我們只提取了從example.bin文件中找到的PNG文件。如果您想分離所有發現的文件和數據,請使用-M選項:
$ binwalk -Me example.bin
3. 關閉文件尾部過濾
如果binwalk執行了從文件尾部到文件頭的搜索,那麼它還可以對文件末尾的數據進行過濾和處理。然而,在某些情況下,這可能不是您想要的。您可以使用-C選項啟用或停用此過濾:
$ binwalk -C example.bin
五、總結
在本文中,我們介紹了二進制分離工具binwalk的用法。我們着重講解了如何使用binwalk從二進制文件中分離出圖片。通過了解binwalk提供的功能,您可以對不同的數據和文件進行分離並查找所需的內容。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/301441.html