一款開源恢復工具——scalpel
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