diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/layer.xml b/Case/src/org/sleuthkit/autopsy/casemodule/layer.xml index 25182317bd..fd6b4dd453 100644 --- a/Case/src/org/sleuthkit/autopsy/casemodule/layer.xml +++ b/Case/src/org/sleuthkit/autopsy/casemodule/layer.xml @@ -56,8 +56,6 @@ - - @@ -146,22 +144,7 @@ - - - - - - - - - - - - - - - - + @@ -188,11 +171,6 @@ - - - - - diff --git a/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbIngestService.java b/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbIngestService.java deleted file mode 100644 index 69e2d7b916..0000000000 --- a/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbIngestService.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Autopsy Forensic Browser - * - * Copyright 2011 Basis Technology Corp. - * Contact: carrier sleuthkit org - * - * 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.hashdatabase; - -import java.util.logging.Level; -import java.util.logging.Logger; -import org.sleuthkit.autopsy.ingest.IngestManager; -import org.sleuthkit.autopsy.ingest.IngestServiceFsContent; -import org.sleuthkit.datamodel.FsContent; - -public class HashDbIngestService implements IngestServiceFsContent { - - private static HashDbIngestService instance = null; - - private static String SERVICE_NAME = "Hash Db"; - - private static final Logger logger = Logger.getLogger(HashDbIngestService.class.getName()); - - private HashDbIngestService() { - - } - - public static synchronized HashDbIngestService getDefault() { - if (instance == null) { - instance = new HashDbIngestService(); - } - return instance; - } - - @Override - public void process(FsContent fsContent) { - logger.log(Level.INFO, "Processing fsContent: " + fsContent.getName()); - } - - @Override - public void complete() { - logger.log(Level.INFO, "complete()"); - } - - @Override - public String getName() { - return SERVICE_NAME; - } - - @Override - public void init(IngestManager manager) { - logger.log(Level.INFO, "init()"); - } - - @Override - public void stop() { - logger.log(Level.INFO, "stop()"); - } - - - -} diff --git a/HashDatabase/build.xml b/HashDatabase/build.xml new file mode 100644 index 0000000000..2bc7c94855 --- /dev/null +++ b/HashDatabase/build.xml @@ -0,0 +1,8 @@ + + + + + + Builds, tests, and runs the project org.sleuthkit.autopsy.hashdatabase. + + diff --git a/HashDatabase/manifest.mf b/HashDatabase/manifest.mf new file mode 100644 index 0000000000..896d3ff7a6 --- /dev/null +++ b/HashDatabase/manifest.mf @@ -0,0 +1,6 @@ +Manifest-Version: 1.0 +OpenIDE-Module: org.sleuthkit.autopsy.hashdatabase +OpenIDE-Module-Layer: org/sleuthkit/autopsy/hashdatabase/layer.xml +OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/hashdatabase/Bundle.properties +OpenIDE-Module-Specification-Version: 1.0 + diff --git a/HashDatabase/nbproject/build-impl.xml b/HashDatabase/nbproject/build-impl.xml new file mode 100644 index 0000000000..1a1de7ed0f --- /dev/null +++ b/HashDatabase/nbproject/build-impl.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + You must set 'suite.dir' to point to your containing module suite + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/HashDatabase/nbproject/genfiles.properties b/HashDatabase/nbproject/genfiles.properties new file mode 100644 index 0000000000..384c2b7a9c --- /dev/null +++ b/HashDatabase/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=3540e213 +build.xml.script.CRC32=1308cb72 +build.xml.stylesheet.CRC32=a56c6a5b@1.46.2 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=3540e213 +nbproject/build-impl.xml.script.CRC32=a7a0d07a +nbproject/build-impl.xml.stylesheet.CRC32=238281d1@1.46.2 diff --git a/HashDatabase/nbproject/project.properties b/HashDatabase/nbproject/project.properties new file mode 100644 index 0000000000..17255bac6b --- /dev/null +++ b/HashDatabase/nbproject/project.properties @@ -0,0 +1,2 @@ +javac.source=1.6 +javac.compilerargs=-Xlint -Xlint:-serial diff --git a/HashDatabase/nbproject/project.xml b/HashDatabase/nbproject/project.xml new file mode 100644 index 0000000000..cb76066b9f --- /dev/null +++ b/HashDatabase/nbproject/project.xml @@ -0,0 +1,73 @@ + + + org.netbeans.modules.apisupport.project + + + org.sleuthkit.autopsy.hashdatabase + + + + org.openide.awt + + + + 7.31.1 + + + + org.openide.dialogs + + + + 7.20.1 + + + + org.openide.util + + + + 8.15.1 + + + + org.sleuthkit.autopsy.casemodule + + + + 1 + 1.0 + + + + org.sleuthkit.autopsy.coreutils + + + + 0-1 + 0.0 + + + + org.sleuthkit.autopsy.datamodel + + + + 1 + 1.0 + + + + org.sleuthkit.autopsy.ingest + + + + 0-1 + 1.0 + + + + + + + diff --git a/HashDatabase/nbproject/suite.properties b/HashDatabase/nbproject/suite.properties new file mode 100644 index 0000000000..29d7cc9bd6 --- /dev/null +++ b/HashDatabase/nbproject/suite.properties @@ -0,0 +1 @@ +suite.dir=${basedir}/.. diff --git a/Case/src/org/sleuthkit/autopsy/hashdatabase/Bundle.properties b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/Bundle.properties similarity index 74% rename from Case/src/org/sleuthkit/autopsy/hashdatabase/Bundle.properties rename to HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/Bundle.properties index 4e1a794753..ab3c6173d9 100644 --- a/Case/src/org/sleuthkit/autopsy/hashdatabase/Bundle.properties +++ b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/Bundle.properties @@ -1,2 +1,3 @@ +OpenIDE-Module-Name=HashDatabase HashDatabaseManagementPanel.okayButton.text=Okay HashDbPanel.fileSelectButton.text=Select...\n diff --git a/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDb.java b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDb.java similarity index 100% rename from Case/src/org/sleuthkit/autopsy/hashdatabase/HashDb.java rename to HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDb.java diff --git a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbIngestService.java b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbIngestService.java new file mode 100644 index 0000000000..ae1731fbe0 --- /dev/null +++ b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbIngestService.java @@ -0,0 +1,111 @@ +/* + * Autopsy Forensic Browser + * + * Copyright 2011 Basis Technology Corp. + * Contact: carrier sleuthkit org + * + * 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.hashdatabase; + +import java.util.logging.Level; +import java.util.logging.Logger; +import org.sleuthkit.autopsy.casemodule.Case; +import org.sleuthkit.autopsy.ingest.IngestManager; +import org.sleuthkit.autopsy.ingest.IngestMessage; +import org.sleuthkit.autopsy.ingest.IngestServiceFsContent; +import org.sleuthkit.datamodel.FsContent; +import org.sleuthkit.datamodel.SleuthkitCase; +import org.sleuthkit.datamodel.TskException; + +public class HashDbIngestService implements IngestServiceFsContent { + + private static HashDbIngestService instance = null; + + private static final Logger logger = Logger.getLogger(HashDbIngestService.class.getName()); + + private IngestManager manager; + + private SleuthkitCase skCase; + + private HashDbIngestService() { + + } + + public static synchronized HashDbIngestService getDefault() { + if (instance == null) { + instance = new HashDbIngestService(); + } + return instance; + } + + + private final static String NAME = "Hash Ingest Service"; + /** + * notification from manager that brand new processing should be initiated. + * Service loads its configuration and performs initialization + * + * @param IngestManager handle to the manager to postMessage() to + */ + @Override + public void init(IngestManager manager){ + logger.log(Level.INFO, "init()"); + this.manager = manager; + this.skCase = Case.getCurrentCase().getSleuthkitCase(); + } + + /** + * notification from manager that there is no more content to process and all work is done. + * Service performs any clean-up, notifies viewers and may also write results to the black-board + */ + @Override + public void complete(){ + logger.log(Level.INFO, "complete()"); + } + + /** + * notification from manager to stop processing due to some interruption (user, error, exception) + */ + @Override + public void stop(){ + logger.log(Level.INFO, "stop()"); + } + + /** + * get specific name of the service + * should be unique across services, a user-friendly name of the service shown in GUI + */ + @Override + public String getName(){ + return NAME; + } + + @Override + public void process(FsContent fsContent){ + logger.log(Level.INFO, "Processing fsContent: " + fsContent.getName()); + try{ + long status = skCase.analyzeFileMd5(fsContent); + if(status == 1){ + manager.postMessage(IngestMessage.createDataMessage(123, this, "Found known file", null)); + }else if(status == 2){ + manager.postMessage(IngestMessage.createDataMessage(123, this, "Found known bad file", null)); + } + } catch (TskException e){ + logger.log(Level.SEVERE, "Couldn't analyze file - see sleuthkit log for details"); + } + } + +} diff --git a/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbMgmtAction.java b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbMgmtAction.java similarity index 100% rename from Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbMgmtAction.java rename to HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbMgmtAction.java diff --git a/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbMgmtPanel.java b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbMgmtPanel.java similarity index 100% rename from Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbMgmtPanel.java rename to HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbMgmtPanel.java diff --git a/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbPanel.form b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbPanel.form similarity index 98% rename from Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbPanel.form rename to HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbPanel.form index 1f12ade034..8456f623db 100644 --- a/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbPanel.form +++ b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbPanel.form @@ -1,4 +1,4 @@ - +
@@ -33,7 +33,7 @@ - + diff --git a/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbPanel.java b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbPanel.java similarity index 100% rename from Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbPanel.java rename to HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbPanel.java diff --git a/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbSettings.java b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbSettings.java similarity index 100% rename from Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbSettings.java rename to HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbSettings.java diff --git a/Case/src/org/sleuthkit/autopsy/hashdatabase/IndexStatus.java b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/IndexStatus.java similarity index 100% rename from Case/src/org/sleuthkit/autopsy/hashdatabase/IndexStatus.java rename to HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/IndexStatus.java diff --git a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/layer.xml b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/layer.xml new file mode 100644 index 0000000000..4676748890 --- /dev/null +++ b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/layer.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nbproject/project.properties b/nbproject/project.properties index 6e6debae3a..4acb2e5e05 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -19,13 +19,15 @@ modules=\ ${project.org.sleuthkit.autopsy.casemodule}:\ ${project.org.sleuthkit.autopsy.keywordsearch}:\ ${project.org.sleuthkit.autopsy.coreutils}:\ - ${project.org.sleuthkit.autopsy.ingest} + ${project.org.sleuthkit.autopsy.ingest}:\ + ${project.org.sleuthkit.autopsy.hashdatabase} project.org.sleuthkit.autopsy.casemodule=Case project.org.sleuthkit.autopsy.corecomponentinterfaces=CoreComponentInterfaces project.org.sleuthkit.autopsy.corecomponents=CoreComponents project.org.sleuthkit.autopsy.coreutils=CoreUtils project.org.sleuthkit.autopsy.directorytree=DirectoryTree project.org.sleuthkit.autopsy.filesearch=FileSearch +project.org.sleuthkit.autopsy.hashdatabase=HashDatabase project.org.sleuthkit.autopsy.ingest=Ingest project.org.sleuthkit.autopsy.keywordsearch=KeywordSearch project.org.sleuthkit.autopsy.menuactions=MenuActions