zoukankan      html  css  js  c++  java
  • 一款开源数据恢复工具——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

  • 相关阅读:
    .net core 3.1 使用Redis缓存
    JavaSE 高级 第11节 缓冲输入输出字节流
    JavaSE 高级 第10节 字节数组输出流ByteArrayOutputStream
    JavaSE 高级 第09节 字节数组输入流ByteArrayInputStream
    JavaSE 高级 第08节 文件输出流FileOutputStream
    JavaSE 高级 第07节 文件输入流FileInputStream
    JavaSE 高级 第06节 初识I、O流
    JavaSE 高级 第05节 日期类与格式化
    JavaSE 高级 第04节 StringBuffer类
    JavaSE 高级 第03节 Math类与猜数字游戏
  • 原文地址:https://www.cnblogs.com/jiangcsu/p/7422764.html
Copyright © 2011-2022 走看看