- Notifications
You must be signed in to change notification settings - Fork102
sleuthkit/scalpel
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
********************************************************************As of 6/27/2013 Scalpel has been released under the Apache 2.0 Licenseand the source is available at The Sleuth Kit github repository.It is not being actively maintained. The Autopsy team started to dowork on it to integrate tightly into via Java/JNI bindings, but raninto several memory leaks and the effort was abandoned. No official releases are being made. You can submit pull requests, but they may take a while to get reviewed. ********************************************************************Scalpel is a file carving and indexing application that runs on Linuxand Windows. The first version of Scalpel, released in 2005, wasbased on Foremost 0.69. There have been a number of internal releasessince the last public release, 1.60, primarily to support our ownresearch. The newest public release v2.0, has a number of additionalfeatures, including:o minimum carve sizes.o multithreading for quicker execution on multicore CPUs.o asynchronous I/O that allows disk operations to overlap with patternmatching--this results in a substantial performance improvement.o regular expression support for headers/footers.o embedded header/footer matching for better processing of structuredfile types that may contain embedded files.o for advanced users, support for massively-threaded execution onGraphics Processing Units (GPUs). This feature is available only onLinux and requires installation of the NVIDIA CUDA SDK, modificationof scalpel.h to enable the GPU threading mode, and compilation withthe CUDA toolchain. Our implementation also requires an NVIDIA GPUwith compute capability >= 1.2, so older CUDA-capable cards probablywon't work. The NVIDIA GTX 260 is relatively inexpensive and powerfuland has the appropriate compute capability. The GPU-enhanced versionof Scalpel is able to do preview carving at rates that exceed the diskbandwidth of most file servers, so for big jobs, it may be worth theextra effort required to use this feature. Note that regularexpression-based headers and footers are NOT currently supported whenGPU acceleration is in use! We might address this in a futurerelease.Scalpel performs file carving operations based on patterns thatdescribe particular file or data fragment "types". These patterns maybe based on either fixed binary strings or regular expressions. Anumber of default patterns are included in the configuration fileincluded in the distribution, "scalpel.conf". The comments in theconfiguration file explain the format of the file carving patternssupported by Scalpel.Important note: The default configuration file, "scalpel.conf", hasall supported file patterns commented out--you must edit this filebefore running Scalpel to activate some patterns. Resist the urge tosimply uncomment all file carving patterns; this wastes time and willgenerate a huge number of false positives. Instead, uncomment onlythe patterns for the file types you need.Scalpel options are described in the Scalpel man page, "scalpel.1".You may also execute Scalpel w/o any command line arguments to see alist of options.NOTE: Compilation is necessary on Unix platforms and on Mac OS X. ForWindows platforms, a precompiled scalpel.exe is provided. If you dowish to recompile Scalpel on Windows, you'll need a mingw (gcc)setup. Scalpel will not compile using Visual Studio C compilers. Notethat our compilation environment for Windows is currently 32-bit; wehaven't tested on the 64-bit version of mingw, but will address thisint the future.COMPILE INSTRUCTIONS ON SUPPORTED PLATFORMS:Linux/Mac OS X: % ./bootstrap% ./configure % makeWindows (mingw):cd src mingw32-make -f Makefile.winand enjoy. If you want to install the binary and man page in a morepermanent place, just copy "scalpel" (or "scalpel.exe") and"scalpel.1" to appropriate locations, e.g., on Linux, "/usr/local/bin"and "/usr/local/man/man1", respectively. On Windows, you'll also needto copy the pthreads and tre regular expression library dlls into thesame directory as "scalpel.exe".OTHER SUPPORTED PLATFORMSWe are not currently supporting Scalpel on Unix variants other thanLinux. Go ahead and try a ./configure and make and see what happens,but be sure to do thorough testing before using Scalpel in productionwork. If you are interested in supporting a version of Scalpel on analternate platforms, please contact us. If you are interested insupporting a GPU-enhanced version of Scalpel on Windows, we are alsointeresting in hearing from you.LIMITATIONS:Carving Windows physical and logical device files (e.g.,\\.\physicaldrive0 or \\.\c:) isn't currently supported because itrequires us to rewrite some portions of Scalpel to use Windows fileI/O functions rather than standard Unix calls. This may be supportedin a future release.Block map features are currently disabled, as we are rewriting thissubsystem to enhance interoperability with the Sleuthkit. An improvedversion of the block map features will return in a subsequent release.The -s command line option ("skip") has been removed and will bereplaced with a more robust facility in the next major release.DEPENDENCIES:Scalpel uses the POSIX threads library. On Win32, Scalpel isdistributed with the Pthreads-win32 - POSIX Threads Library for Win32,which is Copyright(C) 1998 John E. Bossom and Copyright(C) 1999,2005by Pthreads-win32 contributors. This library is licensed under the LGPL.Scalpel for Win32 uses the tre regular expression library and isdistributed with tre-0.7.5, which is licensed under the LGPL.Cheers,--Golden and Vico.
About
Scalpel is an open source data carving tool. It is not being actively maintained.
Resources
Stars
Watchers
Forks
Releases
No releases published