From 52df9894ea152f77a9d47e4ea9546b5e1b5dc663 Mon Sep 17 00:00:00 2001 From: Richard Cordovano Date: Thu, 14 Feb 2019 13:00:43 -0500 Subject: [PATCH] Revert "Merge branch '1190-basic-edge-module' of https://github.com/kellykelly3/autopsy into improved-case-deletion" This reverts commit c0d4be3a402190e06da4549055bb8a9a9b8c5403, reversing changes made to b55e97d99bf0a6299c6078de6c6063e299d79c5e. --- RecentActivity/build.xml | 3 - .../autopsy/recentactivity/Bundle.properties | 5 - .../autopsy/recentactivity/ExtractEdge.java | 197 --------- .../recentactivity/RAImageIngestModule.java | 4 - .../ESEDatabaseView/ESEDatabaseView.cfg | 33 -- .../ESEDatabaseView/ESEDatabaseView.chm | Bin 18476 -> 0 bytes .../ESEDatabaseView/ESEDatabaseView.exe | Bin 111824 -> 0 bytes thirdparty/ESEDatabaseView/readme.txt | 392 ------------------ 8 files changed, 634 deletions(-) delete mode 100755 RecentActivity/src/org/sleuthkit/autopsy/recentactivity/ExtractEdge.java delete mode 100755 thirdparty/ESEDatabaseView/ESEDatabaseView.cfg delete mode 100755 thirdparty/ESEDatabaseView/ESEDatabaseView.chm delete mode 100755 thirdparty/ESEDatabaseView/ESEDatabaseView.exe delete mode 100755 thirdparty/ESEDatabaseView/readme.txt diff --git a/RecentActivity/build.xml b/RecentActivity/build.xml index 18b655e7ce..af346f58e7 100644 --- a/RecentActivity/build.xml +++ b/RecentActivity/build.xml @@ -19,9 +19,6 @@ - - - diff --git a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle.properties b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle.properties index d6425a4488..1750a4287c 100644 --- a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle.properties +++ b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle.properties @@ -105,8 +105,3 @@ SearchEngineURLQueryAnalyzer.toString=Name\: {0}\n\ SearchEngineURLQueryAnalyzer.parentModuleName.noSpace=RecentActivity SearchEngineURLQueryAnalyzer.parentModuleName=Recent Activity UsbDeviceIdMapper.parseAndLookup.text=Product\: {0} -ExtractEdge.moduleName=Microsoft Edge -ExtractEdge.process.errMsg.unableFindESEViewer=Unable to find ESEDatabaseViewer -ExtractEdge.process.errMsg.errGettingWebCacheFiles=Error retrieving Edge file -ExtractEdge.process.errMsg.noWebCachFiles=No Edge WebCache file found -ExtractEdge.process.errMsg.errWriteFile={0}\: Error while trying to write file\:{1} diff --git a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/ExtractEdge.java b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/ExtractEdge.java deleted file mode 100755 index edf6f98ac4..0000000000 --- a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/ExtractEdge.java +++ /dev/null @@ -1,197 +0,0 @@ -/* - * - * Autopsy Forensic Browser - * - * Copyright 2019 Basis Technology Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.sleuthkit.autopsy.recentactivity; - -import java.io.File; -import java.io.IOException; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Level; -import org.openide.modules.InstalledFileLocator; -import org.openide.util.NbBundle; -import org.sleuthkit.autopsy.casemodule.Case; -import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException; -import org.sleuthkit.autopsy.coreutils.ExecUtil; -import org.sleuthkit.autopsy.coreutils.Logger; -import org.sleuthkit.autopsy.coreutils.PlatformUtil; -import org.sleuthkit.autopsy.datamodel.ContentUtils; -import org.sleuthkit.autopsy.ingest.DataSourceIngestModuleProcessTerminator; -import org.sleuthkit.autopsy.ingest.IngestJobContext; -import org.sleuthkit.autopsy.ingest.IngestServices; -import org.sleuthkit.datamodel.AbstractFile; -import org.sleuthkit.datamodel.Content; -import org.sleuthkit.datamodel.TskCoreException; - -public class ExtractEdge extends Extract{ - - private static final Logger logger = Logger.getLogger(ExtractIE.class.getName()); - private final IngestServices services = IngestServices.getInstance(); - private final String moduleTempResultsDir; - private Content dataSource; - private IngestJobContext context; - - private static String ESE_TOOL_NAME = "ESEDatabaseView.exe"; - private static File ESE_TOOL_FILE; - private static String EDGE_WEBCACHE_NAME = "WebCacheV01.dat"; - private static String EDGE = "Edge"; - - ExtractEdge() throws NoCurrentCaseException{ - moduleName = NbBundle.getMessage(Chrome.class, "ExtractEdge.moduleName"); - moduleTempResultsDir = RAImageIngestModule.getRATempPath(Case.getCurrentCaseThrows(), EDGE) + File.separator + "results"; - } - - @Override - void process(Content dataSource, IngestJobContext context) { - this.dataSource = dataSource; - this.context = context; - dataFound = false; - - this.processWebCache(); - - // Bookmarks come from spartan.edb different file - this.getBookmark(); // Not implemented yet - } - - void processWebCache(){ - Path path = Paths.get("ESEDatabaseView", ESE_TOOL_NAME); - ESE_TOOL_FILE = InstalledFileLocator.getDefault().locate(path.toString(), ExtractEdge.class.getPackage().getName(), false); //NON-NLS - if (ESE_TOOL_FILE == null) { - this.addErrorMessage( - NbBundle.getMessage(this.getClass(), "ExtractEdge.process.errMsg.unableFindESEViewer", this.getName())); - logger.log(Level.SEVERE, "Error finding ESEDatabaseViewer program "); //NON-NLS - } - - final String esedumper = ESE_TOOL_FILE.getAbsolutePath(); - - // get WebCacheV01.dat files - org.sleuthkit.autopsy.casemodule.services.FileManager fileManager = currentCase.getServices().getFileManager(); - List webCachFiles; - try { - webCachFiles = fileManager.findFiles(dataSource, EDGE_WEBCACHE_NAME); //NON-NLS - } catch (TskCoreException ex) { - this.addErrorMessage(NbBundle.getMessage(this.getClass(), "ExtractEdge.process.errMsg.errGettingWebCacheFiles", - this.getName())); - logger.log(Level.WARNING, "Error fetching 'index.data' files for Internet Explorer history."); //NON-NLS - return; - } - - if (webCachFiles.isEmpty()) { - String msg = NbBundle.getMessage(this.getClass(), "ExtractEdge.process.errMsg.noWebCachFiles"); - logger.log(Level.INFO, msg); - return; - } - - dataFound = true; - - if(!PlatformUtil.isWindowsOS()){ - logger.log(Level.WARNING, "Edge data found, unable to parse on non-windows system."); //NON-NLS - return; - } - - String temps; - String indexFileName; - for(AbstractFile indexFile : webCachFiles) { - - //Run the dumper - indexFileName = "WebCacheV01" + Integer.toString((int) indexFile.getId()) + ".dat"; - temps = RAImageIngestModule.getRATempPath(currentCase, EDGE) + File.separator + indexFileName; //NON-NLS - File datFile = new File(temps); - if (context.dataSourceIngestIsCancelled()) { - break; - } - try { - ContentUtils.writeToFile(indexFile, datFile, context::dataSourceIngestIsCancelled); - } catch (IOException e) { - logger.log(Level.WARNING, "Error while trying to write index.dat file " + datFile.getAbsolutePath(), e); //NON-NLS - this.addErrorMessage( - NbBundle.getMessage(this.getClass(), "ExtractEdge.process.errMsg.errWriteFile", this.getName(), - datFile.getAbsolutePath())); - continue; - } - - File resultsDir = new File(moduleTempResultsDir + Integer.toString((int) indexFile.getId())); - resultsDir.mkdirs(); - executeDumper(esedumper, datFile.getAbsolutePath(), "webcache", resultsDir.getAbsolutePath()); - - this.getHistory(); // Not implemented yet - this.getCookie(); // Not implemented yet - this.getDownload(); // Not implemented yet - - datFile.delete(); - resultsDir.delete(); - } - } - - /** - * Query for history databases and add artifacts - */ - private void getHistory() { - - } - - /** - * Search for bookmark files and make artifacts. - */ - private void getBookmark() { - - } - - /** - * Queries for cookie files and adds artifacts - */ - private void getCookie() { - - } - - /** - * Queries for download files and adds artifacts - */ - private void getDownload() { - - } - - private boolean executeDumper(String dumperPath, String inputFilePath, String inputFilePrefix, String outputDir){ - final String outputFileFullPath = outputDir + File.separator + inputFilePrefix + ".txt"; - final String errFileFullPath = outputDir + File.separator + inputFilePrefix + ".err"; //NON-NLS - logger.log(Level.INFO, "Writing ESEDatabaseViewer results to: {0}", outputDir); //NON-NLS - - List commandLine = new ArrayList<>(); - commandLine.add(dumperPath); - commandLine.add("/table"); - commandLine.add(inputFilePath); - commandLine.add("*"); - commandLine.add("/scomma"); - commandLine.add(outputDir + "\\" + inputFilePrefix + "_*.csv"); - - ProcessBuilder processBuilder = new ProcessBuilder(commandLine); - processBuilder.redirectOutput(new File(outputFileFullPath)); - processBuilder.redirectError(new File(errFileFullPath)); - - try{ - ExecUtil.execute(processBuilder, new DataSourceIngestModuleProcessTerminator(context)); - }catch(IOException ex){ - logger.log(Level.SEVERE, "Unable to execute ESEDatabaseView to process Edge file." , ex); //NON-NLS - return false; - } - - return true; - } -} diff --git a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/RAImageIngestModule.java b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/RAImageIngestModule.java index 7e959660f4..5f1c31664a 100644 --- a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/RAImageIngestModule.java +++ b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/RAImageIngestModule.java @@ -59,10 +59,8 @@ public final class RAImageIngestModule implements DataSourceIngestModule { this.context = context; Extract iexplore; - Extract edge; try { iexplore = new ExtractIE(); - edge = new ExtractEdge(); } catch (NoCurrentCaseException ex) { throw new IngestModuleException(ex.getMessage(), ex); } @@ -78,7 +76,6 @@ public final class RAImageIngestModule implements DataSourceIngestModule { extractors.add(chrome); extractors.add(firefox); extractors.add(iexplore); - extractors.add(edge); extractors.add(recentDocuments); extractors.add(SEUQA); // this needs to run after the web browser modules extractors.add(registry); // this should run after quicker modules like the browser modules and needs to run before the DataSourceUsageAnalyzer @@ -88,7 +85,6 @@ public final class RAImageIngestModule implements DataSourceIngestModule { browserExtractors.add(chrome); browserExtractors.add(firefox); browserExtractors.add(iexplore); - browserExtractors.add(edge); for (Extract extractor : extractors) { extractor.init(); diff --git a/thirdparty/ESEDatabaseView/ESEDatabaseView.cfg b/thirdparty/ESEDatabaseView/ESEDatabaseView.cfg deleted file mode 100755 index c0ebf42833..0000000000 --- a/thirdparty/ESEDatabaseView/ESEDatabaseView.cfg +++ /dev/null @@ -1,33 +0,0 @@ -[General] -AutoSizeColumnsOnTableChange=1 -MarkOddEvenRows=0 -ShowGridLines=0 -SaveFilterIndex=0 -ShowInfoTip=1 -AutoDetectDateTime=1 -ConvertGMTToLocalTime=0 -BinaryURLAsString=0 -DetectBinaryUTF16=0 -DetectBinaryAscii=0 -SaveFileEncoeding=0 -AlignNumbersToRight=0 -UseQuickFilter=0 -QuickFilterString= -QuickFilterColumnsMode=1 -QuickFilterFindMode=1 -QuickFilterShowHide=1 -TrayIcon=0 -WinPos=2C 00 00 00 00 00 00 00 01 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 22 02 00 00 9D FC FF FF 2A 07 00 00 4A FF FF FF -Columns= -Sort=0 -[RecentFiles] -0= -1= -2= -3= -4= -5= -6= -7= -8= -9= diff --git a/thirdparty/ESEDatabaseView/ESEDatabaseView.chm b/thirdparty/ESEDatabaseView/ESEDatabaseView.chm deleted file mode 100755 index b4dc3a33a4cf140c7926e8e82a60a900e8a51b4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18476 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%0DoNYe*@YM1N2`qn9vEfjEh}mu6MZ`fh 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 diff --git a/thirdparty/ESEDatabaseView/ESEDatabaseView.exe b/thirdparty/ESEDatabaseView/ESEDatabaseView.exe deleted file mode 100755 index 17cc8299ae579f7aec2922ca34b45d5f4efa4a81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111824 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 Use Quick Filter or - Ctrl+Q). When it's turned on, you can type a string in the text-box - added under the tables combo-box and ESEDatabaseView will instantly - filter the ESE database records, showing only lines that contain the - string you typed. - -* Version 1.43: - o Added 'Save All Items' (Shift+Ctrl+S). - -* Version 1.42: - o Fixed bug: ESEDatabaseView crashed when using the find option - while the last item was selected. - -* Version 1.41: - o Added 'Align Numeric Columns To Right' option. - -* Version 1.40: - o Fixed bug: On some databases/tables (like Recipient table in - store.vol or tbUpdateLocalizedProps table in DataStore.edb) - ESEDatabaseView omitted the first 4 characters of a string. - o Added 'Select All' and 'Deselect All' buttons to the 'Choose - Column' window. - -* Version 1.37: - o You can now choose the desired encoding (ANSI, UTF-8, UTF-16) to - save the csv/xml/text/html files. (Under the Options menu) - -* Version 1.36: - o Added 'New ESEDatabaseView Instance' under the File menu, for - opening a new window of ESEDatabaseView. - -* Version 1.35: - o When 'Auto Detect 64-bit Date/Time Value' option is turned on, - ESEDatabaseView now detects the Modified field of tbFiles table - inside DataStore.edb - o The properties window is now resizable. - -* Version 1.33: - o Fixed issue: ESEDatabaseView failed to display dates earlier than - 01/01/1986. - -* Version 1.32: - o Added 'Show Binary URL As String'. When it's turned on, the Urls - field of tbFiles table inside DataStore.edb is displayed as string. - -* Version 1.31: - o Fixed the 'Open Locked IE10/IE11 Database' option to work with - the latest build of Windows 10/IE11. - -* Version 1.30: - o Added option to export to JSON file. - o Fixed bug: ESEDatabaseView failed to load records on some - tables/databases. - o Fixed bug: ESEDatabaseView crashed when trying to load a very - large binary value. - -* Version 1.25: - o Fixed bug: ESEDatabaseView displayed incorrect values in - date/time fields. - -* Version 1.24: - o Fixed bug: ESEDatabaseView failed to remember the last - size/position of the main window if it was not located in the primary - monitor. - -* Version 1.23: - o You can now specify an empty string ("") in order to send the - data to stdout, for example: - ESEDatabaseView.exe /table "c:\temp\contacts.edb" - "SimpleContact-v081111-0122-1303" /scomma "" - -* Version 1.22: - o Added 'Copy Sorted Column Data' option, which copies to the - clipboard the text of all selected items, but only the column that is - currently sorted. - -* Version 1.21: - o Fixed to find the correct item when typing the string you want to - search into the main List View. - -* Version 1.20: - o Added option to export all tables from command-line (Each table - in a separated file), for example: - ESEDatabaseView.exe /table "C:\temp\WebCacheV01.dat" * /scomma - "C:\Temp\export\webcache_*.csv" - -* Version 1.18: - o Fixed to display local date/time values according to daylight - saving time settings. - -* Version 1.17: - o Added 'Open SoftwareDistribution Database' option, which opens - the database file containing information about installed Winodws - updates (C:\WINDOWS\SoftwareDistribution\DataStore\DataStore.edb) - -* Version 1.16: - o Added 'Clear Recent Files List' option. - -* Version 1.15: - o Added 'Open Recent File' menu, which allows you to easily open - the last 10 database files that you previously opened. - -* Version 1.10: - o Added 'Open Locked IE10 Database' option, which copies the locked - database file of Internet Explorer 10 (WebCacheV01.dat or - WebCacheV24.dat) into a temporary filename, and then opens the - temporary filename in ESEDatabaseView. You can use this option to - easily view the cache/history/cookies information stored by IE10. - -* Version 1.07: - o Fixed the flickering appeared while scrolling the database - records. - -* Version 1.06: - o Added 'Convert Date/Time From GMT To Local Time' option. - -* Version 1.05: - o Added command-line support - -* Version 1.00 - First release. - - - -Known Limitations -================= - - -* Currently, ESEDatabaseView is somewhat a Beta version. It generally - reads the ESE databases properly, but in tables with complex data - structure, you may experience the following problems: - o Some fields in some of the records may display incorrect value or - display empty string while it actually contains some data. - o ESEDatabaseView may hang/stop responding when loading a table - with large amount of data. - - - - -Example for ESE Databases -========================= - -ESE Databases are used by many Microsoft products. Usually, the file -extension of ESE database is .edb, but in some products the file -extension is different. -Here's some examples for .edb files used by Microsoft products: -* contacts.edb - Stores contacts information in Microsoft live products. -* WLCalendarStore.edb - Stores calendar information in Microsoft - Windows Live Mail. -* Mail.MSMessageStore - Stores messages information in Microsoft - Windows Live Mail. -* WebCacheV24.dat and WebCacheV01.dat - Stores cache, history, and - cookies information in Internet Explorer 10. -* Mailbox Database.edb and Public Folder Database.edb - Stores mail - data in Microsoft Exchange Server. -* Windows.edb - Stores index information (for Windows search) by - Windows operating system. -* DataStore.edb - Stores Windows updates information (Located under - C:\windows\SoftwareDistribution\DataStore ) -* spartan.edb - Stores the Favorites of Internet Explorer 10/11. - (Stored under - %LOCALAPPDATA%\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\AC\Microsof - tEdge\User\Default\DataStore\Data\nouser1\120712-0049) - - - -Start Using ESEDatabaseView -=========================== - -ESEDatabaseView doesn't require any installation process or additional -dll files. In order to start using it, simple run the executable file -(ESEDatabaseView.exe) and then use the 'Open ESE Database File' option -(Ctrl+O) to open the desired .edb file. You can also drag the database -file from Explorer window into the window of ESEDatabaseView. - -After opening the desired database file, the combo-box located below the -toolbar is filled with the list of all tables found in the database. By -default, MSysObjects table is selected and displayed in the main window -of ESEDatabaseView. MSysObjects is a system table available in all ESE -databases which provides the list of all tables and fields stored in the -database. -In order to view the content of another table, simply choose the desired -table in the combo-box located below the toolbar. - -By default, the table is sorted according to the first column, but you -can sort by another field, simply by clicking the desired column header. -The sorting is made according to the type of the field, so... for -example, if the field is an integer value, then ESEDatabaseView will use -a numeric comparison in order to sort the column properly. - -You can select one or more records (or select all records with Ctrl+A) -and then export them into text/csv/tab-delimited/html/xml file, by using -the 'Save Selected Items' option. You can also copy the selected records -into the clipboard (Ctrl+C) and then paste them (Ctrl+V) into Excel or -other spreadsheet application. - - - -Command-Line Options -==================== - - - -/table -Specifies the database and table to open. If the
is "*" , -all tables will be exported, each table in a separated file. - -/stext -Save the database table into a regular text file. - -/stab -Save the database table into a tab-delimited text file. - -/scomma -Save the database table into a comma-delimited text file (csv). - -/stabular -Save the database table into a tabular text file. - -/shtml -Save the database table into HTML file (Horizontal). - -/sverhtml -Save the database table into HTML file (Vertical). - -/sxml -Save the database table into XML file. - -/sjson -Save the database table into JSON file. - -/sort -This command-line option can be used with other save options for sorting -by the desired column. The parameter can specify the column -index (0 for the first column, 1 for the second column, and so on) or the -name of the column, like "StatusState" and "CalculatedBuddyIdentifier". -You can specify the '~' prefix character (e.g: -"~CalculatedBuddyIdentifier") if you want to sort in descending order. -You can put multiple /sort in the command-line if you want to sort by -multiple columns. - -Examples: -ESEDatabaseView.exe /table "c:\temp\contacts.edb" -"SimpleContact-v081111-0122-1303" /scomma c:\temp\1.csv -ESEDatabaseView.exe /table "c:\files\contacts.edb" -"SimpleContact-v081111-0777-1111" /shtml c:\files\1.html /Sort -"CalculatedBuddyIdentifier" - -Example for exporting all tables: (Each table is exported into a -separated file) -ESEDatabaseView.exe /table "C:\temp\WebCacheV01.dat" * /scomma -"C:\Temp\export\webcache_*.csv" - -The table name will replace the '*' character specified in the export -filename. For example, if the table name is Container1, then the exported -filename will be webcache_Container1.csv - - - -Translating ESEDatabaseView to other languages -============================================== - -In order to translate ESEDatabaseView to other language, follow the -instructions below: -1. Run ESEDatabaseView with /savelangfile parameter: - ESEDatabaseView.exe /savelangfile - A file named ESEDatabaseView_lng.ini will be created in the folder of - ESEDatabaseView utility. -2. Open the created language file in Notepad or in any other text - editor. -3. Translate all string entries to the desired language. Optionally, - you can also add your name and/or a link to your Web site. - (TranslatorName and TranslatorURL values) If you add this information, - it'll be used in the 'About' window. -4. After you finish the translation, Run ESEDatabaseView, and all - translated strings will be loaded from the language file. - If you want to run ESEDatabaseView without the translation, simply - rename the language file, or move it to another folder. - - - -License -======= - -This utility is released as freeware. You are allowed to freely -distribute this utility via floppy disk, CD-ROM, Internet, or in any -other way, as long as you don't charge anything for this and you don't -sell it or distribute it as a part of commercial product. If you -distribute this utility, you must include all files in the distribution -package, without any modification ! - - - -Disclaimer -========== - -The software is provided "AS IS" without any warranty, either expressed -or implied, including, but not limited to, the implied warranties of -merchantability and fitness for a particular purpose. The author will not -be liable for any special, incidental, consequential or indirect damages -due to loss of data or any other reason. - - - -Feedback -======== - -If you have any problem, suggestion, comment, or you found a bug in my -utility, you can send a message to nirsofer@yahoo.com