# # $Date: 2005/03/06 16:51:02 $ # # Main.pm # Autopsy Forensic Browser # # This file requires The Sleuth Kit # www.sleuthkit.org # # Brian Carrier [carrier@sleuthkit.org] # Copyright (c) 2001-2005 by Brian Carrier. All rights reserved # # # This file is part of the Autopsy Forensic Browser (Autopsy) # # Autopsy 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. # # Autopsy 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 Autopsy; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # # THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR ANY PARTICULAR PURPOSE. # IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, LOSS OF USE, DATA, OR PROFITS OR # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # use lib './'; use strict; use Appsort; use Appview; use Args; use Caseman; use Data; use Exec; use File; use Filesystem; use Frame; use Fs; use Hash; use Kwsrch; use Meta; use Notes; use Print; use Timeline; use Vs; require 'conf.pl'; require 'define.pl'; # Get rid of insecure settings $ENV{PATH} = ""; delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV'}; # Formats for regular expressions # Year.Mon.Day Hr:Min:Sec (TZ) $::REG_DAY = '\d\d\d\d.\d\d.\d\d'; $::REG_TIME = '\d\d:\d\d:\d\d'; $::REG_ZONE_ARGS = '[\w\+\-\/\_]+'; $::REG_ZONE2 = '\([\w\+\- ]*\)'; $::REG_DATE = "$::REG_DAY" . '\s+' . "$::REG_TIME" . '\s+' . "$::REG_ZONE2"; $::REG_FTYPE = '[\w\-]+'; $::REG_SKEW = '[\+\-]?\d+'; $::REG_MTYPE = '[\?bcdflprsw-]'; # Type according to meta data $::REG_FILE = '[\w\-\_\.]+'; $::REG_CASE = $::REG_FILE; $::REG_HOST = '[\w\-\_\.]+'; $::REG_INVESTIG = '[\w]+'; $::REG_IMG = "$::REG_FILE" . '/' . "$::REG_FILE"; $::REG_IMG_PATH = '/[\w\-\_\.\/]+'; $::REG_IMG_PATH_WILD = '/[\w\-\_\.\/]+\*?'; $::REG_IMG_CONFIG = '[\w\-\_\.\/ ]+'; $::REG_FNAME = $::REG_FILE; $::REG_MNT = '[\w\-\_\.\/\:\\\\]+'; $::REG_SEQ_FILE = '[\w\s\-\_\.\/\:\\\\]+'; $::REG_HASHDB = '[\w\-\_\.\,\/]+'; $::REG_IMGTYPE = '[\w\,]+'; $::REG_INAME = '[\w]+'; $::REG_VNAME = '[\w]+'; $::REG_META = '[\d-]+'; $::REG_MD5 = '[0-9a-fA-F]{32,32}'; $::HELP_URL = "help/index.html"; # host_dir and case_dir will end with a '/' $::host_dir = ""; $::case_dir = ""; ################## NEW STUFF ########################## # MODULES # If the values of these are changed, or if new modules are added, # Then the below pseudo-binary sort algorithm must be changed as well $::MOD_CASEMAN = 0; $::MOD_FRAME = 1; $::MOD_FILE = 2; $::MOD_META = 3; $::MOD_KWSRCH = 4; $::MOD_DATA = 5; $::MOD_TL = 6; $::MOD_FS = 7; $::MOD_APPSORT = 8; $::MOD_NOTES = 9; $::MOD_HASH = 10; $::MOD_APPVIEW = 11; # Main Menu # # Display the title page sub welcome { Print::print_html_header_javascript("Autopsy Forensic Browser"); print "
Warning: You are using Perl v5.8.
\n"
. " Some buffer problems have been reported with Autopsy and Perl 5.8 "
. "where output is not shown.
\n"
. "Perl 5.6 should be used if available.\n"
. "If data is missing, reload the page