1 | #!/bin/sh |
---|
2 | |
---|
3 | # This script is a wrapper for reglookup, and reads one or more registry |
---|
4 | # files to produce an MTIME sorted output. This is helpful when building |
---|
5 | # timelines for investigations. |
---|
6 | # |
---|
7 | # Copyright (C) 2005-2007,2010 Timothy D. Morgan |
---|
8 | # |
---|
9 | # This program is free software; you can redistribute it and/or modify |
---|
10 | # it under the terms of the GNU General Public License as published by |
---|
11 | # the Free Software Foundation; version 2 of the License. |
---|
12 | # |
---|
13 | # This program is distributed in the hope that it will be useful, |
---|
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
16 | # GNU General Public License for more details. |
---|
17 | # |
---|
18 | # You should have received a copy of the GNU General Public License |
---|
19 | # along with this program; if not, write to the Free Software |
---|
20 | # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
---|
21 | # |
---|
22 | # $Id: reglookup-timeline 170 2010-03-06 04:40:25Z tim $ |
---|
23 | |
---|
24 | |
---|
25 | usage() |
---|
26 | { |
---|
27 | echo "Usage: $0 [-H] [-V] <REGISTRY_FILE> [<REGISTRY_FILE> ...]" 1>&2 |
---|
28 | echo " -H Omit header line" 1>&2 |
---|
29 | echo " -V Include values with parent timestamps" 1>&2 |
---|
30 | } |
---|
31 | |
---|
32 | if [ $# -eq 0 ]; then |
---|
33 | usage |
---|
34 | echo "ERROR: requires at least one parameter" 1>&2 |
---|
35 | exit 1 |
---|
36 | fi |
---|
37 | |
---|
38 | PRINT_HEADER=true |
---|
39 | if [ "$1" = "-H" ]; then |
---|
40 | PRINT_HEADER=false |
---|
41 | shift |
---|
42 | fi |
---|
43 | |
---|
44 | OPTS='-t KEY' |
---|
45 | if [ "$1" = "-V" ]; then |
---|
46 | OPTS='-i' |
---|
47 | shift |
---|
48 | fi |
---|
49 | |
---|
50 | if [ "$PRINT_HEADER" = "true" ]; then |
---|
51 | echo "MTIME,FILE,PATH" |
---|
52 | fi |
---|
53 | |
---|
54 | for F in $@; do |
---|
55 | reglookup $OPTS -H "$F" | awk -F',' '{ printf "%s,'"$F"',%s\n",$4,$1; }' |
---|
56 | done | sort |
---|