一款开源恢复工具——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

时间: 2024-11-10 10:55:55

一款开源恢复工具——scalpel的相关文章

100款开源软件

不知道这些你就OUT了!100款开源软件 好的软件可以极大提高工作效率,完成一些不可能完成工作.然而我们也常常为选择哪款软件而头疼,本次为大家推出的100款软件都是经过整理分类的,而且最重要的是100款软件都是开源免费且使用于Linux环境下,大部分都可以直接从官网上下载使用.如果你完全没有接触过以下我介绍的这100款软件,我只能说一句你OUT了! 图:100款软件分类图 接下来将要介绍的100款开源应用程序,是我花了很多时间为大家整理的,这些软件对大家来说是很有用的.我希望通过这100款软件告

最受IT公司欢迎的50款开源软件

文章来自:云头条编译 本文介绍了多款知名的开源应用软件,科技公司可以用它们来管理自己的 IT 基础设施.开发产品. 过去十年间,许多科技公司已开始畅怀拥抱开源.许多公司使用开源工具来运行自己的 IT 基础设施和网站,一些提供与开源工具相关的产品和服务,或基于开源工具而建的产品和服务,还有一些在为开源代码贡献代码或支持开源项目. Black Duck 在 2015 年的一项调查发现,78% 的企业组织使用开源软件,这个比例几乎是 2010 年时候的两倍.此外,88% 的企业表示,它们预计在今后几年

Android 8款开源游戏引擎

1.Angle  (2D    Java) Angle是一款专为Android平台设计的,敏捷且适合快速开发的2D游戏引擎,基于OpenGLES技术开发.该引擎全部用Java代码编写,并且可以根据自己的需要替换里面的实现,缺陷在于文档不足,而且下载的代码中仅仅包含有少量的示例教程. 最低运行环境要求不详. 项目地址:http://code.google.com/p/angle/ 2.Rokon  (2D    Java) rokon是一款Android 2D游戏引擎,基于OpenGL ES技术开

JAVA首选五款开源Web开发框架

Spring Spring是一个开源的Java/Java EE全功能栈应用程序框架,在JavaEE社区中非常受欢迎,以Apache许可证形式发布,也有.NET平台上的移植版本. Struts2 Struts2是一个web应用框架.它不是一个Struts的新的发布版本,而是一个全新的框架.Struts2是第二代基于Model-View-Controller (MVC)模型的web应用框架.Struts2是java企业级web应用的可扩展性的框架.它是WebWork和Struts社区合并后的产物.这

Jeewx 是一款开源、免费的微信管家系统(多触点管理平台)。采用 JAVA 语言

Jeewx 是一款开源.免费的微信管家系统(多触点管理平台).采用 JAVA 语言,支持微信公众号.微信企业号.支付宝服务窗.QQ 公众号.微博账号等多触点管理.Jeewx 实现了微信.支付窗.微信企业号.微博等触点的基础管理功能,便于用户二次开发. 2014年荣获CSDN开发商大会第一名.采用JAVA语言,支持微信公众号.微信企业号.支付宝服务窗等多触点管理.Jeewx实现了微信公众号.支付窗.微信企业号等触点的基础管理功能,便于用户二次开发. http://git.oschina.net/j

[转]三维数字地球发布平台探索--几款开源软件介绍

先写想法: 想做个简单的地形漫游,于是考虑在ww直接开发,或找个控件形式的开发组件. 最大的期望有: 1. 支持google的sketchup,快速智能三维建模 2. 设计模式做好点,最好先做成组件形式,然后开发应用程序 3. 性能再好点,对于索引技术,内存管理等等 4. 客户端独立版本 和客户服务器端耦合版本的优化 5. 放点服务器的资料. .net平台 1.WorldWind      知名度很高,介绍也很全.链接在这里NASAWorld Wind     目前分为.net版本和java版本

十八款开源/商用的Linux服务器控制面板

当站长同时拥有很多网站站点,不通过控制面板管理各种网站就会非常困难.但是为了满足不同需求,我们需要个性化的方案. 网站控制台是完全网页接口可以通过一个网址来管理你各项网络服务的软件.控制台程序可以管理电子邮件账号,FTP账号,文件管理和创建子站,监控磁盘空间和带宽,创建备份等等. 网站控制面板对于Linux新手来讲是个出色的解决方案.可以用来管理虚拟主机或者专用主机上众多的站点.这种站点控制面板可以让网站管理管理变得不需要太多专业知识. 最著名和强大的控制面板是cPanel和 Plesk.这两个

历史上最有影响力的10款开源项目

2014年08月21日 ? 资讯 ? 评论数 1 ? 被围观 431+ ? 赞 0 开源是大趋势,开源软件也在越来越多的出现在日常电脑桌面上,如Firefox浏览器.Ubuntu操作系统等.人们选择开源软件的原因,主要有低成本.安全无病毒侵害.更加透明和开放等.按照大多数的开源协议如GPL,开源软件允许自由分发.在此,我们选出了在当前扮演最重要角色的十款开源软件. 1. Linux 这里指Linux内核.Linus Torvalds在1991年宣布了Linux的诞生,至今已有23年.目前,Lin

非常强的一款开源的分布式游戏服务端引擎(kbengine)

一款开源的游戏服务端引擎,使用简单的约定协议就能够使客户端与服务端进行交互,使用KBEngine插件能够快速与(Unity3D, OGRE, Cocos2d, HTML5, 等等)技术结合形成一个完整的客户端. 服务端底层框架使用c++编写,游戏逻辑层使用Python(支持热更新),开发者无需重复的实现一些游戏服务端通用的底层技术,将精力真正集中到游戏开发层面上来,快速的打造各种网络游戏. (经常被问到承载上限,kbengine底层架构被设计为多进程分布式动态负载均衡方案,理论上只需要不断扩展硬