Rekall Memory Forensic Framework
Python C C++ JavaScript HTML Objective-C Other
Clone or download
Wenzel and scudette change level of logging message in imports from info to warning (#431)
Use getLogger(__name__) to get a real logger namespace instead of
using the root logger

set the logging message as a warning instead of info level
Latest commit 9c77998 Aug 9, 2018
Permalink
Failed to load latest commit information.
config/dpkg Added debian packaging files. Jan 3, 2014
contrib Added a script to strip symbol versions from ELF files. (#347) Jan 9, 2018
debian Bugfixes for RC1 and 1.7.2rc1 release (#332) Dec 6, 2017
osx/Rekall Clean up and fix for OS X's behavior of restoring windows on crash. Jun 10, 2014
rekall-agent Fixed Spelling. (#429) Jul 27, 2018
rekall-core change level of logging message in imports from info to warning (#431) Aug 9, 2018
rekall-gui Bugfixes for RC1 and 1.7.2rc1 release (#332) Dec 6, 2017
rekall-lib fix side effects of pull request 414 (#426) Jul 4, 2018
resources Fixed the windows build. Aug 3, 2017
src Fixed Spelling. (#429) Jul 27, 2018
tools Fixed Spelling. (#429) Jul 27, 2018
.gitattributes Moved files around to create two separate packages: Aug 7, 2015
.gitignore Fixed bug in setting cache expiry time. (#357) Jan 26, 2018
.gitmodules Updated the OSX build script. Sep 6, 2015
AUTHORS.md More refactoring of the text renderer. Jul 20, 2014
CREDITS.txt * Added a parser for PDB symbol constant stream. Jan 24, 2014
LEGAL.txt Official Rekall Fork from the Volatility codebase: Dec 18, 2013
LICENSE.txt Move the Volatility-1.4_rc1 branch over to trunk. Jun 29, 2011
MANIFEST.in Release 1.5.3rc2. Aug 3, 2016
README.md Support Linux kernels > 4.13. (#326) Nov 28, 2017
_version.py Bugfixes for RC1 and 1.7.2rc1 release (#332) Dec 6, 2017
requirements.txt Updated Version to 1.7.0 RC1. Aug 2, 2017
setup.py Changes to allow building on Windows under python3. (#306) Nov 3, 2017
version.py Initial Python 3 support. (#292) Oct 11, 2017
version.yaml Bugfixes (#336) Dec 14, 2017

README.md

The Rekall Forensic and Incident Response Framework

The Rekall Framework is a completely open collection of tools, implemented in Python under the Apache and GNU General Public License, for the extraction and analysis of digital artifacts computer systems.

The Rekall distribution is available from: http://www.rekall-forensic.com/

Rekall should run on any platform that supports Python

Rekall supports investigations of the following 32bit and 64bit memory images:

  • Microsoft Windows XP Service Pack 2 and 3
  • Microsoft Windows 7 Service Pack 0 and 1
  • Microsoft Windows 8 and 8.1
  • Microsoft Windows 10
  • Linux Kernels 2.6.24 to most recent.
  • OSX 10.7-10.12.x.

Rekall also provides a complete memory sample acquisition capability for all major operating systems (see the tools directory).

Quick start

Rekall is available as a python package installable via the pip package manager. To install it, first create a virtal env, switch to it and then install rekall:

$ virtualenv  /tmp/MyEnv
New python executable in /tmp/MyEnv/bin/python
Installing setuptools, pip...done.
$ source /tmp/MyEnv/bin/activate
$ pip install --upgrade setuptools pip wheel
$ pip install rekall-agent rekall

For windows, Rekall is also available as a self contained installer package. Please check the download page for the most appropriate installer to use Rekall-Forensic.com

To install from this git repository you will need to use pip --editable and follow the correct order of installation (otherwise pip will pull released dependencies which might be older):

$ virtualenv  /tmp/MyEnv
New python executable in /tmp/MyEnv/bin/python
Installing setuptools, pip...done.
$ source /tmp/MyEnv/bin/activate
$ pip install --upgrade setuptools pip wheel
$ git clone https://github.com/google/rekall.git rekall
$ pip install --editable rekall/rekall-lib
$ pip install --editable rekall/rekall-core
$ pip install --editable rekall/rekall-agent
$ pip install --editable rekall

On Windows you will need to install the Microsoft Visual C compilers for python (for more info see this blog post http://rekall-forensic.blogspot.ch/2015/09/installing-rekall-on-windows.html)

Mailing Lists

Mailing lists to support the users and developers of Rekall can be found at the following address:

rekall-discuss@googlegroups.com

Licensing and Copyright

Copyright (C) 2007-2011 Volatile Systems Copyright 2012-2016 Google Inc. All Rights Reserved.

All Rights Reserved

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Bugs and Support

There is no support provided with Rekall. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If you think you've found a bug, please report it at:

https://github.com/google/rekall/issues

In order to help us solve your issues as quickly as possible, please include the following information when filing a bug:

  • The version of rekall you're using
  • The operating system used to run rekall
  • The version of python used to run rekall
  • The suspected operating system of the memory image
  • The complete command line you used to run rekall

History

In December 2011, a new branch within the Volatility project was created to explore how to make the code base more modular, improve performance, and increase usability. The modularity allowed Volatility to be used in GRR, making memory analysis a core part of a strategy to enable remote live forensics. As a result, both GRR and Volatility would be able to use each other's strengths.

Over time this branch has become known as the "scudette" branch or the "Technology Preview" branch. It was always a goal to try to get these changes into the main Volatility code base. But, after two years of ongoing development, the "Technology Preview" was never accepted into the Volatility trunk version.

Since it seemed unlikely these changes would be incorporated in the future, it made sense to develop the Technology Preview branch as a separate project. On December 13, 2013, the former branch was forked to create a new stand-alone project named "Rekall.” This new project incorporates changes made to streamline the codebase so that Rekall can be used as a library. Methods for memory acquisition and other outside contributions have also been included that were not in the Volatility codebase.

Rekall strives to advance the state of the art in memory analysis, implementing the best algorithms currently available and a complete memory acquisition and analysis solution for at least Windows, OSX and Linux.

More documentation

Further documentation is available at http://www.rekall-forensic.com/