1. 程式人生 > >一款開源恢復工具——scalpel

一款開源恢復工具——scalpel

使用 損壞 來看 lin .exe 不能 目的 源代碼 src

scalpel是一款命令行工具,雖然是在linux環境下開發,但也可以在Windows下使用。scalpel的實現原理和foremost很相似,但是他較之foremost做了一些改進。

  scalpel恢復原理:

  掃描整個鏡像文件,根據配置文件尋找相關文件類型的文件頭和文件尾,正常找到後將這段內容雕刻出來;當找到了文件的頭部,但是在它附近沒有找到文件尾標誌的時候,scalpel提供兩種處理方式,一是放棄對該文件的雕刻,二是根據自定義的各類文件的最大長度進行雕刻。

  scalpel的幾個特點

從他的恢復原理我們可以得出scalpel的幾個特點:

    1、使用scalpel恢復鏡像文件時,不需要關心鏡像文件的文件結構是否有損壞,或是鏡像文件是否因不同機器制作而打上不同的標記,適用性很強。

    2、由於scalpel只是盲目的進行掃描搜索,因此scalpel並不能區分它掃描到的哪些屬於刪除文件,哪些是正常文件。

    3、scalpel在“雕刻”文件的時候,是將文件頭至文件尾的這部分內容全部“抄寫”,也就是說它適用於恢復連續性碎片。而視頻、音頻文件往往比較大,形成連續性碎片的幾率比較小,因此scalpel對大文件恢復的效果很差(恢復出來的幾乎都不可讀)。

    4、由於scalpel使用了多線程進行掃描搜索和雕刻,恢復的效率較高。

  scalpel恢復文件類型

  就我的試驗來看,使用scalpel恢復效果比較好的集中文件類型是PDF,Word,JPG圖片,html文件。對圖片而言,png、gif、tif格式的圖片恢復出來的大多不可讀。

  另外,使用scalpel恢復的效果好壞取決於配置文件中對各種文件類型標誌的確定,文件類型的標誌確定的越準確,恢復的結果就比較好。

  scalpel使用方法

  scalpel的使用方法是:在配置文件scalpel.conf 中選擇要恢復的文件類型,就是去掉相應的註釋,當然也可以在配置文件中創造自己的文件類型標誌,然後在命令行下使用命令: “ scalpel.exe -o 恢復文件存儲路徑(此目錄必須是空的) 要恢復的鏡像文件路徑” 即可。當然scalpel還有一些參數設置,這裏只說了最簡單的一種方式。

  技術分享

  scalpel源碼

  scalpel的開源代碼在github上有,這裏放一下連接:

  https://github.com/sleuthkit/scalpel

一款開源恢復工具——scalpel