NAME

PTFinder - find processes and threads in a Microsoft Windows memory dump.


SYNOPSIS

ptfinder.pl [options] file


OPTIONS

file

Memory dump file to analyze.

--3GB / --no3GB

Turns on/off support for systems booted with the /3GB switch. Default: OFF.

--align n

Enforce an alignment of n bytes. Default: 8.

This parameter also controls the stepwidth of the scanner, so it has a great impact on performance.

--color / --nocolor

Turns on/off coloring of dot(1) graphs. Default: ON.

--dotfile file

PTFinder will generate a graph description in a format sufficient for dot(1).

--help

Prints the full help text and exists.

--listing / --nolisting

When active, PTFinder will print a listing of processes and threads as it works its way through a memory dump.

--logfile file

A file where PTFinder will document all process and thread candidates it finds, the checks performed and the final decission made. This file is mainly used for debugging purposes.

--pae / --nopae

Applies proper alignment checks on saved CR3 values (PDBA in non-PAE mode and PDP in PAE mode). Default: OFF.

--procs / --noprocs

Includes/excludes processes in the generated output. Turning this option off may lead to cluttered graphs. Default: ON.

--skip n

Skips over the first n bytes of the dump file. This option can be used to adopt to really strange dump formats.

--threads / --nothreads

Includes/excludes threads in the generated output. Including threads may lead to large graphs. Default: ON.

--unique / --nounique

Suppresses/accepts duplicate processes and threads based on the object's MD5 hash. Default: ON (suppress duplicates).

--usage

Prints a brief help message and exits.

--version

Display version and exit.

--xmlfile file

Reports all processes and threads in a XML formatted file. This should facilitate import into other tools and the comparison with results obtained from other tools. The format is supported by GMG Systems, Inc. KnTList.


DESCRIPTION

PTFinder searches a memory dump of a system running Microsoft Windows for traces of processes and threads. At this it uses signatures based on the _DISPATCHER_HEADER structure declared in the Windows DDK (Ntddk.h and wdm.h). Some functional checks are also applied.

The dump file may have been created in several ways:

Visualization

PTFinder can output its findings in a format sufficiently for dot(1). Dot calculates graphs, whereas processes and threads are the nodes and edges indicate a "created-by" relationship.

Futher information

The lastest version of this program, information on the underlying principles as well as usage examples are available at:

        http://computer.forensikblog.de/en/topics/windows/memory_analysis/

If your German is better than the author's English please consider visiting the main site where you'll find lots of additional information:

        http://computer.forensikblog.de/

Look for the section entitled "Speicheranalyse".


EXAMPLES

Display processes and threads:

ptfinder.pl mymem.dmp

Display only processes:

ptfinder.pl --nothreads mymem.dmp

Generate an input file for dot(1):

ptfinder.pl --nothreads --dotfile mymem.dot mymem.dmp

Turn the annoying listing off, please!

ptfinder.pl --nothreads --nolisting --dotfile mymem.dot mymem.dmp

Prepare the graph for black/white printing:

ptfinder.pl --nothreads --nolisting --dotfile mymem.dot mymem.dmp

And now ignore that large header:

ptfinder.pl --nothreads --nolisting --skip 1048576 --dotfile mymem.dot mymem.dmp


BUGS

This version will work only on dumps of systems running Microsoft Windows XP SP2 (build 5.1.2195.2180).

It assumes a 32bit architecture.

It can't handle dump files larger than 2 GiB.

Also, the code needs some cleanup and restructuring badly.

Beside this, no bugs are known yet.

Please send bug reports and suggestions to <bugs-ptfinder@forensikblog.de>.


AUTHOR

Written by Andreas Schuster <a.schuster@yendor.net>


COPYRIGHT

Copyright (c) 2006-2007 by Andreas Schuster.

PTFinder may be redistributed under the GNU General Public License.


SEE ALSO

dd(1), dot(1), zgrviewer(1)