mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-13 08:26:15 +00:00
Merge branch 'develop' of https://github.com/sleuthkit/autopsy into hashdb
This commit is contained in:
commit
4abcf92b00
@ -103,11 +103,13 @@ public class CueBannerPanel extends javax.swing.JPanel {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
createNewLabel.setFont(new java.awt.Font("Tahoma", 0, 13)); // NOI18N NON-NLS
|
// createNewLabel.setFont(new java.awt.Font("Tahoma", 0, 13)); // NOI18N NON-NLS
|
||||||
createNewLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.createNewLabel.text")); // NOI18N
|
createNewLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.createNewLabel.text")); // NOI18N
|
||||||
|
createNewLabel.setFont(createNewLabel.getFont().deriveFont(13.0f));
|
||||||
|
|
||||||
openRecentLabel.setFont(new java.awt.Font("Tahoma", 0, 13)); // NOI18N NON-NLS
|
// openRecentLabel.setFont(new java.awt.Font("Tahoma", 0, 13)); // NOI18N NON-NLS
|
||||||
openRecentLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openRecentLabel.text")); // NOI18N
|
openRecentLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openRecentLabel.text")); // NOI18N
|
||||||
|
openRecentLabel.setFont(openRecentLabel.getFont().deriveFont(13.0f));
|
||||||
|
|
||||||
openCaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/btn_icon_open_existing.png"))); // NOI18N NON-NLS
|
openCaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/btn_icon_open_existing.png"))); // NOI18N NON-NLS
|
||||||
openCaseButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openCaseButton.text")); // NOI18N
|
openCaseButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openCaseButton.text")); // NOI18N
|
||||||
@ -122,8 +124,9 @@ public class CueBannerPanel extends javax.swing.JPanel {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
openLabel.setFont(new java.awt.Font("Tahoma", 0, 13)); // NOI18N NON-NLS
|
// openLabel.setFont(new java.awt.Font("Tahoma", 0, 13)); // NOI18N NON-NLS
|
||||||
openLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openLabel.text")); // NOI18N
|
openLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openLabel.text")); // NOI18N
|
||||||
|
openLabel.setFont(openLabel.getFont().deriveFont(13.0f));
|
||||||
|
|
||||||
javax.swing.GroupLayout editorPanelLayout = new javax.swing.GroupLayout(editorPanel);
|
javax.swing.GroupLayout editorPanelLayout = new javax.swing.GroupLayout(editorPanel);
|
||||||
editorPanel.setLayout(editorPanelLayout);
|
editorPanel.setLayout(editorPanelLayout);
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
package org.sleuthkit.autopsy.corecomponents;
|
package org.sleuthkit.autopsy.corecomponents;
|
||||||
|
|
||||||
import javax.swing.DefaultComboBoxModel;
|
import javax.swing.DefaultComboBoxModel;
|
||||||
|
import org.openide.util.NbBundle;
|
||||||
import org.sleuthkit.autopsy.core.UserPreferences;
|
import org.sleuthkit.autopsy.core.UserPreferences;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -29,6 +30,7 @@ final class AutopsyOptionsPanel extends javax.swing.JPanel {
|
|||||||
AutopsyOptionsPanel(AutopsyOptionsPanelController controller) {
|
AutopsyOptionsPanel(AutopsyOptionsPanelController controller) {
|
||||||
initComponents();
|
initComponents();
|
||||||
numberOfFileIngestThreadsComboBox.setModel(new DefaultComboBoxModel<>(new Integer[]{1, 2, 4, 8, 16}));
|
numberOfFileIngestThreadsComboBox.setModel(new DefaultComboBoxModel<>(new Integer[]{1, 2, 4, 8, 16}));
|
||||||
|
restartRequiredLabel.setText(NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.restartRequiredLabel.text", Runtime.getRuntime().availableProcessors()));
|
||||||
// TODO listen to changes in form fields and call controller.changed()
|
// TODO listen to changes in form fields and call controller.changed()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -139,4 +139,4 @@ AutopsyOptionsPanel.keepCurrentViewerRB.toolTipText=For example, stay in Hex vie
|
|||||||
AutopsyOptionsPanel.keepCurrentViewerRB.text=Stay on the same file viewer
|
AutopsyOptionsPanel.keepCurrentViewerRB.text=Stay on the same file viewer
|
||||||
AutopsyOptionsPanel.jLabel1.text=When selecting a file:
|
AutopsyOptionsPanel.jLabel1.text=When selecting a file:
|
||||||
AutopsyOptionsPanel.jLabel2.text=When displaying times:
|
AutopsyOptionsPanel.jLabel2.text=When displaying times:
|
||||||
AutopsyOptionsPanel.restartRequiredLabel.text=Restart required to take effect
|
AutopsyOptionsPanel.restartRequiredLabel.text=For this computer, a maximum of {0} file ingest threads should be used. Restart required to take effect.
|
||||||
|
@ -22,6 +22,7 @@ import java.awt.Cursor;
|
|||||||
import java.beans.PropertyChangeEvent;
|
import java.beans.PropertyChangeEvent;
|
||||||
import java.beans.PropertyChangeListener;
|
import java.beans.PropertyChangeListener;
|
||||||
import java.beans.PropertyChangeSupport;
|
import java.beans.PropertyChangeSupport;
|
||||||
|
import java.beans.PropertyVetoException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -367,7 +368,7 @@ public class DataResultPanel extends javax.swing.JPanel implements DataResult, C
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setNode(Node selectedNode) {
|
public void setNode(final Node selectedNode) {
|
||||||
if (this.rootNode != null) {
|
if (this.rootNode != null) {
|
||||||
this.rootNode.removeNodeListener(dummyNodeListener);
|
this.rootNode.removeNodeListener(dummyNodeListener);
|
||||||
}
|
}
|
||||||
@ -390,6 +391,20 @@ public class DataResultPanel extends javax.swing.JPanel implements DataResult, C
|
|||||||
if (selectedNode != null) {
|
if (selectedNode != null) {
|
||||||
int childrenCount = selectedNode.getChildren().getNodesCount();
|
int childrenCount = selectedNode.getChildren().getNodesCount();
|
||||||
this.numberMatchLabel.setText(Integer.toString(childrenCount));
|
this.numberMatchLabel.setText(Integer.toString(childrenCount));
|
||||||
|
|
||||||
|
//if there is only one child, select it to be displayed in the content viewer
|
||||||
|
if (childrenCount == 1) {
|
||||||
|
SwingUtilities.invokeLater(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
try {
|
||||||
|
explorerManager.setSelectedNodes(selectedNode.getChildren().getNodes());
|
||||||
|
} catch (PropertyVetoException ex) {
|
||||||
|
logger.log(Level.INFO, "node selection vetoed");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.numberMatchLabel.setVisible(true);
|
this.numberMatchLabel.setVisible(true);
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,27 @@
|
|||||||
# To change this template, choose Tools | Templates
|
ExternalResultsImporter.importDerivedFiles.errMsg1.text=Could not import derived file at {0}, parent file {1} not found.
|
||||||
# and open the template in the editor.
|
ExternalResultsImporter.importDerivedFiles.errMsg2.text=Could not import derived file at {0}, file does not exist.
|
||||||
|
ExternalResultsImporter.importDerivedFiles.errMsg3.text=Could not import derived file at {0}, error querying/updating case database.
|
||||||
ExternalResultsIngestModule.moduleName.text=External Results Importer
|
ExternalResultsImporter.importArtifacts.caseErrMsg1.text=Could not import {0} attribute, value \= {1}, for {2} artifact from {3}, unrecognized attribute value type\: {4}.
|
||||||
ExternalResultsIngestModule.properties.text=ExternalResultsImporter
|
ExternalResultsImporter.importArtifacts.errMsg1.text=Could not import {0} artifact from {1}, source file not found.
|
||||||
ExternalResultsIngestModule.moduleDesc.text=Parse command line tool output to create blackboard entries and add files to the database.
|
ExternalResultsImporter.importArtifacts.errMsg2.text=Could not import {0} artifact from {1}, error updating case database.
|
||||||
ExternalResultsIngestModule.startUp.exception.importdir=Import directory does not exist and was not able to be created.
|
ExternalResultsImporter.importReports.errMsg1.text=Could not import report at {0}, file does not exist.
|
||||||
ExternalResultsIngestModule.process.exception.datasourcepath=Error getting the data source path.
|
ExternalResultsImporter.importReports.errMsg2.text=Could not import report at {0}, error updating case database.
|
||||||
ExternalResultsIngestModule.process.exception.run=Error running the external command:
|
ExternalResultsImporter.findFileInCaseDatabase.errMsg1.text=Parent file path {0} is ambiguous, using first file found.
|
||||||
ExternalResultsIngestModule.process.shutdown.finished=Finished
|
ExternalResultsImporter.getPathRelativeToCaseFolder.errMsg1.text=Did not convert {0} to relative path, not in a subdirectory of case directory {1}.
|
||||||
|
ExternalResultsImporter.getPathRelativeToCaseFolder.errMsg2.text=Expected {0} to be an absolute path to a file in a subdirectory of case directory {1}.
|
||||||
|
ExternalResultsXMLParser.parse.errMsg1.text=Did not find {0} root element of {1}.
|
||||||
|
ExternalResultsXMLParser.parse.errMsg2.text=Error parsing {0}.
|
||||||
|
ExternalResultsXMLParser.parseArtifactAttributes.errMsg1.text=Found {0} element that has no content in {1}.
|
||||||
|
ExternalResultsXMLParser.parseAttributeValueType.errMsg1.text=Found unrecognized value {0} for {1} attribute of {2} element.
|
||||||
|
ExternalResultsXMLParser.getChildElementContent.errMsg1.text=Found {0} element with {1} child element that has no content in {2}.
|
||||||
|
ExternalResultsXMLParser.getChildElementContent.errMsg2.text=Found {0} element missing {1} child element in {2}.
|
||||||
|
ExternalResultsXMLParser.getChildElement.errMsg1.text=Found multiple {0} child elements for {1} element in {2}, ignoring all but first occurrence.
|
||||||
|
ExternalResults.addArtifact.exception.msg1.text=type argument is empty.
|
||||||
|
ExternalResults.addArtifact.exception.msg2.text=source argument is empty.
|
||||||
|
ExternalResults.addReport.exception.msg1.text=localPath argument is empty.
|
||||||
|
ExternalResults.addReport.exception.msg2.text=sourceModuleName argument is empty.
|
||||||
|
ExternalResults.addDerivedFile.exception.msg1.text=localPath argument is empty.
|
||||||
|
ExternalResults.addDerivedFile.exception.msg2.text=parentPath argument is empty.
|
||||||
|
ExternalResults.Artifact.addAttribute.exception.msg1.text=type argument is empty.
|
||||||
|
ExternalResults.Artifact.addAttribute.exception.msg2.text=value argument is empty.
|
||||||
|
ExternalResults.Artifact.addAttribute.exception.msg3.text=valueType argument is empty.
|
@ -21,6 +21,8 @@ package org.sleuthkit.autopsy.externalresults;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.openide.util.NbBundle;
|
||||||
import org.sleuthkit.datamodel.Content;
|
import org.sleuthkit.datamodel.Content;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -43,10 +45,12 @@ final public class ExternalResults {
|
|||||||
|
|
||||||
Artifact addArtifact(String type, String sourceFilePath) {
|
Artifact addArtifact(String type, String sourceFilePath) {
|
||||||
if (type.isEmpty()) {
|
if (type.isEmpty()) {
|
||||||
throw new IllegalArgumentException("type argument is empty");
|
throw new IllegalArgumentException(
|
||||||
|
NbBundle.getMessage(this.getClass(), "ExternalResults.addArtifact.exception.msg1.text"));
|
||||||
}
|
}
|
||||||
if (sourceFilePath.isEmpty()) {
|
if (sourceFilePath.isEmpty()) {
|
||||||
throw new IllegalArgumentException("source argument is empty");
|
throw new IllegalArgumentException(
|
||||||
|
NbBundle.getMessage(this.getClass(), "ExternalResults.addArtifact.exception.msg2.text"));
|
||||||
}
|
}
|
||||||
Artifact artifact = new Artifact(type, sourceFilePath);
|
Artifact artifact = new Artifact(type, sourceFilePath);
|
||||||
artifacts.add(artifact);
|
artifacts.add(artifact);
|
||||||
@ -59,10 +63,12 @@ final public class ExternalResults {
|
|||||||
|
|
||||||
void addReport(String localPath, String sourceModuleName, String reportName) {
|
void addReport(String localPath, String sourceModuleName, String reportName) {
|
||||||
if (localPath.isEmpty()) {
|
if (localPath.isEmpty()) {
|
||||||
throw new IllegalArgumentException("localPath argument is empty");
|
throw new IllegalArgumentException(
|
||||||
|
NbBundle.getMessage(this.getClass(), "ExternalResults.addReport.exception.msg1.text"));
|
||||||
}
|
}
|
||||||
if (sourceModuleName.isEmpty()) {
|
if (sourceModuleName.isEmpty()) {
|
||||||
throw new IllegalArgumentException("sourceModuleName argument is empty");
|
throw new IllegalArgumentException(
|
||||||
|
NbBundle.getMessage(this.getClass(), "ExternalResults.addReport.exception.msg2.text"));
|
||||||
}
|
}
|
||||||
Report report = new Report(localPath, sourceModuleName, reportName);
|
Report report = new Report(localPath, sourceModuleName, reportName);
|
||||||
reports.add(report);
|
reports.add(report);
|
||||||
@ -74,10 +80,12 @@ final public class ExternalResults {
|
|||||||
|
|
||||||
void addDerivedFile(String localPath, String parentPath) {
|
void addDerivedFile(String localPath, String parentPath) {
|
||||||
if (localPath.isEmpty()) {
|
if (localPath.isEmpty()) {
|
||||||
throw new IllegalArgumentException("localPath argument is empty");
|
throw new IllegalArgumentException(
|
||||||
|
NbBundle.getMessage(this.getClass(), "ExternalResults.addDerivedFile.exception.msg1.text"));
|
||||||
}
|
}
|
||||||
if (parentPath.isEmpty()) {
|
if (parentPath.isEmpty()) {
|
||||||
throw new IllegalArgumentException("parentPath argument is empty");
|
throw new IllegalArgumentException(
|
||||||
|
NbBundle.getMessage(this.getClass(), "ExternalResults.addDerivedFile.exception.msg2.text"));
|
||||||
}
|
}
|
||||||
DerivedFile file = new DerivedFile(localPath, parentPath);
|
DerivedFile file = new DerivedFile(localPath, parentPath);
|
||||||
derivedFiles.add(file);
|
derivedFiles.add(file);
|
||||||
@ -108,13 +116,16 @@ final public class ExternalResults {
|
|||||||
|
|
||||||
void addAttribute(String type, String value, String valueType, String sourceModule) {
|
void addAttribute(String type, String value, String valueType, String sourceModule) {
|
||||||
if (type.isEmpty()) {
|
if (type.isEmpty()) {
|
||||||
throw new IllegalArgumentException("type argument is empty");
|
throw new IllegalArgumentException(NbBundle.getMessage(this.getClass(),
|
||||||
|
"ExternalResults.Artifact.addAttribute.exception.msg1.text"));
|
||||||
}
|
}
|
||||||
if (value.isEmpty()) {
|
if (value.isEmpty()) {
|
||||||
throw new IllegalArgumentException("value argument is empty");
|
throw new IllegalArgumentException(NbBundle.getMessage(this.getClass(),
|
||||||
|
"ExternalResults.Artifact.addAttribute.exception.msg2.text"));
|
||||||
}
|
}
|
||||||
if (valueType.isEmpty()) {
|
if (valueType.isEmpty()) {
|
||||||
throw new IllegalArgumentException("value type argument is empty");
|
throw new IllegalArgumentException(NbBundle.getMessage(this.getClass(),
|
||||||
|
"ExternalResults.Artifact.addAttribute.exception.msg3.text"));
|
||||||
}
|
}
|
||||||
attributes.add(new ArtifactAttribute(type, value, valueType, sourceModule));
|
attributes.add(new ArtifactAttribute(type, value, valueType, sourceModule));
|
||||||
}
|
}
|
||||||
|
@ -26,6 +26,8 @@ import java.util.Collection;
|
|||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
|
import org.openide.util.NbBundle;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
import org.sleuthkit.autopsy.casemodule.services.FileManager;
|
import org.sleuthkit.autopsy.casemodule.services.FileManager;
|
||||||
import org.sleuthkit.autopsy.coreutils.ErrorInfo;
|
import org.sleuthkit.autopsy.coreutils.ErrorInfo;
|
||||||
@ -95,18 +97,24 @@ public final class ExternalResultsImporter {
|
|||||||
"", "", "", ""); // Not currently providing derivation info for derived files from external processes.
|
"", "", "", ""); // Not currently providing derivation info for derived files from external processes.
|
||||||
IngestServices.getInstance().fireModuleContentEvent(new ModuleContentEvent(derivedFile));
|
IngestServices.getInstance().fireModuleContentEvent(new ModuleContentEvent(derivedFile));
|
||||||
} else {
|
} else {
|
||||||
String errorMessage = String.format("Could not import derived file at %s, parent file %s not found", localPath, parentFilePath);
|
String errorMessage = NbBundle.getMessage(this.getClass(),
|
||||||
|
"ExternalResultsImporter.importDerivedFiles.errMsg1.text",
|
||||||
|
localPath, parentFilePath);
|
||||||
ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage);
|
ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage);
|
||||||
this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage));
|
this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
String errorMessage = String.format("Could not import derived file at %s, file does not exist", localPath);
|
String errorMessage = NbBundle.getMessage(this.getClass(),
|
||||||
|
"ExternalResultsImporter.importDerivedFiles.errMsg2.text",
|
||||||
|
localPath);
|
||||||
ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage);
|
ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage);
|
||||||
this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage));
|
this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage));
|
||||||
}
|
}
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException ex) {
|
||||||
String errorMessage = String.format("Could not import derived file at %s, error querying/updating case database", localPath);
|
String errorMessage = NbBundle.getMessage(this.getClass(),
|
||||||
|
"ExternalResultsImporter.importDerivedFiles.errMsg3.text",
|
||||||
|
localPath);
|
||||||
ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage, ex);
|
ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage, ex);
|
||||||
this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage, ex));
|
this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage, ex));
|
||||||
}
|
}
|
||||||
@ -150,7 +158,8 @@ public final class ExternalResultsImporter {
|
|||||||
attributes.add(new BlackboardAttribute(attributeTypeId, attributeData.getSourceModule(), doubleValue));
|
attributes.add(new BlackboardAttribute(attributeTypeId, attributeData.getSourceModule(), doubleValue));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
String errorMessage = String.format("Could not import %s attribute, value = %s, for %s artifact from %s, unrecognized attribute value type: %s",
|
String errorMessage = String.format(NbBundle.getMessage(this.getClass(),
|
||||||
|
"ExternalResultsImporter.importArtifacts.caseErrMsg1.text"),
|
||||||
attributeData.getType(), attributeData.getValue(),
|
attributeData.getType(), attributeData.getValue(),
|
||||||
artifactData.getType(), artifactData.getSourceFilePath(),
|
artifactData.getType(), artifactData.getSourceFilePath(),
|
||||||
attributeData.getValueType());
|
attributeData.getValueType());
|
||||||
@ -165,12 +174,16 @@ public final class ExternalResultsImporter {
|
|||||||
IngestServices.getInstance().fireModuleDataEvent(new ModuleDataEvent(this.getClass().getSimpleName(), BlackboardArtifact.ARTIFACT_TYPE.fromID(artifactTypeId)));
|
IngestServices.getInstance().fireModuleDataEvent(new ModuleDataEvent(this.getClass().getSimpleName(), BlackboardArtifact.ARTIFACT_TYPE.fromID(artifactTypeId)));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
String errorMessage = String.format("Could not import %s artifact from %s, source file not found", artifactData.getType(), artifactData.getSourceFilePath());
|
String errorMessage = NbBundle.getMessage(this.getClass(),
|
||||||
|
"ExternalResultsImporter.importArtifacts.errMsg1.text",
|
||||||
|
artifactData.getType(), artifactData.getSourceFilePath());
|
||||||
ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage);
|
ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage);
|
||||||
this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage));
|
this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage));
|
||||||
}
|
}
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException ex) {
|
||||||
String errorMessage = String.format("Could not import %s artifact from %s, error updating case database", artifactData.getType(), artifactData.getSourceFilePath());
|
String errorMessage = NbBundle.getMessage(this.getClass(),
|
||||||
|
"ExternalResultsImporter.importArtifacts.errMsg2.text",
|
||||||
|
artifactData.getType(), artifactData.getSourceFilePath());
|
||||||
ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage, ex);
|
ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage, ex);
|
||||||
this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage, ex));
|
this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage, ex));
|
||||||
}
|
}
|
||||||
@ -185,12 +198,12 @@ public final class ExternalResultsImporter {
|
|||||||
if (reportFile.exists()) {
|
if (reportFile.exists()) {
|
||||||
Case.getCurrentCase().addReport(reportPath, report.getSourceModuleName(), report.getReportName());
|
Case.getCurrentCase().addReport(reportPath, report.getSourceModuleName(), report.getReportName());
|
||||||
} else {
|
} else {
|
||||||
String errorMessage = String.format("Could not import report at %s, file does not exist", reportPath);
|
String errorMessage = NbBundle.getMessage(this.getClass(), "ExternalResultsImporter.importReports.errMsg1.text", reportPath);
|
||||||
ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage);
|
ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage);
|
||||||
this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage));
|
this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage));
|
||||||
}
|
}
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException ex) {
|
||||||
String errorMessage = String.format("Could not import report at %s, error updating case database", reportPath);
|
String errorMessage = NbBundle.getMessage(this.getClass(), "ExternalResultsImporter.importReports.errMsg2.text", reportPath);
|
||||||
ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage, ex);
|
ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage, ex);
|
||||||
this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage, ex));
|
this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage, ex));
|
||||||
}
|
}
|
||||||
@ -213,7 +226,7 @@ public final class ExternalResultsImporter {
|
|||||||
if (!files.isEmpty()) {
|
if (!files.isEmpty()) {
|
||||||
file = files.get(0);
|
file = files.get(0);
|
||||||
if (files.size() > 1) {
|
if (files.size() > 1) {
|
||||||
String errorMessage = String.format("Parent file path %s is ambiguous, using first file found", filePath);
|
String errorMessage = NbBundle.getMessage(this.getClass(), "ExternalResultsImporter.findFileInCaseDatabase.errMsg1.text", filePath);
|
||||||
this.recordError(errorMessage);
|
this.recordError(errorMessage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -230,13 +243,15 @@ public final class ExternalResultsImporter {
|
|||||||
Path pathRelative = pathBase.relativize(path);
|
Path pathRelative = pathBase.relativize(path);
|
||||||
relativePath = pathRelative.toString();
|
relativePath = pathRelative.toString();
|
||||||
} catch (IllegalArgumentException ex) {
|
} catch (IllegalArgumentException ex) {
|
||||||
String errorMessage = String.format("Did not convert %s to relative path, not in a subdirectory of case directory %s",
|
String errorMessage = NbBundle.getMessage(this.getClass(),
|
||||||
localPath, caseDirectoryPath);
|
"ExternalResultsImporter.getPathRelativeToCaseFolder.errMsg1.text",
|
||||||
|
localPath, caseDirectoryPath);
|
||||||
this.recordError(errorMessage, ex);
|
this.recordError(errorMessage, ex);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
String errorMessage = String.format("Expected %s to be an absolute path to a file in a subdirectory of case directory %s",
|
String errorMessage = NbBundle.getMessage(this.getClass(),
|
||||||
localPath, caseDirectoryPath);
|
"ExternalResultsImporter.getPathRelativeToCaseFolder.errMsg2.text",
|
||||||
|
localPath, caseDirectoryPath);
|
||||||
this.recordError(errorMessage);
|
this.recordError(errorMessage);
|
||||||
}
|
}
|
||||||
return relativePath;
|
return relativePath;
|
||||||
|
@ -22,6 +22,8 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.openide.util.NbBundle;
|
||||||
import org.sleuthkit.autopsy.coreutils.ErrorInfo;
|
import org.sleuthkit.autopsy.coreutils.ErrorInfo;
|
||||||
import org.sleuthkit.autopsy.coreutils.XMLUtil;
|
import org.sleuthkit.autopsy.coreutils.XMLUtil;
|
||||||
import org.sleuthkit.datamodel.Content;
|
import org.sleuthkit.datamodel.Content;
|
||||||
@ -115,7 +117,7 @@ public final class ExternalResultsXMLParser implements ExternalResultsParser {
|
|||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
*
|
*
|
||||||
* @param importFilePath Full path of the results file to be parsed.
|
* @param resultsFilePath Full path of the results file to be parsed.
|
||||||
*/
|
*/
|
||||||
public ExternalResultsXMLParser(Content dataSource, String resultsFilePath) {
|
public ExternalResultsXMLParser(Content dataSource, String resultsFilePath) {
|
||||||
this.dataSource = dataSource;
|
this.dataSource = dataSource;
|
||||||
@ -140,12 +142,14 @@ public final class ExternalResultsXMLParser implements ExternalResultsParser {
|
|||||||
parseArtifacts(rootElem);
|
parseArtifacts(rootElem);
|
||||||
parseReports(rootElem);
|
parseReports(rootElem);
|
||||||
} else {
|
} else {
|
||||||
String errorMessage = String.format("Did not find %s root element of %s", TagNames.ROOT_ELEM.toString(), this.resultsFilePath);
|
String errorMessage = NbBundle.getMessage(this.getClass(),
|
||||||
|
"ExternalResultsXMLParser.parse.errMsg1.text",
|
||||||
|
TagNames.ROOT_ELEM.toString(), this.resultsFilePath);
|
||||||
recordError(errorMessage);
|
recordError(errorMessage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
String errorMessage = String.format("Error parsing %s", this.resultsFilePath);
|
String errorMessage = NbBundle.getMessage(this.getClass(), "ExternalResultsXMLParser.parse.errMsg2.text", this.resultsFilePath);
|
||||||
recordError(errorMessage, ex);
|
recordError(errorMessage, ex);
|
||||||
}
|
}
|
||||||
return this.resultsData;
|
return this.resultsData;
|
||||||
@ -220,8 +224,9 @@ public final class ExternalResultsXMLParser implements ExternalResultsParser {
|
|||||||
}
|
}
|
||||||
final String value = valueElem.getTextContent();
|
final String value = valueElem.getTextContent();
|
||||||
if (value.isEmpty()) {
|
if (value.isEmpty()) {
|
||||||
String errorMessage = String.format("Found %s element that has no content in %s",
|
String errorMessage = NbBundle.getMessage(this.getClass(),
|
||||||
TagNames.VALUE_ELEM.toString(), this.resultsFilePath);
|
"ExternalResultsXMLParser.parseArtifactAttributes.errMsg1.text",
|
||||||
|
TagNames.VALUE_ELEM.toString(), this.resultsFilePath);
|
||||||
recordError(errorMessage);
|
recordError(errorMessage);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -246,10 +251,11 @@ public final class ExternalResultsXMLParser implements ExternalResultsParser {
|
|||||||
&& !valueType.equals(AttributeValues.VALUE_TYPE_DOUBLE.toString())
|
&& !valueType.equals(AttributeValues.VALUE_TYPE_DOUBLE.toString())
|
||||||
&& !valueType.equals(AttributeValues.VALUE_TYPE_INT32.toString())
|
&& !valueType.equals(AttributeValues.VALUE_TYPE_INT32.toString())
|
||||||
&& !valueType.equals(AttributeValues.VALUE_TYPE_INT64.toString())) {
|
&& !valueType.equals(AttributeValues.VALUE_TYPE_INT64.toString())) {
|
||||||
String errorMessage = String.format("Found unrecognized value %s for %s attribute of %s element",
|
String errorMessage = NbBundle.getMessage(this.getClass(),
|
||||||
valueType,
|
"ExternalResultsXMLParser.parseAttributeValueType.errMsg1.text",
|
||||||
AttributeNames.TYPE_ATTR.toString(),
|
valueType,
|
||||||
TagNames.VALUE_ELEM.toString());
|
AttributeNames.TYPE_ATTR.toString(),
|
||||||
|
TagNames.VALUE_ELEM.toString());
|
||||||
this.recordError(errorMessage);
|
this.recordError(errorMessage);
|
||||||
valueType = "";
|
valueType = "";
|
||||||
}
|
}
|
||||||
@ -285,7 +291,7 @@ public final class ExternalResultsXMLParser implements ExternalResultsParser {
|
|||||||
private String getElementAttributeValue(Element element, String attributeName) {
|
private String getElementAttributeValue(Element element, String attributeName) {
|
||||||
final String attributeValue = element.getAttribute(attributeName);
|
final String attributeValue = element.getAttribute(attributeName);
|
||||||
if (attributeValue.isEmpty()) {
|
if (attributeValue.isEmpty()) {
|
||||||
logger.log(Level.SEVERE, "Found {0} element missing {1} attribute in {2}", new Object[]{
|
logger.log(Level.SEVERE, "Found {0} element missing {1} attribute in {2}", new Object[]{ //NON-NLS
|
||||||
element.getTagName(),
|
element.getTagName(),
|
||||||
attributeName,
|
attributeName,
|
||||||
this.resultsFilePath});
|
this.resultsFilePath});
|
||||||
@ -299,17 +305,18 @@ public final class ExternalResultsXMLParser implements ExternalResultsParser {
|
|||||||
if (childElement != null) {
|
if (childElement != null) {
|
||||||
content = childElement.getTextContent();
|
content = childElement.getTextContent();
|
||||||
if (content.isEmpty()) {
|
if (content.isEmpty()) {
|
||||||
String errorMessage = String.format("Found %s element with %s child element that has no content in %s",
|
String errorMessage = NbBundle.getMessage(this.getClass(),
|
||||||
parentElement.getTagName(),
|
"ExternalResultsXMLParser.getChildElementContent.errMsg1.text",
|
||||||
childElementTagName,
|
parentElement.getTagName(),
|
||||||
this.resultsFilePath);
|
childElementTagName,
|
||||||
|
this.resultsFilePath);
|
||||||
this.recordError(errorMessage);
|
this.recordError(errorMessage);
|
||||||
}
|
}
|
||||||
} else if (required) {
|
} else if (required) {
|
||||||
String errorMessage = String.format("Found %s element missing %s child element in %s",
|
String errorMessage = NbBundle.getMessage(this.getClass(), "ExternalResultsXMLParser.getChildElementContent.errMsg2.text",
|
||||||
parentElement.getTagName(),
|
parentElement.getTagName(),
|
||||||
childElementTagName,
|
childElementTagName,
|
||||||
this.resultsFilePath);
|
this.resultsFilePath);
|
||||||
this.recordError(errorMessage);
|
this.recordError(errorMessage);
|
||||||
}
|
}
|
||||||
return content;
|
return content;
|
||||||
@ -321,10 +328,10 @@ public final class ExternalResultsXMLParser implements ExternalResultsParser {
|
|||||||
if (childNodes.getLength() > 0) {
|
if (childNodes.getLength() > 0) {
|
||||||
childElem = (Element) childNodes.item(0);
|
childElem = (Element) childNodes.item(0);
|
||||||
if (childNodes.getLength() > 1) {
|
if (childNodes.getLength() > 1) {
|
||||||
String errorMessage = String.format("Found multiple %s child elements for %s element in %s, ignoring all but first occurrence",
|
String errorMessage = NbBundle.getMessage(this.getClass(), "ExternalResultsXMLParser.getChildElement.errMsg1.text",
|
||||||
childElementTagName,
|
childElementTagName,
|
||||||
parentElement.getTagName(),
|
parentElement.getTagName(),
|
||||||
this.resultsFilePath);
|
this.resultsFilePath);
|
||||||
this.recordError(errorMessage);
|
this.recordError(errorMessage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -71,3 +71,9 @@ IngestJobConfigurationPanel.descriptionLabel.text=
|
|||||||
IngestProgressSnapshotDialog.title.text=Ingest Task Progress Snapshots
|
IngestProgressSnapshotDialog.title.text=Ingest Task Progress Snapshots
|
||||||
IngestProgressSnapshotPanel.refreshButton.text=Refresh
|
IngestProgressSnapshotPanel.refreshButton.text=Refresh
|
||||||
IngestProgressSnapshotPanel.closeButton.text=Close
|
IngestProgressSnapshotPanel.closeButton.text=Close
|
||||||
|
IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.threadID=Thread ID
|
||||||
|
IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.dataSource=Data Source
|
||||||
|
IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.ingestModule=Ingest Module
|
||||||
|
IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.file=File
|
||||||
|
IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.startTime=Start Time
|
||||||
|
IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.elapsedTime=Elapsed Time (H\:M\:S)
|
||||||
|
@ -63,8 +63,8 @@ class IngestMessagePanel extends JPanel implements TableModelListener {
|
|||||||
private MessageTableModel tableModel;
|
private MessageTableModel tableModel;
|
||||||
private MessageTableRenderer renderer;
|
private MessageTableRenderer renderer;
|
||||||
private IngestMessageMainPanel mainPanel;
|
private IngestMessageMainPanel mainPanel;
|
||||||
private static Font visitedFont = new Font("Arial", Font.PLAIN, 12);
|
private static Font visitedFont = new Font("Arial", Font.PLAIN, 12); //NON-NLS
|
||||||
private static Font notVisitedFont = new Font("Arial", Font.BOLD, 12);
|
private static Font notVisitedFont = new Font("Arial", Font.BOLD, 12); //NON-NLS
|
||||||
private static Color ERROR_COLOR = new Color(255, 90, 90);
|
private static Color ERROR_COLOR = new Color(255, 90, 90);
|
||||||
private volatile int lastRowSelected = -1;
|
private volatile int lastRowSelected = -1;
|
||||||
private volatile long totalMessages = 0;
|
private volatile long totalMessages = 0;
|
||||||
@ -132,7 +132,7 @@ class IngestMessagePanel extends JPanel implements TableModelListener {
|
|||||||
jScrollPane1.setPreferredSize(new java.awt.Dimension(32767, 32767));
|
jScrollPane1.setPreferredSize(new java.awt.Dimension(32767, 32767));
|
||||||
|
|
||||||
messageTable.setBackground(new java.awt.Color(221, 221, 235));
|
messageTable.setBackground(new java.awt.Color(221, 221, 235));
|
||||||
messageTable.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
|
messageTable.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N NON-NLS
|
||||||
messageTable.setModel(tableModel);
|
messageTable.setModel(tableModel);
|
||||||
messageTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
|
messageTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
|
||||||
messageTable.setAutoscrolls(false);
|
messageTable.setAutoscrolls(false);
|
||||||
|
@ -67,21 +67,21 @@ final class IngestModuleFactoryLoader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Kick out the sample module factories.
|
// Kick out the sample module factories.
|
||||||
moduleFactoriesByClass.remove("org.sleuthkit.autopsy.examples.SampleIngestModuleFactory");
|
moduleFactoriesByClass.remove("org.sleuthkit.autopsy.examples.SampleIngestModuleFactory"); //NON-NLS
|
||||||
moduleFactoriesByClass.remove("org.sleuthkit.autopsy.examples.SampleExecutableIngestModuleFactory");
|
moduleFactoriesByClass.remove("org.sleuthkit.autopsy.examples.SampleExecutableIngestModuleFactory"); //NON-NLS
|
||||||
|
|
||||||
// Do the core ingest module ordering hack described above.
|
// Do the core ingest module ordering hack described above.
|
||||||
ArrayList<String> coreModuleOrdering = new ArrayList<String>() {
|
ArrayList<String> coreModuleOrdering = new ArrayList<String>() {
|
||||||
{
|
{
|
||||||
add("org.sleuthkit.autopsy.recentactivity.RecentActivityExtracterModuleFactory");
|
add("org.sleuthkit.autopsy.recentactivity.RecentActivityExtracterModuleFactory"); //NON-NLS
|
||||||
add("org.sleuthkit.autopsy.ewfverify.EwfVerifierModuleFactory");
|
add("org.sleuthkit.autopsy.ewfverify.EwfVerifierModuleFactory"); //NON-NLS
|
||||||
add("org.sleuthkit.autopsy.hashdatabase.HashLookupModuleFactory");
|
add("org.sleuthkit.autopsy.hashdatabase.HashLookupModuleFactory"); //NON-NLS
|
||||||
add("org.sleuthkit.autopsy.modules.filetypeid.FileTypeIdModuleFactory");
|
add("org.sleuthkit.autopsy.modules.filetypeid.FileTypeIdModuleFactory"); //NON-NLS
|
||||||
add("org.sleuthkit.autopsy.modules.sevenzip.ArchiveFileExtractorModuleFactory");
|
add("org.sleuthkit.autopsy.modules.sevenzip.ArchiveFileExtractorModuleFactory"); //NON-NLS
|
||||||
add("org.sleuthkit.autopsy.modules.exif.ExifParserModuleFactory");
|
add("org.sleuthkit.autopsy.modules.exif.ExifParserModuleFactory"); //NON-NLS
|
||||||
add("org.sleuthkit.autopsy.keywordsearch.KeywordSearchModuleFactory");
|
add("org.sleuthkit.autopsy.keywordsearch.KeywordSearchModuleFactory"); //NON-NLS
|
||||||
add("org.sleuthkit.autopsy.thunderbirdparser.EmailParserModuleFactory");
|
add("org.sleuthkit.autopsy.thunderbirdparser.EmailParserModuleFactory"); //NON-NLS
|
||||||
add("org.sleuthkit.autopsy.modules.fileextmismatch.FileExtMismatchDetectorModuleFactory");
|
add("org.sleuthkit.autopsy.modules.fileextmismatch.FileExtMismatchDetectorModuleFactory"); //NON-NLS
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
List<IngestModuleFactory> orderedModuleFactories = new ArrayList<>();
|
List<IngestModuleFactory> orderedModuleFactories = new ArrayList<>();
|
||||||
|
@ -26,6 +26,7 @@ import javax.swing.JDialog;
|
|||||||
import javax.swing.table.AbstractTableModel;
|
import javax.swing.table.AbstractTableModel;
|
||||||
import javax.swing.table.TableColumn;
|
import javax.swing.table.TableColumn;
|
||||||
import org.apache.commons.lang3.time.DurationFormatUtils;
|
import org.apache.commons.lang3.time.DurationFormatUtils;
|
||||||
|
import org.openide.util.NbBundle;
|
||||||
import org.sleuthkit.datamodel.AbstractFile;
|
import org.sleuthkit.datamodel.AbstractFile;
|
||||||
|
|
||||||
public class IngestProgressSnapshotPanel extends javax.swing.JPanel {
|
public class IngestProgressSnapshotPanel extends javax.swing.JPanel {
|
||||||
@ -79,7 +80,18 @@ public class IngestProgressSnapshotPanel extends javax.swing.JPanel {
|
|||||||
|
|
||||||
private class SnapshotsTableModel extends AbstractTableModel {
|
private class SnapshotsTableModel extends AbstractTableModel {
|
||||||
|
|
||||||
private final String[] columnNames = {"Thread ID", "Data Source", "Ingest Module", "File", "Start Time", "Elapsed Time (H:M:S)"};
|
private final String[] columnNames = {NbBundle.getMessage(this.getClass(),
|
||||||
|
"IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.threadID"),
|
||||||
|
NbBundle.getMessage(this.getClass(),
|
||||||
|
"IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.dataSource"),
|
||||||
|
NbBundle.getMessage(this.getClass(),
|
||||||
|
"IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.ingestModule"),
|
||||||
|
NbBundle.getMessage(this.getClass(),
|
||||||
|
"IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.file"),
|
||||||
|
NbBundle.getMessage(this.getClass(),
|
||||||
|
"IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.startTime"),
|
||||||
|
NbBundle.getMessage(this.getClass(),
|
||||||
|
"IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.elapsedTime")};
|
||||||
private List<IngestTask.ProgressSnapshot> snapshots;
|
private List<IngestTask.ProgressSnapshot> snapshots;
|
||||||
|
|
||||||
private SnapshotsTableModel() {
|
private SnapshotsTableModel() {
|
||||||
|
@ -5,5 +5,4 @@ OpenIDE-Module-Long-Description=\
|
|||||||
OpenIDE-Module-Name=ExifParser
|
OpenIDE-Module-Name=ExifParser
|
||||||
OpenIDE-Module-Short-Description=Exif metadata ingest module
|
OpenIDE-Module-Short-Description=Exif metadata ingest module
|
||||||
ExifParserFileIngestModule.moduleName.text=Exif Parser
|
ExifParserFileIngestModule.moduleName.text=Exif Parser
|
||||||
ExifParserFileIngestModule.getName.text=Exif Image Parser
|
|
||||||
ExifParserFileIngestModule.getDesc.text=Ingests JPEG files and retrieves their EXIF metadata.
|
ExifParserFileIngestModule.getDesc.text=Ingests JPEG files and retrieves their EXIF metadata.
|
||||||
|
@ -5,5 +5,4 @@ OpenIDE-Module-Long-Description=\
|
|||||||
OpenIDE-Module-Name=Exif\u30D1\u30FC\u30B5
|
OpenIDE-Module-Name=Exif\u30D1\u30FC\u30B5
|
||||||
OpenIDE-Module-Short-Description=Exif\u30E1\u30BF\u30C7\u30FC\u30BF\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB
|
OpenIDE-Module-Short-Description=Exif\u30E1\u30BF\u30C7\u30FC\u30BF\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB
|
||||||
ExifParserFileIngestModule.moduleName.text=Exif\u30D1\u30FC\u30B5
|
ExifParserFileIngestModule.moduleName.text=Exif\u30D1\u30FC\u30B5
|
||||||
ExifParserFileIngestModule.getName.text=Exif\u30A4\u30E1\u30FC\u30B8\u30D1\u30FC\u30B5
|
|
||||||
ExifParserFileIngestModule.getDesc.text=JPEG\u30D5\u30A1\u30A4\u30EB\u3092\u51E6\u7406\u3057\u3001\u305D\u308C\u3089\u306EEXIF\u30E1\u30BF\u30C7\u30FC\u30BF\u3092\u53D6\u5F97\u3057\u307E\u3059\u3002
|
ExifParserFileIngestModule.getDesc.text=JPEG\u30D5\u30A1\u30A4\u30EB\u3092\u51E6\u7406\u3057\u3001\u305D\u308C\u3089\u306EEXIF\u30E1\u30BF\u30C7\u30FC\u30BF\u3092\u53D6\u5F97\u3057\u307E\u3059\u3002
|
@ -191,3 +191,9 @@ ReportWizardPanel1.finishButton.text=Finish
|
|||||||
ReportWizardPanel2.finishButton.text=Finish
|
ReportWizardPanel2.finishButton.text=Finish
|
||||||
ReportWizardPanel2.nextButton.text=Next >
|
ReportWizardPanel2.nextButton.text=Next >
|
||||||
ReportHTML.writeSum.noCaseNum=<i>No case number</i>
|
ReportHTML.writeSum.noCaseNum=<i>No case number</i>
|
||||||
|
ReportBodyFile.generateReport.srcModuleName.text=TSK Body File
|
||||||
|
ReportExcel.endReport.srcModuleName.text=Excel Report
|
||||||
|
ReportHTML.writeIndex.srcModuleName.text=HTML Report
|
||||||
|
ReportKML.genReport.srcModuleName.text=KML Report
|
||||||
|
ReportGenerator.artTableColHdr.extension.text=Extension
|
||||||
|
ReportGenerator.artTableColHdr.mimeType.text=MIME Type
|
||||||
|
@ -152,7 +152,10 @@ import org.sleuthkit.datamodel.*;
|
|||||||
if (out != null) {
|
if (out != null) {
|
||||||
out.flush();
|
out.flush();
|
||||||
out.close();
|
out.close();
|
||||||
Case.getCurrentCase().addReport(reportPath, "TSK Body File", "");
|
Case.getCurrentCase().addReport(reportPath,
|
||||||
|
NbBundle.getMessage(this.getClass(),
|
||||||
|
"ReportBodyFile.generateReport.srcModuleName.text"), "");
|
||||||
|
|
||||||
}
|
}
|
||||||
} catch (IOException ex) {
|
} catch (IOException ex) {
|
||||||
logger.log(Level.WARNING, "Could not flush and close the BufferedWriter.", ex); //NON-NLS
|
logger.log(Level.WARNING, "Could not flush and close the BufferedWriter.", ex); //NON-NLS
|
||||||
|
@ -112,7 +112,8 @@ import org.sleuthkit.datamodel.TskCoreException;
|
|||||||
try {
|
try {
|
||||||
out = new FileOutputStream(reportPath);
|
out = new FileOutputStream(reportPath);
|
||||||
wb.write(out);
|
wb.write(out);
|
||||||
Case.getCurrentCase().addReport(reportPath, "Excel Report", "");
|
Case.getCurrentCase().addReport(reportPath, NbBundle.getMessage(this.getClass(),
|
||||||
|
"ReportExcel.endReport.srcModuleName.text"), "");
|
||||||
} catch (IOException ex) {
|
} catch (IOException ex) {
|
||||||
logger.log(Level.SEVERE, "Failed to write Excel report.", ex); //NON-NLS
|
logger.log(Level.SEVERE, "Failed to write Excel report.", ex); //NON-NLS
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException ex) {
|
||||||
|
@ -1318,8 +1318,8 @@ import org.sleuthkit.datamodel.TskData;
|
|||||||
case TSK_EXT_MISMATCH_DETECTED:
|
case TSK_EXT_MISMATCH_DETECTED:
|
||||||
columnHeaders = new ArrayList<>(Arrays.asList(new String[] {
|
columnHeaders = new ArrayList<>(Arrays.asList(new String[] {
|
||||||
NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.file"),
|
NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.file"),
|
||||||
"Extension",
|
NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.extension.text"),
|
||||||
"MIME Type",
|
NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.mimeType.text"),
|
||||||
NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.path")}));
|
NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.path")}));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -803,7 +803,7 @@ import org.sleuthkit.datamodel.TskData.TSK_DB_FILES_TYPE_ENUM;
|
|||||||
*/
|
*/
|
||||||
private void writeIndex() {
|
private void writeIndex() {
|
||||||
Writer indexOut = null;
|
Writer indexOut = null;
|
||||||
String indexFilePath = path + "index.html";
|
String indexFilePath = path + "index.html"; //NON-NLS
|
||||||
try {
|
try {
|
||||||
indexOut = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(indexFilePath), "UTF-8")); //NON-NLS
|
indexOut = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(indexFilePath), "UTF-8")); //NON-NLS
|
||||||
StringBuilder index = new StringBuilder();
|
StringBuilder index = new StringBuilder();
|
||||||
@ -821,7 +821,8 @@ import org.sleuthkit.datamodel.TskData.TSK_DB_FILES_TYPE_ENUM;
|
|||||||
index.append("</frameset>\n"); //NON-NLS
|
index.append("</frameset>\n"); //NON-NLS
|
||||||
index.append("</html>"); //NON-NLS
|
index.append("</html>"); //NON-NLS
|
||||||
indexOut.write(index.toString());
|
indexOut.write(index.toString());
|
||||||
Case.getCurrentCase().addReport(indexFilePath, "HTML Report", "");
|
Case.getCurrentCase().addReport(indexFilePath, NbBundle.getMessage(this.getClass(),
|
||||||
|
"ReportHTML.writeIndex.srcModuleName.text"), "");
|
||||||
} catch (IOException ex) {
|
} catch (IOException ex) {
|
||||||
logger.log(Level.SEVERE, "Error creating Writer for index.html: {0}", ex); //NON-NLS
|
logger.log(Level.SEVERE, "Error creating Writer for index.html: {0}", ex); //NON-NLS
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException ex) {
|
||||||
|
@ -256,7 +256,8 @@ class ReportKML implements GeneralReportModule {
|
|||||||
FileOutputStream writer = new FileOutputStream(reportPath);
|
FileOutputStream writer = new FileOutputStream(reportPath);
|
||||||
outputter.output(kmlDocument, writer);
|
outputter.output(kmlDocument, writer);
|
||||||
writer.close();
|
writer.close();
|
||||||
Case.getCurrentCase().addReport(reportPath, "KML Report", "");
|
Case.getCurrentCase().addReport(reportPath, NbBundle.getMessage(this.getClass(),
|
||||||
|
"ReportKML.genReport.srcModuleName.text"), "");
|
||||||
} catch (IOException ex) {
|
} catch (IOException ex) {
|
||||||
logger.log(Level.WARNING, "Could not write the KML file.", ex); //NON-NLS
|
logger.log(Level.WARNING, "Could not write the KML file.", ex); //NON-NLS
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException ex) {
|
||||||
|
@ -56,7 +56,6 @@ AbstractKeywordSearchPerformer.search.invalidSyntaxHeader=Invalid query syntax.
|
|||||||
AbstractKeywordSearchPerformer.search.searchIngestInProgressTitle=Keyword Search Ingest in Progress
|
AbstractKeywordSearchPerformer.search.searchIngestInProgressTitle=Keyword Search Ingest in Progress
|
||||||
AbstractKeywordSearchPerformer.search.ingestInProgressBody=<html>Keyword Search Ingest is currently running.<br />Not all files have been indexed and this search might yield incomplete results.<br />Do you want to proceed with this search anyway?</html>
|
AbstractKeywordSearchPerformer.search.ingestInProgressBody=<html>Keyword Search Ingest is currently running.<br />Not all files have been indexed and this search might yield incomplete results.<br />Do you want to proceed with this search anyway?</html>
|
||||||
AbstractKeywordSearchPerformer.search.emptyKeywordErrorBody=Keyword list is empty, please add at least one keyword to the list
|
AbstractKeywordSearchPerformer.search.emptyKeywordErrorBody=Keyword list is empty, please add at least one keyword to the list
|
||||||
AbstractKeywordSearchPerformer.search.pleaseEnterKeywordBody=Please enter a keyword to search for
|
|
||||||
AbstractKeywordSearchPerformer.search.noFilesInIdxMsg=<html>No files are in index yet. <br />Try again later. Index is updated every {0} minutes.</html>
|
AbstractKeywordSearchPerformer.search.noFilesInIdxMsg=<html>No files are in index yet. <br />Try again later. Index is updated every {0} minutes.</html>
|
||||||
AbstractKeywordSearchPerformer.search.noFilesIdxdMsg=<html>No files were indexed.<br />Re-ingest the image with the Keyword Search Module enabled. </html>
|
AbstractKeywordSearchPerformer.search.noFilesIdxdMsg=<html>No files were indexed.<br />Re-ingest the image with the Keyword Search Module enabled. </html>
|
||||||
ExtractedContentPanel.setMarkup.panelTxt=<span style\='font-style\:italic'>Loading text... Please wait</span>
|
ExtractedContentPanel.setMarkup.panelTxt=<span style\='font-style\:italic'>Loading text... Please wait</span>
|
||||||
@ -195,7 +194,6 @@ KeywordSearchListsEncase.save2.exception.msg=Not supported yet.
|
|||||||
KeywordSearchListsEncase.encaseMetaType.exception.msg=Unsupported EncaseMetaType\: {0}
|
KeywordSearchListsEncase.encaseMetaType.exception.msg=Unsupported EncaseMetaType\: {0}
|
||||||
KeywordSearchListsManagementPanel.getColName.text=Name
|
KeywordSearchListsManagementPanel.getColName.text=Name
|
||||||
KeywordSearchListsManagementPanel.setValueAt.exception.msg=Editing of cells is not supported
|
KeywordSearchListsManagementPanel.setValueAt.exception.msg=Editing of cells is not supported
|
||||||
KeywordSearchListsViewerPanel.getQueryText.exception.msg=Not supported for multi-word queries.
|
|
||||||
KeywordSearchOptionsPanelController.moduleErr=Module Error
|
KeywordSearchOptionsPanelController.moduleErr=Module Error
|
||||||
KeywordSearchOptionsPanelController.moduleErr.msg1=A module caused an error listening to KeywordSearchOptionsPanelController updates. See log to determine which module. Some data could be incomplete.
|
KeywordSearchOptionsPanelController.moduleErr.msg1=A module caused an error listening to KeywordSearchOptionsPanelController updates. See log to determine which module. Some data could be incomplete.
|
||||||
KeywordSearchOptionsPanelController.moduleErr.msg2=A module caused an error listening to KeywordSearchOptionsPanelController updates. See log to determine which module. Some data could be incomplete.
|
KeywordSearchOptionsPanelController.moduleErr.msg2=A module caused an error listening to KeywordSearchOptionsPanelController updates. See log to determine which module. Some data could be incomplete.
|
||||||
@ -280,7 +278,6 @@ KeywordSearchListsAbstract.writeLists.errMsg2.msg=A module caused an error liste
|
|||||||
KeywordSearchListsAbstract.deleteList.errMsg1.msg=A module caused an error listening to KeywordSearchListsAbstract updates. See log to determine which module. Some data could be incomplete.
|
KeywordSearchListsAbstract.deleteList.errMsg1.msg=A module caused an error listening to KeywordSearchListsAbstract updates. See log to determine which module. Some data could be incomplete.
|
||||||
KeywordSearchListsManagementPanel.newKeywordListDescription=Keyword List <{0}> already exists as a read-only list. Do you want to replace it for the duration of the program (the change will not be persistent).
|
KeywordSearchListsManagementPanel.newKeywordListDescription=Keyword List <{0}> already exists as a read-only list. Do you want to replace it for the duration of the program (the change will not be persistent).
|
||||||
KeywordSearchListsManagementPanel.newKeywordListDescription2=Keyword List <{0}> already exists, do you want to replace it?
|
KeywordSearchListsManagementPanel.newKeywordListDescription2=Keyword List <{0}> already exists, do you want to replace it?
|
||||||
DropdownSearchPanelgetQueryList.exception.msg=No list for single-keyword search
|
|
||||||
KeywordSearchModuleFactory.getIngestJobSettingsPanel.exception.msg=Expected settings argument to be instanceof KeywordSearchJobSettings
|
KeywordSearchModuleFactory.getIngestJobSettingsPanel.exception.msg=Expected settings argument to be instanceof KeywordSearchJobSettings
|
||||||
KeywordSearchModuleFactory.createFileIngestModule.exception.msg=Expected settings argument to be instanceof KeywordSearchJobSettings
|
KeywordSearchModuleFactory.createFileIngestModule.exception.msg=Expected settings argument to be instanceof KeywordSearchJobSettings
|
||||||
SearchRunner.Searcher.done.err.msg=Error performing keyword search
|
SearchRunner.Searcher.done.err.msg=Error performing keyword search
|
||||||
|
@ -44,7 +44,6 @@ AbstractKeywordSearchPerformer.search.invalidSyntaxHeader=\u30b7\u30f3\u30bf\u30
|
|||||||
AbstractKeywordSearchPerformer.search.searchIngestInProgressTitle=\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3092\u5b9f\u884c\u4e2d
|
AbstractKeywordSearchPerformer.search.searchIngestInProgressTitle=\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3092\u5b9f\u884c\u4e2d
|
||||||
AbstractKeywordSearchPerformer.search.ingestInProgressBody=<html>\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3092\u5b9f\u884c\u4e2d<br />\u5168\u3066\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u691c\u7d22\u7d50\u679c\u304c\u4e0d\u5b8c\u5168\u306b\u306a\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002<br />\u3053\u306e\u691c\u7d22\u3092\u5b9f\u884c\u3057\u307e\u3059\u304b\uff1f</html>
|
AbstractKeywordSearchPerformer.search.ingestInProgressBody=<html>\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3092\u5b9f\u884c\u4e2d<br />\u5168\u3066\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u691c\u7d22\u7d50\u679c\u304c\u4e0d\u5b8c\u5168\u306b\u306a\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002<br />\u3053\u306e\u691c\u7d22\u3092\u5b9f\u884c\u3057\u307e\u3059\u304b\uff1f</html>
|
||||||
AbstractKeywordSearchPerformer.search.emptyKeywordErrorBody=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u304c\u7a7a\u767d\u3067\u3059\u3002\u6700\u4f4e\uff11\u3064\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u8ffd\u52a0\u3057\u3066\u4e0b\u3055\u3044\u3002
|
AbstractKeywordSearchPerformer.search.emptyKeywordErrorBody=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u304c\u7a7a\u767d\u3067\u3059\u3002\u6700\u4f4e\uff11\u3064\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u8ffd\u52a0\u3057\u3066\u4e0b\u3055\u3044\u3002
|
||||||
AbstractKeywordSearchPerformer.search.pleaseEnterKeywordBody=\u691c\u7d22\u3059\u308b\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044
|
|
||||||
AbstractKeywordSearchPerformer.search.noFilesInIdxMsg=<html>\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u307e\u3060\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002<br />\u3057\u3070\u3089\u304f\u3057\u3066\u304b\u3089\u3001\u518d\u5ea6\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f\u3000{0}\u3000\u5206\u6bce\u66f4\u65b0\u3055\u308c\u307e\u3059\u3002</html>
|
AbstractKeywordSearchPerformer.search.noFilesInIdxMsg=<html>\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u307e\u3060\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002<br />\u3057\u3070\u3089\u304f\u3057\u3066\u304b\u3089\u3001\u518d\u5ea6\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f\u3000{0}\u3000\u5206\u6bce\u66f4\u65b0\u3055\u308c\u307e\u3059\u3002</html>
|
||||||
AbstractKeywordSearchPerformer.search.noFilesIdxdMsg=<html>\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002<br />\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u6709\u52b9\u5316\u3057\u3066\u30a4\u30e1\u30fc\u30b8\u3092\u518d\u5ea6\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3002</html>
|
AbstractKeywordSearchPerformer.search.noFilesIdxdMsg=<html>\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002<br />\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u6709\u52b9\u5316\u3057\u3066\u30a4\u30e1\u30fc\u30b8\u3092\u518d\u5ea6\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3002</html>
|
||||||
ExtractedContentPanel.setMarkup.panelTxt=<span style\='font-style\:italic'>\u30c6\u30ad\u30b9\u30c8\u30ed\u30fc\u30c9\u4e2d\u3002\u3057\u3070\u3089\u304f\u304a\u5f85\u3061\u304f\u3060\u3055\u3044...</span>
|
ExtractedContentPanel.setMarkup.panelTxt=<span style\='font-style\:italic'>\u30c6\u30ad\u30b9\u30c8\u30ed\u30fc\u30c9\u4e2d\u3002\u3057\u3070\u3089\u304f\u304a\u5f85\u3061\u304f\u3060\u3055\u3044...</span>
|
||||||
@ -177,7 +176,6 @@ KeywordSearchListsEncase.save2.exception.msg=\u307e\u3060\u30b5\u30dd\u30fc\u30c
|
|||||||
KeywordSearchListsEncase.encaseMetaType.exception.msg=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044EncaseMetaType\uff1a{0}
|
KeywordSearchListsEncase.encaseMetaType.exception.msg=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044EncaseMetaType\uff1a{0}
|
||||||
KeywordSearchListsManagementPanel.getColName.text=\u540d\u524d
|
KeywordSearchListsManagementPanel.getColName.text=\u540d\u524d
|
||||||
KeywordSearchListsManagementPanel.setValueAt.exception.msg=\u30bb\u30eb\u306e\u7de8\u96c6\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093
|
KeywordSearchListsManagementPanel.setValueAt.exception.msg=\u30bb\u30eb\u306e\u7de8\u96c6\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093
|
||||||
KeywordSearchListsViewerPanel.getQueryText.exception.msg=\u30de\u30eb\u30c1\u30ef\u30fc\u30c9\u30af\u30a8\u30ea\u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
|
|
||||||
KeywordSearchOptionsPanelController.moduleErr=\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc
|
KeywordSearchOptionsPanelController.moduleErr=\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc
|
||||||
KeywordSearchOptionsPanelController.moduleErr.msg1=KeywordSearchOptionsPanelController\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3092\u78ba\u8a8d\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u8d77\u3053\u3057\u307e\u3057\u305f\u3002\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304b\u30ed\u30b0\u3067\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002
|
KeywordSearchOptionsPanelController.moduleErr.msg1=KeywordSearchOptionsPanelController\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3092\u78ba\u8a8d\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u8d77\u3053\u3057\u307e\u3057\u305f\u3002\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304b\u30ed\u30b0\u3067\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002
|
||||||
KeywordSearchOptionsPanelController.moduleErr.msg2=KeywordSearchOptionsPanelController\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3092\u78ba\u8a8d\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u8d77\u3053\u3057\u307e\u3057\u305f\u3002\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304b\u30ed\u30b0\u3067\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002
|
KeywordSearchOptionsPanelController.moduleErr.msg2=KeywordSearchOptionsPanelController\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3092\u78ba\u8a8d\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u8d77\u3053\u3057\u307e\u3057\u305f\u3002\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304b\u30ed\u30b0\u3067\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002
|
||||||
@ -272,7 +270,6 @@ KeywordSearchListsAbstract.writeLists.errMsg1.msg=KeywordSearchListsAbstract\u30
|
|||||||
KeywordSearchListsAbstract.writeLists.errMsg2.msg=KeywordSearchListsAbstract\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3092\u78ba\u8a8d\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u8d77\u3053\u3057\u307e\u3057\u305f\u3002\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304b\u30ed\u30b0\u3067\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002
|
KeywordSearchListsAbstract.writeLists.errMsg2.msg=KeywordSearchListsAbstract\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3092\u78ba\u8a8d\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u8d77\u3053\u3057\u307e\u3057\u305f\u3002\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304b\u30ed\u30b0\u3067\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002
|
||||||
KeywordSearchListsManagementPanel.newKeywordListDescription=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8<{0}>\u306f\u8aad\u307f\u53d6\u308a\u5c02\u7528\u30ea\u30b9\u30c8\u3068\u3057\u3066\u5b58\u5728\u3057\u307e\u3059\u3002\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u4f7f\u7528\u4e2d\u306e\u307f\u3053\u306e\u30ea\u30b9\u30c8\u3092\u7f6e\u304d\u63db\u3048\u307e\u3059\u304b\uff1f\uff08\u3053\u306e\u5909\u66f4\u306f\u7d99\u7d9a\u3055\u308c\u307e\u305b\u3093\uff09
|
KeywordSearchListsManagementPanel.newKeywordListDescription=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8<{0}>\u306f\u8aad\u307f\u53d6\u308a\u5c02\u7528\u30ea\u30b9\u30c8\u3068\u3057\u3066\u5b58\u5728\u3057\u307e\u3059\u3002\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u4f7f\u7528\u4e2d\u306e\u307f\u3053\u306e\u30ea\u30b9\u30c8\u3092\u7f6e\u304d\u63db\u3048\u307e\u3059\u304b\uff1f\uff08\u3053\u306e\u5909\u66f4\u306f\u7d99\u7d9a\u3055\u308c\u307e\u305b\u3093\uff09
|
||||||
KeywordSearchListsManagementPanel.newKeywordListDescription2=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8<{0}>\u306f\u65e2\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u7f6e\u304d\u63db\u3048\u307e\u3059\u304b\uff1f
|
KeywordSearchListsManagementPanel.newKeywordListDescription2=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8<{0}>\u306f\u65e2\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u7f6e\u304d\u63db\u3048\u307e\u3059\u304b\uff1f
|
||||||
DropdownSearchPanelgetQueryList.exception.msg=\u30b7\u30f3\u30b0\u30eb\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u306e\u30ea\u30b9\u30c8\u306f\u5b58\u5728\u3057\u307e\u305b\u3093
|
|
||||||
KeywordSearchModuleFactory.createFileIngestModule.exception.msg=\u8a2d\u5b9a\u3092\u884c\u3046\u70ba\u306e\u60f3\u5b9a\u3055\u308c\u308b\u5f15\u6570\u306finstanceof KeywordSearchJobSettings
|
KeywordSearchModuleFactory.createFileIngestModule.exception.msg=\u8a2d\u5b9a\u3092\u884c\u3046\u70ba\u306e\u60f3\u5b9a\u3055\u308c\u308b\u5f15\u6570\u306finstanceof KeywordSearchJobSettings
|
||||||
KeywordSearchModuleFactory.getIngestJobSettingsPanel.exception.msg=\u8a2d\u5b9a\u3092\u884c\u3046\u70ba\u306e\u60f3\u5b9a\u3055\u308c\u308b\u5f15\u6570\u306finstanceof KeywordSearchJobSettings
|
KeywordSearchModuleFactory.getIngestJobSettingsPanel.exception.msg=\u8a2d\u5b9a\u3092\u884c\u3046\u70ba\u306e\u60f3\u5b9a\u3055\u308c\u308b\u5f15\u6570\u306finstanceof KeywordSearchJobSettings
|
||||||
SearchRunner.Searcher.done.err.msg=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u3092\u5b9f\u884c\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
|
SearchRunner.Searcher.done.err.msg=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u3092\u5b9f\u884c\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
|
||||||
|
@ -97,3 +97,4 @@ SearchEngineURLQueryAnalyzer.toString=Name\: {0}\
|
|||||||
SearchEngineURLQueryAnalyzer.parentModuleName.noSpace=RecentActivity
|
SearchEngineURLQueryAnalyzer.parentModuleName.noSpace=RecentActivity
|
||||||
SearchEngineURLQueryAnalyzer.parentModuleName=Recent Activity
|
SearchEngineURLQueryAnalyzer.parentModuleName=Recent Activity
|
||||||
SearchEngineURLQueryAnalyzer.init.exception.msg=Unable to find {0}
|
SearchEngineURLQueryAnalyzer.init.exception.msg=Unable to find {0}
|
||||||
|
UsbDeviceIdMapper.parseAndLookup.text=Product\: {0}
|
||||||
|
@ -27,10 +27,10 @@ ExtractIE.parentModuleName.noSpace=\u6700\u8fd1\u306e\u30a2\u30af\u30c6\u30a3\u3
|
|||||||
ExtractIE.parentModuleName=\u6700\u8fd1\u306e\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3
|
ExtractIE.parentModuleName=\u6700\u8fd1\u306e\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3
|
||||||
ExtractIE.getURLFromIEBmkFile.errMsg={0}\:Internet Explorer\u30d6\u30c3\u30af\u30de\u30fc\u30af\u30d5\u30a1\u30a4\u30eb{1}\u306e\u30d1\u30fc\u30b9\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
|
ExtractIE.getURLFromIEBmkFile.errMsg={0}\:Internet Explorer\u30d6\u30c3\u30af\u30de\u30fc\u30af\u30d5\u30a1\u30a4\u30eb{1}\u306e\u30d1\u30fc\u30b9\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
|
||||||
ExtractIE.getURLFromIEBmkFile.errMsg2={0}\:Internet Explorer\u30d6\u30c3\u30af\u30de\u30fc\u30af\u30d5\u30a1\u30a4\u30eb{1}\u306e\u30d1\u30fc\u30b9\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
|
ExtractIE.getURLFromIEBmkFile.errMsg2={0}\:Internet Explorer\u30d6\u30c3\u30af\u30de\u30fc\u30af\u30d5\u30a1\u30a4\u30eb{1}\u306e\u30d1\u30fc\u30b9\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
|
||||||
ExtractIE.getCookie.errMsg.errGettingFile={0}\:Internet Exploerer cookie\u30d5\u30a1\u30a4\u30eb\u306e\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
|
ExtractIE.getCookie.errMsg.errGettingFile={0}\:Internet Explorer cookie\u30d5\u30a1\u30a4\u30eb\u306e\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
|
||||||
ExtractIE.getCookie.errMsg.errReadingIECookie={0}\:Internet Exploerer cookie{1}\u306e\u8aad\u307f\u53d6\u308a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
|
ExtractIE.getCookie.errMsg.errReadingIECookie={0}\:Internet Explorer cookie{1}\u306e\u8aad\u307f\u53d6\u308a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
|
||||||
ExtractIE.getHistory.errMsg.unableToGetHist={0}\:Internet Explorer\u5c65\u6b74\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\uff1apasco\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f
|
ExtractIE.getHistory.errMsg.unableToGetHist={0}\:Internet Explorer\u5c65\u6b74\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\uff1apasco\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f
|
||||||
ExtractIE.getHistory.errMsg.errGettingHistFiles={0}\:Internet Exploerer\u5c65\u6b74\u30d5\u30a1\u30a4\u30eb\u306e\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
|
ExtractIE.getHistory.errMsg.errGettingHistFiles={0}\:Internet Explorer\u5c65\u6b74\u30d5\u30a1\u30a4\u30eb\u306e\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
|
||||||
ExtractIE.getHistory.errMsg.noHistFiles=Internet Explorer\u5c65\u6b74\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
|
ExtractIE.getHistory.errMsg.noHistFiles=Internet Explorer\u5c65\u6b74\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
|
||||||
ExtractIE.getHistory.errMsg.errWriteFile={0}\:\u30d5\u30a1\u30a4\u30eb\:{1}\u306e\u66f8\u304d\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
|
ExtractIE.getHistory.errMsg.errWriteFile={0}\:\u30d5\u30a1\u30a4\u30eb\:{1}\u306e\u66f8\u304d\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
|
||||||
ExtractIE.getHistory.errMsg.errProcHist={0}\: Internet Explorer\u5c65\u6b74\u306e\u51e6\u7406\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
|
ExtractIE.getHistory.errMsg.errProcHist={0}\: Internet Explorer\u5c65\u6b74\u306e\u51e6\u7406\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
|
||||||
|
@ -34,6 +34,8 @@ import java.util.HashMap;
|
|||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.openide.util.NbBundle;
|
||||||
import org.sleuthkit.autopsy.coreutils.PlatformUtil;
|
import org.sleuthkit.autopsy.coreutils.PlatformUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -82,7 +84,8 @@ class UsbDeviceIdMapper {
|
|||||||
key = vID + "0000";
|
key = vID + "0000";
|
||||||
if (devices.containsKey(key)) {
|
if (devices.containsKey(key)) {
|
||||||
USBInfo info = devices.get(key);
|
USBInfo info = devices.get(key);
|
||||||
return new USBInfo(info.getVendor(), "Product: " + pID);
|
return new USBInfo(info.getVendor(),
|
||||||
|
NbBundle.getMessage(this.getClass(), "UsbDeviceIdMapper.parseAndLookup.text", pID));
|
||||||
}
|
}
|
||||||
|
|
||||||
return new USBInfo(null, null);
|
return new USBInfo(null, null);
|
||||||
|
@ -13,7 +13,6 @@ MboxParser.handleAttch.failedWriteToDisk=Failed to extract attachment to disk\:
|
|||||||
PstParser.parse.errMsg.failedToParseNMsgs=Failed to extract {0} email messages.
|
PstParser.parse.errMsg.failedToParseNMsgs=Failed to extract {0} email messages.
|
||||||
PstParser.extractAttch.errMsg.failedToExtractToDisk=Failed to extract attachment to disk\: {0}
|
PstParser.extractAttch.errMsg.failedToExtractToDisk=Failed to extract attachment to disk\: {0}
|
||||||
ThunderbirdMboxFileIngestModule.moduleName=Email Parser
|
ThunderbirdMboxFileIngestModule.moduleName=Email Parser
|
||||||
ThunderbirdMboxFileIngestModule.hashDbModuleName=Hash Lookup
|
|
||||||
ThunderbirdMboxFileIngestModule.processPst.errMsg.outOfDiskSpace=Out of disk space. Can't copy {0} to parse.
|
ThunderbirdMboxFileIngestModule.processPst.errMsg.outOfDiskSpace=Out of disk space. Can't copy {0} to parse.
|
||||||
ThunderbirdMboxFileIngestModule.encryptionFileLevel=File-level Encryption
|
ThunderbirdMboxFileIngestModule.encryptionFileLevel=File-level Encryption
|
||||||
ThunderbirdMboxFileIngestModule.processPst.errProcFile.msg=Error while processing {0}
|
ThunderbirdMboxFileIngestModule.processPst.errProcFile.msg=Error while processing {0}
|
||||||
|
@ -12,7 +12,6 @@ MboxParser.handleAttch.failedWriteToDisk=\u30A2\u30BF\u30C3\u30C1\u30E1\u30F3\u3
|
|||||||
PstParser.parse.errMsg.failedToParseNMsgs={0}\u500B\u306EE\u30E1\u30FC\u30EB\u30E1\u30C3\u30BB\u30FC\u30B8\u306E\u62BD\u51FA\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002
|
PstParser.parse.errMsg.failedToParseNMsgs={0}\u500B\u306EE\u30E1\u30FC\u30EB\u30E1\u30C3\u30BB\u30FC\u30B8\u306E\u62BD\u51FA\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002
|
||||||
PstParser.extractAttch.errMsg.failedToExtractToDisk=\u30A2\u30BF\u30C3\u30C1\u30E1\u30F3\u30C8\u3092\u30C7\u30A3\u30B9\u30AF\: {0}\u3078\u62BD\u51FA\u3059\u308B\u306E\u306B\u5931\u6557\u3057\u307E\u3057\u305F
|
PstParser.extractAttch.errMsg.failedToExtractToDisk=\u30A2\u30BF\u30C3\u30C1\u30E1\u30F3\u30C8\u3092\u30C7\u30A3\u30B9\u30AF\: {0}\u3078\u62BD\u51FA\u3059\u308B\u306E\u306B\u5931\u6557\u3057\u307E\u3057\u305F
|
||||||
ThunderbirdMboxFileIngestModule.moduleName=E\u30E1\u30FC\u30EB\u30D1\u30FC\u30B5
|
ThunderbirdMboxFileIngestModule.moduleName=E\u30E1\u30FC\u30EB\u30D1\u30FC\u30B5
|
||||||
ThunderbirdMboxFileIngestModule.hashDbModuleName=\u30CF\u30C3\u30B7\u30E5\u30EB\u30C3\u30AF\u30A2\u30C3\u30D7
|
|
||||||
ThunderbirdMboxFileIngestModule.processPst.errMsg.outOfDiskSpace=\u30C7\u30A3\u30B9\u30AF\u9818\u57DF\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059\u3002\u30D1\u30FC\u30B9\u3059\u308B\u70BA\u306B{0}\u3092\u30B3\u30D4\u30FC\u3067\u304D\u307E\u305B\u3093\u3002
|
ThunderbirdMboxFileIngestModule.processPst.errMsg.outOfDiskSpace=\u30C7\u30A3\u30B9\u30AF\u9818\u57DF\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059\u3002\u30D1\u30FC\u30B9\u3059\u308B\u70BA\u306B{0}\u3092\u30B3\u30D4\u30FC\u3067\u304D\u307E\u305B\u3093\u3002
|
||||||
ThunderbirdMboxFileIngestModule.encryptionFileLevel=\u30D5\u30A1\u30A4\u30EB\u30EC\u30D9\u30EB\u6697\u53F7\u5316
|
ThunderbirdMboxFileIngestModule.encryptionFileLevel=\u30D5\u30A1\u30A4\u30EB\u30EC\u30D9\u30EB\u6697\u53F7\u5316
|
||||||
ThunderbirdMboxFileIngestModule.processPst.errProcFile.msg={0}\u306E\u51E6\u7406\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
|
ThunderbirdMboxFileIngestModule.processPst.errProcFile.msg={0}\u306E\u51E6\u7406\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
|
||||||
|
Loading…
x
Reference in New Issue
Block a user