mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-14 17:06:16 +00:00
Merge remote-tracking branch 'upstream/develop' into 6510-manifest-file-validation
This commit is contained in:
commit
8a0f68f5e2
@ -21,7 +21,7 @@ package org.sleuthkit.autopsy.communications.relationships;
|
||||
import java.beans.PropertyChangeEvent;
|
||||
import org.openide.explorer.ExplorerManager;
|
||||
import org.openide.nodes.Node;
|
||||
import org.sleuthkit.autopsy.contentviewers.CallLogArtifactViewer;
|
||||
import org.sleuthkit.autopsy.contentviewers.artifactviewers.CallLogArtifactViewer;
|
||||
import org.sleuthkit.autopsy.corecomponentinterfaces.DataContent;
|
||||
import org.sleuthkit.datamodel.BlackboardArtifact;
|
||||
|
||||
|
@ -21,7 +21,7 @@ package org.sleuthkit.autopsy.communications.relationships;
|
||||
import java.beans.PropertyChangeEvent;
|
||||
import org.openide.explorer.ExplorerManager;
|
||||
import org.openide.nodes.Node;
|
||||
import org.sleuthkit.autopsy.contentviewers.ContactArtifactViewer;
|
||||
import org.sleuthkit.autopsy.contentviewers.artifactviewers.ContactArtifactViewer;
|
||||
import org.sleuthkit.autopsy.corecomponentinterfaces.DataContent;
|
||||
import org.sleuthkit.datamodel.BlackboardArtifact;
|
||||
|
||||
|
@ -25,7 +25,7 @@ import org.openide.explorer.ExplorerManager;
|
||||
import org.openide.nodes.Node;
|
||||
import org.sleuthkit.autopsy.casemodule.Case;
|
||||
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
||||
import org.sleuthkit.autopsy.contentviewers.MessageArtifactViewer;
|
||||
import org.sleuthkit.autopsy.contentviewers.artifactviewers.MessageArtifactViewer;
|
||||
import org.sleuthkit.autopsy.corecomponentinterfaces.DataContent;
|
||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||
import org.sleuthkit.datamodel.AbstractFile;
|
||||
|
@ -939,45 +939,4 @@ manager.properties.lafError =\
|
||||
manager.properties.brokenProperty = Broken default property {0} value: {1}
|
||||
|
||||
manager.properties.missingProperty = Missing default property {0} value: {1}
|
||||
DefaultArtifactContentViewer.copyMenuItem.text=Copy
|
||||
DefaultArtifactContentViewer.selectAllMenuItem.text=Select All
|
||||
ContactArtifactViewer.contactNameLabel.text=Joanna Doe
|
||||
ContactArtifactViewer.phonesLabel.text=Phone
|
||||
ContactArtifactViewer.emailsLabel.text=Email
|
||||
ContactArtifactViewer.othersLabel.text=Other
|
||||
DefaultArtifactContentViewer.copyMenuItem.text=Copy
|
||||
DefaultArtifactContentViewer.selectAllMenuItem.text=Select All
|
||||
CallLogArtifactViewer.dataSourceNameLabel.text=data source name
|
||||
CallLogArtifactViewer.jLabel2.text=Device Id
|
||||
CallLogArtifactViewer.deviceIdLabel.text=device id
|
||||
CallLogArtifactViewer.localAccountIdLabel.text=local account
|
||||
CallLogArtifactViewer.localAccountLabel.text=Local Account
|
||||
CallLogArtifactViewer.jLabel4.text=Data Source Name
|
||||
CallLogArtifactViewer.otherInfoLabel.text=Other Information
|
||||
CallLogArtifactViewer.sourceSectionLabel.text=Source
|
||||
CallLogArtifactViewer.callDetailsLabel.text=Call Details
|
||||
CallLogArtifactViewer.durationLabel.text=Duration....
|
||||
CallLogArtifactViewer.dateTimeLabel.text=Date/Time.....
|
||||
CallLogArtifactViewer.directionLabel.text=Direction
|
||||
CallLogArtifactViewer.onLabel.text=On
|
||||
CallLogArtifactViewer.callLabel.text=call
|
||||
MessageArtifactViewer.fromText.text=from address goes here
|
||||
MessageArtifactViewer.datetimeText.text=date goes here
|
||||
MessageArtifactViewer.headersScrollPane.TabConstraints.tabTitle=Headers
|
||||
MessageArtifactViewer.fromLabel.text=From:
|
||||
MessageArtifactViewer.directionText.text=direction
|
||||
MessageArtifactViewer.subjectText.text=subject goes here
|
||||
MessageArtifactViewer.viewInNewWindowButton.text=View in New Window
|
||||
MessageArtifactViewer.subjectLabel.text=Subject:
|
||||
MessageArtifactViewer.attachmentsPanel.TabConstraints.tabTitle=Attachments
|
||||
MessageArtifactViewer.ccText.text=cc list goes here
|
||||
MessageArtifactViewer.ccLabel.text=CC:
|
||||
MessageArtifactViewer.rtfbodyScrollPane.TabConstraints.tabTitle=RTF
|
||||
MessageArtifactViewer.toText.text=to list goes here
|
||||
MessageArtifactViewer.toLabel.text=To:
|
||||
MessageArtifactViewer.htmlPane.TabConstraints.tabTitle=HTML
|
||||
CallLogArtifactViewer.localAccountPersonaLabel.text=Persona
|
||||
CallLogArtifactViewer.localAccountPersonaNameLabel.text=jLabel1
|
||||
CallLogArtifactViewer.localAccountPersonaButton.text=jButton1
|
||||
ContactArtifactViewer.personasLabel.text=Personas
|
||||
MessageArtifactViewer.accountsTab.TabConstraints.tabTitle=Accounts
|
||||
|
||||
|
@ -35,50 +35,6 @@ AnnotationsContentViewer.title=Annotations
|
||||
AnnotationsContentViewer.toolTip=Displays tags and comments associated with the selected content.
|
||||
ApplicationContentViewer.title=Application
|
||||
ApplicationContentViewer.toolTip=Displays file contents.
|
||||
CalllogArtifactViewer_cr_disabled_message=Enable Central Repository to view, create and edit personas.
|
||||
CallLogArtifactViewer_heading_metadata=Metadata
|
||||
CallLogArtifactViewer_heading_others=Other Attributes
|
||||
CallLogArtifactViewer_heading_parties=Parties
|
||||
CallLogArtifactViewer_heading_Source=Source
|
||||
CallLogArtifactViewer_label_datasource=Data Source
|
||||
CallLogArtifactViewer_label_date=Date
|
||||
CallLogArtifactViewer_label_direction=Direction
|
||||
CallLogArtifactViewer_label_duration=Duration
|
||||
CallLogArtifactViewer_label_from=From
|
||||
CallLogArtifactViewer_label_to=To
|
||||
CallLogArtifactViewer_suffix_local=(Local)
|
||||
CallLogArtifactViewer_value_unknown=Unknown
|
||||
CommunicationArtifactViewerHelper_menuitem_copy=Copy
|
||||
CommunicationArtifactViewerHelper_persona_button_create=Create
|
||||
CommunicationArtifactViewerHelper_persona_button_view=View
|
||||
CommunicationArtifactViewerHelper_persona_label=Persona:
|
||||
CommunicationArtifactViewerHelper_persona_searching=Searching...
|
||||
CommunicationArtifactViewerHelper_persona_unknown=Unknown
|
||||
ContactArtifactViewer.contactImage.text=
|
||||
ContactArtifactViewer_contactname_unknown=Unknown
|
||||
ContactArtifactViewer_cr_disabled_message=Enable Central Repository to view, create and edit personas.
|
||||
ContactArtifactViewer_emails_header=Email
|
||||
ContactArtifactViewer_found_all_accounts_label=All accounts found.
|
||||
ContactArtifactViewer_heading_Source=Source
|
||||
ContactArtifactViewer_label_datasource=Data Source
|
||||
ContactArtifactViewer_missing_account_label=Missing contact account
|
||||
ContactArtifactViewer_others_header=Other
|
||||
ContactArtifactViewer_persona_account_justification=Account found in Contact artifact
|
||||
ContactArtifactViewer_persona_button_new=Create
|
||||
ContactArtifactViewer_persona_button_view=View
|
||||
ContactArtifactViewer_persona_header=Persona
|
||||
ContactArtifactViewer_persona_label=Persona
|
||||
ContactArtifactViewer_persona_match_num=Match
|
||||
ContactArtifactViewer_persona_no_match=No matches found
|
||||
ContactArtifactViewer_persona_searching=Searching...
|
||||
ContactArtifactViewer_persona_unknown=Unknown
|
||||
ContactArtifactViewer_phones_header=Phone
|
||||
ContactArtifactViewer_plural_suffix=s
|
||||
DataContentViewerArtifact.failedToGetAttributes.message=Failed to get some or all attributes from case database
|
||||
DataContentViewerArtifact.failedToGetSourcePath.message=Failed to get source file path from case database
|
||||
DefaultArtifactContentViewer.attrsTableHeader.sources=Source(s)
|
||||
DefaultArtifactContentViewer.attrsTableHeader.type=Type
|
||||
DefaultArtifactContentViewer.attrsTableHeader.value=Value
|
||||
FXVideoPanel.pauseButton.infoLabel.playbackErr=Unable to play video.
|
||||
FXVideoPanel.progress.bufferingCancelled=media buffering was canceled
|
||||
FXVideoPanel.progress.bufferingInterrupted=media buffering was interrupted
|
||||
@ -129,11 +85,6 @@ MediaViewVideoPanel.progressLabel.text=00:00
|
||||
MediaViewVideoPanel.infoLabel.text=info
|
||||
MediaViewImagePanel.imgFileTooLarge.msg=Could not load image file (too large): {0}
|
||||
|
||||
MessageAccountPanel_button_create_label=Create
|
||||
MessageAccountPanel_button_view_label=View
|
||||
MessageAccountPanel_persona_label=Persona:
|
||||
MessageAccountPanel_unknown_label=Unknown
|
||||
MessageArtifactViewer.AttachmentPanel.title=Attachments
|
||||
Metadata.nodeText.none=None
|
||||
Metadata.nodeText.truncated=(results truncated)
|
||||
Metadata.nodeText.unknown=Unknown
|
||||
@ -170,8 +121,6 @@ JPEGViewerDummy.jLabel1.text=You are looking at a JPEG file:
|
||||
JPEGViewerDummy.jTextField1.text=jTextField1
|
||||
PDFViewer.encryptedDialog=This document is password protected.
|
||||
PDFViewer.errorDialog=An error occurred while opening this PDF document. Check the logs for more information. You may continue to use this feature on other PDF documents.
|
||||
# {0} - Persona count
|
||||
PersonaDisplayTask_persona_count_suffix=(1 of {0})
|
||||
PListNode.KeyCol=Key
|
||||
PListNode.TypeCol=Type
|
||||
PListNode.ValueCol=Value
|
||||
@ -1078,45 +1027,4 @@ manager.properties.lafError =\
|
||||
manager.properties.brokenProperty = Broken default property {0} value: {1}
|
||||
|
||||
manager.properties.missingProperty = Missing default property {0} value: {1}
|
||||
DefaultArtifactContentViewer.copyMenuItem.text=Copy
|
||||
DefaultArtifactContentViewer.selectAllMenuItem.text=Select All
|
||||
ContactArtifactViewer.contactNameLabel.text=Joanna Doe
|
||||
ContactArtifactViewer.phonesLabel.text=Phone
|
||||
ContactArtifactViewer.emailsLabel.text=Email
|
||||
ContactArtifactViewer.othersLabel.text=Other
|
||||
DefaultArtifactContentViewer.copyMenuItem.text=Copy
|
||||
DefaultArtifactContentViewer.selectAllMenuItem.text=Select All
|
||||
CallLogArtifactViewer.dataSourceNameLabel.text=data source name
|
||||
CallLogArtifactViewer.jLabel2.text=Device Id
|
||||
CallLogArtifactViewer.deviceIdLabel.text=device id
|
||||
CallLogArtifactViewer.localAccountIdLabel.text=local account
|
||||
CallLogArtifactViewer.localAccountLabel.text=Local Account
|
||||
CallLogArtifactViewer.jLabel4.text=Data Source Name
|
||||
CallLogArtifactViewer.otherInfoLabel.text=Other Information
|
||||
CallLogArtifactViewer.sourceSectionLabel.text=Source
|
||||
CallLogArtifactViewer.callDetailsLabel.text=Call Details
|
||||
CallLogArtifactViewer.durationLabel.text=Duration....
|
||||
CallLogArtifactViewer.dateTimeLabel.text=Date/Time.....
|
||||
CallLogArtifactViewer.directionLabel.text=Direction
|
||||
CallLogArtifactViewer.onLabel.text=On
|
||||
CallLogArtifactViewer.callLabel.text=call
|
||||
MessageArtifactViewer.fromText.text=from address goes here
|
||||
MessageArtifactViewer.datetimeText.text=date goes here
|
||||
MessageArtifactViewer.headersScrollPane.TabConstraints.tabTitle=Headers
|
||||
MessageArtifactViewer.fromLabel.text=From:
|
||||
MessageArtifactViewer.directionText.text=direction
|
||||
MessageArtifactViewer.subjectText.text=subject goes here
|
||||
MessageArtifactViewer.viewInNewWindowButton.text=View in New Window
|
||||
MessageArtifactViewer.subjectLabel.text=Subject:
|
||||
MessageArtifactViewer.attachmentsPanel.TabConstraints.tabTitle=Attachments
|
||||
MessageArtifactViewer.ccText.text=cc list goes here
|
||||
MessageArtifactViewer.ccLabel.text=CC:
|
||||
MessageArtifactViewer.rtfbodyScrollPane.TabConstraints.tabTitle=RTF
|
||||
MessageArtifactViewer.toText.text=to list goes here
|
||||
MessageArtifactViewer.toLabel.text=To:
|
||||
MessageArtifactViewer.htmlPane.TabConstraints.tabTitle=HTML
|
||||
CallLogArtifactViewer.localAccountPersonaLabel.text=Persona
|
||||
CallLogArtifactViewer.localAccountPersonaNameLabel.text=jLabel1
|
||||
CallLogArtifactViewer.localAccountPersonaButton.text=jButton1
|
||||
ContactArtifactViewer.personasLabel.text=Personas
|
||||
MessageArtifactViewer.accountsTab.TabConstraints.tabTitle=Accounts
|
||||
|
||||
|
@ -149,20 +149,3 @@ MediaViewImagePanel.tagsMenu.text_1=\u30bf\u30b0\u30e1\u30cb\u30e5\u30fc
|
||||
SQLiteViewer.readTable.errorText=\u6b21\u306e\u30c6\u30fc\u30d6\u30eb\u306e\u884c\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}
|
||||
# {0} - tableName
|
||||
SQLiteViewer.selectTable.errorText=\u6b21\u306e\u30c6\u30fc\u30d6\u30eb\u306e\u884c\u30ab\u30a6\u30f3\u30c8\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}
|
||||
DefaultArtifactContentViewer.selectAllMenuItem.text=\u3059\u3079\u3066\u3092\u9078\u629e
|
||||
DefaultArtifactContentViewer.copyMenuItem.text=\u30b3\u30d4\u30fc
|
||||
MessageArtifactViewer.fromText.text=\u9001\u4fe1\u5143\u30a2\u30c9\u30ec\u30b9\u3092\u3053\u3053\u306b\u8868\u793a
|
||||
MessageArtifactViewer.datetimeText.text=\u65e5\u4ed8\u3092\u3053\u3053\u306b\u8868\u793a
|
||||
MessageArtifactViewer.headersScrollPane.TabConstraints.tabTitle=\u30d8\u30c3\u30c0\u30fc
|
||||
MessageArtifactViewer.fromLabel.text=\u5dee\u51fa\u4eba:
|
||||
MessageArtifactViewer.directionText.text=\u9001\u53d7\u4fe1\u306e\u7a2e\u5225
|
||||
MessageArtifactViewer.subjectText.text=\u4ef6\u540d\u3092\u3053\u3053\u306b\u8868\u793a
|
||||
MessageArtifactViewer.viewInNewWindowButton.text=\u65b0\u3057\u3044\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u8868\u793a
|
||||
MessageArtifactViewer.subjectLabel.text=\u4ef6\u540d:
|
||||
MessageArtifactViewer.attachmentsPanel.TabConstraints.tabTitle=\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb
|
||||
MessageArtifactViewer.ccText.text=\u5b9b\u5148\u306eCC\u30ea\u30b9\u30c8\u3092\u3053\u3053\u306b\u8868\u793a
|
||||
MessageArtifactViewer.ccLabel.text=CC:
|
||||
MessageArtifactViewer.rtfbodyScrollPane.TabConstraints.tabTitle=RTF
|
||||
MessageArtifactViewer.toText.text=\u5b9b\u5148\u306eTO\u30ea\u30b9\u30c8\u3092\u3053\u3053\u306b\u8868\u793a
|
||||
MessageArtifactViewer.toLabel.text=\u5b9b\u5148:
|
||||
MessageArtifactViewer.htmlPane.TabConstraints.tabTitle=HTML
|
||||
|
@ -42,7 +42,7 @@ import org.w3c.dom.events.EventTarget;
|
||||
* A file content viewer for HTML files.
|
||||
*/
|
||||
@SuppressWarnings("PMD.SingularField") // UI widgets cause lots of false positives
|
||||
final class HtmlPanel extends javax.swing.JPanel {
|
||||
public final class HtmlPanel extends javax.swing.JPanel {
|
||||
|
||||
private static final Logger logger = Logger.getLogger(HtmlPanel.class.getName());
|
||||
private static final long serialVersionUID = 1L;
|
||||
@ -54,7 +54,7 @@ final class HtmlPanel extends javax.swing.JPanel {
|
||||
/**
|
||||
* Creates new form HtmlViewerPanel
|
||||
*/
|
||||
HtmlPanel() {
|
||||
public HtmlPanel() {
|
||||
initComponents();
|
||||
Platform.runLater(() -> {
|
||||
webView = new WebView();
|
||||
@ -83,7 +83,7 @@ final class HtmlPanel extends javax.swing.JPanel {
|
||||
*
|
||||
* @param htmlText The HTML text to be applied to the text pane.
|
||||
*/
|
||||
void setHtmlText(String htmlText) {
|
||||
public void setHtmlText(String htmlText) {
|
||||
this.htmlText = htmlText;
|
||||
refresh();
|
||||
}
|
||||
@ -91,7 +91,7 @@ final class HtmlPanel extends javax.swing.JPanel {
|
||||
/**
|
||||
* Clear the HTML in the text pane and disable the show/hide button.
|
||||
*/
|
||||
void reset() {
|
||||
public void reset() {
|
||||
Platform.runLater(() -> {
|
||||
webView.getEngine().loadContent("", TEXT_TYPE);
|
||||
});
|
||||
|
@ -37,14 +37,14 @@ import org.sleuthkit.autopsy.texttranslation.ui.TranslateTextTask;
|
||||
/**
|
||||
* This is a panel for translation with a subcomponent that allows for translation.
|
||||
*/
|
||||
class TranslatablePanel extends JPanel {
|
||||
public class TranslatablePanel extends JPanel {
|
||||
|
||||
/**
|
||||
* This is an exception that can occur during the normal operation of the translatable
|
||||
* panel. For instance, this exception can be thrown if it is not possible to set the child
|
||||
* content to the provided content string.
|
||||
*/
|
||||
class TranslatablePanelException extends Exception {
|
||||
public class TranslatablePanelException extends Exception {
|
||||
public static final long serialVersionUID = 1L;
|
||||
|
||||
TranslatablePanelException(String message) {
|
||||
@ -61,7 +61,7 @@ class TranslatablePanel extends JPanel {
|
||||
* This describes a child component to be placed as a child of this panel. The child received
|
||||
* from {@link #getRootComponent() getRootComponent() } will listen for content updates from setContent().
|
||||
*/
|
||||
interface ContentComponent {
|
||||
public interface ContentComponent {
|
||||
/**
|
||||
* This method gets root component of the translation panel.
|
||||
* @return the root component to insert into the translatable panel
|
||||
@ -191,7 +191,7 @@ class TranslatablePanel extends JPanel {
|
||||
|
||||
@Messages({"TranslatablePanel.comboBoxOption.originalText=Original Text",
|
||||
"TranslatablePanel.comboBoxOption.translatedText=Translated Text"})
|
||||
TranslatablePanel(ContentComponent contentComponent) {
|
||||
public TranslatablePanel(ContentComponent contentComponent) {
|
||||
this(
|
||||
contentComponent,
|
||||
Bundle.TranslatablePanel_comboBoxOption_originalText(),
|
||||
@ -263,7 +263,7 @@ class TranslatablePanel extends JPanel {
|
||||
* This resets the component to an empty state and sets the translation bar visibility
|
||||
* based on whether there is a provider.
|
||||
*/
|
||||
final void reset() {
|
||||
public final void reset() {
|
||||
setContent(null, null);
|
||||
}
|
||||
|
||||
@ -272,7 +272,7 @@ class TranslatablePanel extends JPanel {
|
||||
* @param content the content for the panel
|
||||
* @param contentDescriptor the content descriptor to be used in error messages
|
||||
*/
|
||||
void setContent(String content, String contentDescriptor) {
|
||||
public void setContent(String content, String contentDescriptor) {
|
||||
cancelPendingTranslation();
|
||||
setTranslationEnabled();
|
||||
this.translateComboBox.setSelectedIndex(0);
|
||||
|
@ -16,7 +16,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.sleuthkit.autopsy.contentviewers;
|
||||
package org.sleuthkit.autopsy.contentviewers.artifactviewers;
|
||||
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JLabel;
|
@ -16,7 +16,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.sleuthkit.autopsy.contentviewers;
|
||||
package org.sleuthkit.autopsy.contentviewers.artifactviewers;
|
||||
|
||||
import java.awt.Component;
|
||||
import org.sleuthkit.datamodel.BlackboardArtifact;
|
@ -0,0 +1,34 @@
|
||||
# Copyright 2020 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.
|
||||
#
|
||||
|
||||
DefaultArtifactContentViewer.copyMenuItem.text=Copy
|
||||
DefaultArtifactContentViewer.selectAllMenuItem.text=Select All
|
||||
MessageArtifactViewer.ccLabel.text=CC:
|
||||
MessageArtifactViewer.rtfbodyScrollPane.TabConstraints.tabTitle=RTF
|
||||
MessageArtifactViewer.toText.text=to list goes here
|
||||
MessageArtifactViewer.toLabel.text=To:
|
||||
MessageArtifactViewer.htmlPane.TabConstraints.tabTitle=HTML
|
||||
MessageArtifactViewer.fromText.text=from address goes here
|
||||
MessageArtifactViewer.datetimeText.text=date goes here
|
||||
MessageArtifactViewer.headersScrollPane.TabConstraints.tabTitle=Headers
|
||||
MessageArtifactViewer.fromLabel.text=From:
|
||||
MessageArtifactViewer.accountsTab.TabConstraints.tabTitle=Accounts
|
||||
MessageArtifactViewer.directionText.text=direction
|
||||
MessageArtifactViewer.subjectText.text=subject goes here
|
||||
MessageArtifactViewer.viewInNewWindowButton.text=View in New Window
|
||||
MessageArtifactViewer.subjectLabel.text=Subject:
|
||||
MessageArtifactViewer.attachmentsPanel.TabConstraints.tabTitle=Attachments
|
||||
MessageArtifactViewer.ccText.text=cc list goes here
|
||||
MessageArtifactViewer.textbodyScrollPane.TabConstraints.tabTitle=Text
|
@ -0,0 +1,85 @@
|
||||
# Copyright 2020 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.
|
||||
#
|
||||
|
||||
CalllogArtifactViewer_cr_disabled_message=Enable Central Repository to view, create and edit personas.
|
||||
CallLogArtifactViewer_heading_metadata=Metadata
|
||||
CallLogArtifactViewer_heading_others=Other Attributes
|
||||
CallLogArtifactViewer_heading_parties=Parties
|
||||
CallLogArtifactViewer_heading_Source=Source
|
||||
CallLogArtifactViewer_label_datasource=Data Source
|
||||
CallLogArtifactViewer_label_date=Date
|
||||
CallLogArtifactViewer_label_direction=Direction
|
||||
CallLogArtifactViewer_label_duration=Duration
|
||||
CallLogArtifactViewer_label_from=From
|
||||
CallLogArtifactViewer_label_to=To
|
||||
CallLogArtifactViewer_suffix_local=(Local)
|
||||
CallLogArtifactViewer_value_unknown=Unknown
|
||||
CommunicationArtifactViewerHelper_menuitem_copy=Copy
|
||||
CommunicationArtifactViewerHelper_persona_button_create=Create
|
||||
CommunicationArtifactViewerHelper_persona_button_view=View
|
||||
CommunicationArtifactViewerHelper_persona_label=Persona:
|
||||
CommunicationArtifactViewerHelper_persona_searching=Searching...
|
||||
CommunicationArtifactViewerHelper_persona_unknown=Unknown
|
||||
ContactArtifactViewer.contactImage.text=
|
||||
ContactArtifactViewer_contactname_unknown=Unknown
|
||||
ContactArtifactViewer_cr_disabled_message=Enable Central Repository to view, create and edit personas.
|
||||
ContactArtifactViewer_emails_header=Email
|
||||
ContactArtifactViewer_found_all_accounts_label=All accounts found.
|
||||
ContactArtifactViewer_heading_Source=Source
|
||||
ContactArtifactViewer_label_datasource=Data Source
|
||||
ContactArtifactViewer_missing_account_label=Missing contact account
|
||||
ContactArtifactViewer_others_header=Other
|
||||
ContactArtifactViewer_persona_account_justification=Account found in Contact artifact
|
||||
ContactArtifactViewer_persona_button_new=Create
|
||||
ContactArtifactViewer_persona_button_view=View
|
||||
ContactArtifactViewer_persona_header=Persona
|
||||
ContactArtifactViewer_persona_label=Persona
|
||||
ContactArtifactViewer_persona_match_num=Match
|
||||
ContactArtifactViewer_persona_no_match=No matches found
|
||||
ContactArtifactViewer_persona_searching=Searching...
|
||||
ContactArtifactViewer_persona_unknown=Unknown
|
||||
ContactArtifactViewer_phones_header=Phone
|
||||
ContactArtifactViewer_plural_suffix=s
|
||||
DataContentViewerArtifact.failedToGetAttributes.message=Failed to get some or all attributes from case database
|
||||
DataContentViewerArtifact.failedToGetSourcePath.message=Failed to get source file path from case database
|
||||
DefaultArtifactContentViewer.attrsTableHeader.sources=Source(s)
|
||||
DefaultArtifactContentViewer.attrsTableHeader.type=Type
|
||||
DefaultArtifactContentViewer.attrsTableHeader.value=Value
|
||||
DefaultArtifactContentViewer.copyMenuItem.text=Copy
|
||||
DefaultArtifactContentViewer.selectAllMenuItem.text=Select All
|
||||
MessageAccountPanel_button_create_label=Create
|
||||
MessageAccountPanel_button_view_label=View
|
||||
MessageAccountPanel_persona_label=Persona:
|
||||
MessageAccountPanel_unknown_label=Unknown
|
||||
MessageArtifactViewer.AttachmentPanel.title=Attachments
|
||||
MessageArtifactViewer.ccLabel.text=CC:
|
||||
MessageArtifactViewer.rtfbodyScrollPane.TabConstraints.tabTitle=RTF
|
||||
MessageArtifactViewer.toText.text=to list goes here
|
||||
MessageArtifactViewer.toLabel.text=To:
|
||||
MessageArtifactViewer.htmlPane.TabConstraints.tabTitle=HTML
|
||||
MessageArtifactViewer.fromText.text=from address goes here
|
||||
MessageArtifactViewer.datetimeText.text=date goes here
|
||||
MessageArtifactViewer.headersScrollPane.TabConstraints.tabTitle=Headers
|
||||
MessageArtifactViewer.fromLabel.text=From:
|
||||
MessageArtifactViewer.accountsTab.TabConstraints.tabTitle=Accounts
|
||||
MessageArtifactViewer.directionText.text=direction
|
||||
MessageArtifactViewer.subjectText.text=subject goes here
|
||||
MessageArtifactViewer.viewInNewWindowButton.text=View in New Window
|
||||
MessageArtifactViewer.subjectLabel.text=Subject:
|
||||
MessageArtifactViewer.attachmentsPanel.TabConstraints.tabTitle=Attachments
|
||||
MessageArtifactViewer.ccText.text=cc list goes here
|
||||
MessageArtifactViewer.textbodyScrollPane.TabConstraints.tabTitle=Text
|
||||
# {0} - Persona count
|
||||
PersonaDisplayTask_persona_count_suffix=(1 of {0})
|
@ -0,0 +1,19 @@
|
||||
|
||||
DefaultArtifactContentViewer.selectAllMenuItem.text=\u3059\u3079\u3066\u3092\u9078\u629e
|
||||
|
||||
DefaultArtifactContentViewer.copyMenuItem.text=\u30b3\u30d4\u30fc
|
||||
MessageArtifactViewer.rtfbodyScrollPane.TabConstraints.tabTitle=RTF
|
||||
MessageArtifactViewer.toText.text=\u5b9b\u5148\u306eTO\u30ea\u30b9\u30c8\u3092\u3053\u3053\u306b\u8868\u793a
|
||||
MessageArtifactViewer.toLabel.text=\u5b9b\u5148:
|
||||
MessageArtifactViewer.htmlPane.TabConstraints.tabTitle=HTML
|
||||
MessageArtifactViewer.fromText.text=\u9001\u4fe1\u5143\u30a2\u30c9\u30ec\u30b9\u3092\u3053\u3053\u306b\u8868\u793a
|
||||
MessageArtifactViewer.datetimeText.text=\u65e5\u4ed8\u3092\u3053\u3053\u306b\u8868\u793a
|
||||
MessageArtifactViewer.headersScrollPane.TabConstraints.tabTitle=\u30d8\u30c3\u30c0\u30fc
|
||||
MessageArtifactViewer.fromLabel.text=\u5dee\u51fa\u4eba:
|
||||
MessageArtifactViewer.directionText.text=\u9001\u53d7\u4fe1\u306e\u7a2e\u5225
|
||||
MessageArtifactViewer.subjectText.text=\u4ef6\u540d\u3092\u3053\u3053\u306b\u8868\u793a
|
||||
MessageArtifactViewer.viewInNewWindowButton.text=\u65b0\u3057\u3044\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u8868\u793a
|
||||
MessageArtifactViewer.subjectLabel.text=\u4ef6\u540d:
|
||||
MessageArtifactViewer.attachmentsPanel.TabConstraints.tabTitle=\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb
|
||||
MessageArtifactViewer.ccText.text=\u5b9b\u5148\u306eCC\u30ea\u30b9\u30c8\u3092\u3053\u3053\u306b\u8868\u793a
|
||||
MessageArtifactViewer.ccLabel.text=CC:
|
@ -16,7 +16,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.sleuthkit.autopsy.contentviewers;
|
||||
package org.sleuthkit.autopsy.contentviewers.artifactviewers;
|
||||
|
||||
import java.awt.Component;
|
||||
import java.awt.GridBagConstraints;
|
||||
@ -27,7 +27,6 @@ import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.logging.Level;
|
||||
import javax.swing.JScrollPane;
|
@ -16,7 +16,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.sleuthkit.autopsy.contentviewers;
|
||||
package org.sleuthkit.autopsy.contentviewers.artifactviewers;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
@ -16,7 +16,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.sleuthkit.autopsy.contentviewers;
|
||||
package org.sleuthkit.autopsy.contentviewers.artifactviewers;
|
||||
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Font;
|
@ -16,7 +16,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.sleuthkit.autopsy.contentviewers;
|
||||
package org.sleuthkit.autopsy.contentviewers.artifactviewers;
|
||||
|
||||
import java.awt.Component;
|
||||
import java.awt.GridBagConstraints;
|
@ -11,14 +11,14 @@
|
||||
<MenuItem class="javax.swing.JMenuItem" name="copyMenuItem">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/Bundle.properties" key="DefaultArtifactContentViewer.copyMenuItem.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle.properties" key="DefaultArtifactContentViewer.copyMenuItem.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</MenuItem>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="selectAllMenuItem">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/Bundle.properties" key="DefaultArtifactContentViewer.selectAllMenuItem.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle.properties" key="DefaultArtifactContentViewer.selectAllMenuItem.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</MenuItem>
|
@ -16,7 +16,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.sleuthkit.autopsy.contentviewers;
|
||||
package org.sleuthkit.autopsy.contentviewers.artifactviewers;
|
||||
|
||||
import java.awt.Component;
|
||||
import java.awt.Cursor;
|
||||
@ -54,6 +54,7 @@ import com.google.gson.JsonArray;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import javax.swing.SwingUtilities;
|
||||
//import org.sleuthkit.autopsy.contentviewers.Bundle;
|
||||
|
||||
/**
|
||||
* This class displays a Blackboard artifact as a table listing all it's
|
@ -17,7 +17,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.sleuthkit.autopsy.contentviewers;
|
||||
package org.sleuthkit.autopsy.contentviewers.artifactviewers;
|
||||
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
@ -120,7 +120,7 @@
|
||||
<Component class="javax.swing.JLabel" name="fromLabel">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/Bundle.properties" key="MessageArtifactViewer.fromLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle.properties" key="MessageArtifactViewer.fromLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
@ -128,28 +128,28 @@
|
||||
<Properties>
|
||||
<Property name="horizontalAlignment" type="int" value="4"/>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/Bundle.properties" key="MessageArtifactViewer.datetimeText.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle.properties" key="MessageArtifactViewer.datetimeText.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="fromText">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/Bundle.properties" key="MessageArtifactViewer.fromText.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle.properties" key="MessageArtifactViewer.fromText.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="toLabel">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/Bundle.properties" key="MessageArtifactViewer.toLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle.properties" key="MessageArtifactViewer.toLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="toText">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/Bundle.properties" key="MessageArtifactViewer.toText.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle.properties" key="MessageArtifactViewer.toText.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
<Property name="autoscrolls" type="boolean" value="true"/>
|
||||
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||
@ -160,14 +160,14 @@
|
||||
<Component class="javax.swing.JLabel" name="ccLabel">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/Bundle.properties" key="MessageArtifactViewer.ccLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle.properties" key="MessageArtifactViewer.ccLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="ccText">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/Bundle.properties" key="MessageArtifactViewer.ccText.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle.properties" key="MessageArtifactViewer.ccText.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||
<Dimension value="[27, 14]"/>
|
||||
@ -177,14 +177,14 @@
|
||||
<Component class="javax.swing.JLabel" name="subjectLabel">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/Bundle.properties" key="MessageArtifactViewer.subjectLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle.properties" key="MessageArtifactViewer.subjectLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="subjectText">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/Bundle.properties" key="MessageArtifactViewer.subjectText.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle.properties" key="MessageArtifactViewer.subjectText.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||
<Dimension value="[26, 14]"/>
|
||||
@ -195,7 +195,7 @@
|
||||
<Properties>
|
||||
<Property name="horizontalAlignment" type="int" value="4"/>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/Bundle.properties" key="MessageArtifactViewer.directionText.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle.properties" key="MessageArtifactViewer.directionText.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
@ -214,7 +214,7 @@
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
|
||||
<JTabbedPaneConstraints tabName="Headers">
|
||||
<Property name="tabTitle" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/Bundle.properties" key="MessageArtifactViewer.headersScrollPane.TabConstraints.tabTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle.properties" key="MessageArtifactViewer.headersScrollPane.TabConstraints.tabTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</JTabbedPaneConstraints>
|
||||
</Constraint>
|
||||
@ -238,7 +238,7 @@
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
|
||||
<JTabbedPaneConstraints tabName="HTML">
|
||||
<Property name="tabTitle" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/Bundle.properties" key="MessageArtifactViewer.htmlPane.TabConstraints.tabTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle.properties" key="MessageArtifactViewer.htmlPane.TabConstraints.tabTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</JTabbedPaneConstraints>
|
||||
</Constraint>
|
||||
@ -254,7 +254,7 @@
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
|
||||
<JTabbedPaneConstraints tabName="RTF">
|
||||
<Property name="tabTitle" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/Bundle.properties" key="MessageArtifactViewer.rtfbodyScrollPane.TabConstraints.tabTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle.properties" key="MessageArtifactViewer.rtfbodyScrollPane.TabConstraints.tabTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</JTabbedPaneConstraints>
|
||||
</Constraint>
|
||||
@ -274,7 +274,7 @@
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
|
||||
<JTabbedPaneConstraints tabName="Attachments">
|
||||
<Property name="tabTitle" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/Bundle.properties" key="MessageArtifactViewer.attachmentsPanel.TabConstraints.tabTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle.properties" key="MessageArtifactViewer.attachmentsPanel.TabConstraints.tabTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</JTabbedPaneConstraints>
|
||||
</Constraint>
|
||||
@ -311,7 +311,7 @@
|
||||
<Component class="javax.swing.JButton" name="viewInNewWindowButton">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/Bundle.properties" key="MessageArtifactViewer.viewInNewWindowButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle.properties" key="MessageArtifactViewer.viewInNewWindowButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Events>
|
||||
@ -329,7 +329,7 @@
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
|
||||
<JTabbedPaneConstraints tabName="Accounts">
|
||||
<Property name="tabTitle" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/Bundle.properties" key="MessageArtifactViewer.accountsTab.TabConstraints.tabTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle.properties" key="MessageArtifactViewer.accountsTab.TabConstraints.tabTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</JTabbedPaneConstraints>
|
||||
</Constraint>
|
@ -16,7 +16,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.sleuthkit.autopsy.contentviewers;
|
||||
package org.sleuthkit.autopsy.contentviewers.artifactviewers;
|
||||
|
||||
import org.sleuthkit.autopsy.datamodel.AttachmentNode;
|
||||
import java.awt.Color;
|
||||
@ -41,7 +41,9 @@ import org.openide.nodes.Node;
|
||||
import org.openide.util.NbBundle;
|
||||
import org.openide.util.lookup.ServiceProvider;
|
||||
import org.sleuthkit.autopsy.centralrepository.datamodel.CentralRepository;
|
||||
import org.sleuthkit.autopsy.contentviewers.TranslatablePanel;
|
||||
import org.sleuthkit.autopsy.contentviewers.TranslatablePanel.TranslatablePanelException;
|
||||
import org.sleuthkit.autopsy.contentviewers.Utilities;
|
||||
import org.sleuthkit.autopsy.corecomponents.AutoWrappingJTextPane;
|
||||
import org.sleuthkit.autopsy.corecomponents.DataResultPanel;
|
||||
import org.sleuthkit.autopsy.corecomponents.TableFilterNode;
|
@ -16,7 +16,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.sleuthkit.autopsy.contentviewers;
|
||||
package org.sleuthkit.autopsy.contentviewers.artifactviewers;
|
||||
|
||||
import java.awt.Component;
|
||||
import java.awt.event.ActionListener;
|
@ -40,8 +40,8 @@ import org.sleuthkit.datamodel.TskCoreException;
|
||||
import org.sleuthkit.datamodel.TskException;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import org.sleuthkit.autopsy.contentviewers.ArtifactContentViewer;
|
||||
import org.sleuthkit.autopsy.contentviewers.DefaultArtifactContentViewer;
|
||||
import org.sleuthkit.autopsy.contentviewers.artifactviewers.ArtifactContentViewer;
|
||||
import org.sleuthkit.autopsy.contentviewers.artifactviewers.DefaultArtifactContentViewer;
|
||||
|
||||
/**
|
||||
* Instances of this class display the BlackboardArtifacts associated with the
|
||||
|
@ -206,6 +206,7 @@ Recently_Used_Artifacts_Mmc=Recently opened according to Windows Management Cons
|
||||
Recently_Used_Artifacts_Office_Trustrecords=Stored in TrustRecords because Office security exception was granted
|
||||
Recently_Used_Artifacts_Officedocs=Recently opened according to Office MRU
|
||||
Recently_Used_Artifacts_Winrar=Recently opened according to WinRAR MRU
|
||||
Registry_System_Bam=Recently Executed according to Background Activity Moderator (BAM)
|
||||
RegRipperFullNotFound=Full version RegRipper executable not found.
|
||||
RegRipperNotFound=Autopsy RegRipper executable not found.
|
||||
# {0} - file name
|
||||
|
@ -79,6 +79,7 @@ import org.sleuthkit.datamodel.AbstractFile;
|
||||
import org.sleuthkit.datamodel.Account;
|
||||
import org.sleuthkit.datamodel.BlackboardArtifact;
|
||||
import static org.sleuthkit.datamodel.BlackboardArtifact.ARTIFACT_TYPE.TSK_ASSOCIATED_OBJECT;
|
||||
import static org.sleuthkit.datamodel.BlackboardArtifact.ARTIFACT_TYPE.TSK_OS_ACCOUNT;
|
||||
import org.sleuthkit.datamodel.BlackboardAttribute;
|
||||
import static org.sleuthkit.datamodel.BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ASSOCIATED_ARTIFACT;
|
||||
import static org.sleuthkit.datamodel.BlackboardAttribute.ATTRIBUTE_TYPE.TSK_COMMENT;
|
||||
@ -86,6 +87,8 @@ import static org.sleuthkit.datamodel.BlackboardAttribute.ATTRIBUTE_TYPE.TSK_DAT
|
||||
import static org.sleuthkit.datamodel.BlackboardAttribute.ATTRIBUTE_TYPE.TSK_DATETIME_CREATED;
|
||||
import static org.sleuthkit.datamodel.BlackboardAttribute.ATTRIBUTE_TYPE.TSK_DATETIME_MODIFIED;
|
||||
import static org.sleuthkit.datamodel.BlackboardAttribute.ATTRIBUTE_TYPE.TSK_PATH;
|
||||
import static org.sleuthkit.datamodel.BlackboardAttribute.ATTRIBUTE_TYPE.TSK_USER_ID;
|
||||
import static org.sleuthkit.datamodel.BlackboardAttribute.ATTRIBUTE_TYPE.TSK_USER_NAME;
|
||||
import org.sleuthkit.datamodel.Content;
|
||||
import org.sleuthkit.datamodel.ReadContentInputStream.ReadContentInputStreamException;
|
||||
import org.sleuthkit.datamodel.Report;
|
||||
@ -112,7 +115,8 @@ import org.sleuthkit.datamodel.TskDataException;
|
||||
"Recently_Used_Artifacts_Winrar=Recently opened according to WinRAR MRU",
|
||||
"Recently_Used_Artifacts_Officedocs=Recently opened according to Office MRU",
|
||||
"Recently_Used_Artifacts_Adobe=Recently opened according to Adobe MRU",
|
||||
"Recently_Used_Artifacts_Mediaplayer=Recently opened according to Media Player MRU"
|
||||
"Recently_Used_Artifacts_Mediaplayer=Recently opened according to Media Player MRU",
|
||||
"Registry_System_Bam=Recently Executed according to Background Activity Moderator (BAM)"
|
||||
})
|
||||
class ExtractRegistry extends Extract {
|
||||
|
||||
@ -160,6 +164,7 @@ class ExtractRegistry extends Extract {
|
||||
private final Path rrFullHome; // Path to the full version of RegRipper
|
||||
private Content dataSource;
|
||||
private IngestJobContext context;
|
||||
private Map<String, String> userNameMap;
|
||||
|
||||
private static final String SHELLBAG_ARTIFACT_NAME = "RA_SHELL_BAG"; //NON-NLS
|
||||
private static final String SHELLBAG_ATTRIBUTE_LAST_WRITE = "RA_SHELL_BAG_LAST_WRITE"; //NON-NLS
|
||||
@ -229,6 +234,17 @@ class ExtractRegistry extends Extract {
|
||||
List<AbstractFile> allRegistryFiles = new ArrayList<>();
|
||||
org.sleuthkit.autopsy.casemodule.services.FileManager fileManager = currentCase.getServices().getFileManager();
|
||||
|
||||
// find the sam hives', process this first so we can map the user id's and sids for later use
|
||||
try {
|
||||
allRegistryFiles.addAll(fileManager.findFiles(dataSource, "sam", "/system32/config")); //NON-NLS
|
||||
} catch (TskCoreException ex) {
|
||||
String msg = NbBundle.getMessage(this.getClass(),
|
||||
"ExtractRegistry.findRegFiles.errMsg.errReadingFile", "sam");
|
||||
logger.log(Level.WARNING, msg, ex);
|
||||
this.addErrorMessage(this.getName() + ": " + msg);
|
||||
}
|
||||
|
||||
|
||||
// find the user-specific ntuser-dat files
|
||||
try {
|
||||
allRegistryFiles.addAll(fileManager.findFiles(dataSource, "ntuser.dat")); //NON-NLS
|
||||
@ -244,7 +260,7 @@ class ExtractRegistry extends Extract {
|
||||
}
|
||||
|
||||
// find the system hives'
|
||||
String[] regFileNames = new String[]{"system", "software", "security", "sam"}; //NON-NLS
|
||||
String[] regFileNames = new String[]{"system", "software", "security"}; //NON-NLS
|
||||
for (String regFileName : regFileNames) {
|
||||
try {
|
||||
allRegistryFiles.addAll(fileManager.findFiles(dataSource, regFileName, "/system32/config")); //NON-NLS
|
||||
@ -337,6 +353,12 @@ class ExtractRegistry extends Extract {
|
||||
} catch (IOException | TskCoreException ex) {
|
||||
logger.log(Level.WARNING, String.format("Unable to get shell bags from file %s", regOutputFiles.fullPlugins), ex);
|
||||
}
|
||||
} else if (regFileNameLocal.toLowerCase().contains("system")) {
|
||||
try {
|
||||
createSystemArtifacts(regOutputFiles.fullPlugins, regFile);
|
||||
} catch (IOException ex) {
|
||||
logger.log(Level.WARNING, String.format("Unable to get artifacts from file %s", regOutputFiles.fullPlugins), ex);
|
||||
}
|
||||
}
|
||||
try {
|
||||
Report report = currentCase.addReport(regOutputFiles.fullPlugins,
|
||||
@ -990,6 +1012,16 @@ class ExtractRegistry extends Extract {
|
||||
// index the artifact for keyword search
|
||||
newArtifacts.add(bbart);
|
||||
}
|
||||
// Get a mapping of user sids to user names and save globally so it can be used for other areas
|
||||
// of the registry, ie: BAM key
|
||||
try {
|
||||
userNameMap = makeUserNameMap(dataSource);
|
||||
} catch (TskCoreException ex) {
|
||||
logger.log(Level.WARNING, "Unable to create OS Account user name map", ex);
|
||||
// This is not the end of the world we will just continue without
|
||||
// user names
|
||||
userNameMap = new HashMap<>();
|
||||
}
|
||||
return true;
|
||||
} catch (FileNotFoundException ex) {
|
||||
logger.log(Level.WARNING, "Error finding the registry file.", ex); //NON-NLS
|
||||
@ -1248,6 +1280,91 @@ class ExtractRegistry extends Extract {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create artifacts from the System registry Hive
|
||||
*
|
||||
* @param regFileName name of the regripper output file
|
||||
*
|
||||
* @param regFile registry file the artifact is associated with
|
||||
*
|
||||
* @throws FileNotFound and IOException
|
||||
*/
|
||||
private void createSystemArtifacts(String regFileName, AbstractFile regFile) throws FileNotFoundException, IOException {
|
||||
File regfile = new File(regFileName);
|
||||
try (BufferedReader reader = new BufferedReader(new FileReader(regfile))) {
|
||||
String line = reader.readLine();
|
||||
while (line != null) {
|
||||
line = line.trim();
|
||||
|
||||
if (line.matches("^bam v.*")) {
|
||||
parseBamKey(regFile, reader, Bundle.Registry_System_Bam());
|
||||
}
|
||||
line = reader.readLine();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create artifacts from BAM Regripper Plugin records
|
||||
*
|
||||
* @param regFile registry file the artifact is associated with
|
||||
*
|
||||
* @param reader buffered reader to parse adobemru records
|
||||
*
|
||||
* @param comment string that will populate attribute TSK_COMMENT
|
||||
*
|
||||
* @throws FileNotFound and IOException
|
||||
*/
|
||||
private void parseBamKey(AbstractFile regFile, BufferedReader reader, String comment) throws FileNotFoundException, IOException {
|
||||
List<BlackboardArtifact> bbartifacts = new ArrayList<>();
|
||||
String line = reader.readLine();
|
||||
// Read thru first bam output to get to second bam output which is the same but delimited
|
||||
while (!line.contains(SECTION_DIVIDER)) {
|
||||
line = reader.readLine();
|
||||
line = line.trim();
|
||||
}
|
||||
line = reader.readLine();
|
||||
line = line.trim();
|
||||
while (!line.contains(SECTION_DIVIDER)) {
|
||||
// Split the line into it parts based on delimiter of "|"
|
||||
// 1570493613|BAM|||\Device\HarddiskVolume3\Program Files\TechSmith\Snagit 2018\Snagit32.exe (S-1-5-21-3042408413-2583535980-1301764466-1001)
|
||||
String tokens[] = line.split("\\|");
|
||||
Long progRunDateTime = Long.valueOf(tokens[0]);
|
||||
// Split on " (S-" as this signifies a User SID, if S- not used then may have issues becuase of (x86) in path is valid.
|
||||
// We can add the S- back to the string that we split on since S- is a valid beginning of a User SID
|
||||
String fileNameSid[] = tokens[4].split("\\s+\\(S-");
|
||||
String userSid = "S-" + fileNameSid[1].substring(0, fileNameSid[1].length() - 1);
|
||||
String userName = userNameMap.get(userSid);
|
||||
if (userName == null) {
|
||||
userName = userSid;
|
||||
}
|
||||
String fileName = fileNameSid[0];
|
||||
if (fileName.startsWith("\\Device\\HarddiskVolume")) {
|
||||
// Start at point past the 2nd slash
|
||||
int fileNameStart = fileName.indexOf('\\', 16);
|
||||
fileName = fileName.substring(fileNameStart, fileName.length());
|
||||
|
||||
}
|
||||
Collection<BlackboardAttribute> attributes = new ArrayList<>();
|
||||
attributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_PROG_NAME, getName(), fileName));
|
||||
attributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_USER_NAME, getName(), userName));
|
||||
attributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_DATETIME, getName(), progRunDateTime));
|
||||
attributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_COMMENT, getName(), comment));
|
||||
BlackboardArtifact bba = createArtifactWithAttributes(ARTIFACT_TYPE.TSK_PROG_RUN, regFile, attributes);
|
||||
if (bba != null) {
|
||||
bbartifacts.add(bba);
|
||||
bba = createAssociatedArtifact(FilenameUtils.normalize(fileName, true), bba);
|
||||
if (bba != null) {
|
||||
bbartifacts.add(bba);
|
||||
}
|
||||
}
|
||||
line = reader.readLine();
|
||||
}
|
||||
if (!bbartifacts.isEmpty()) {
|
||||
postArtifacts(bbartifacts);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create recently used artifacts from adobemru Regripper Plugin records
|
||||
*
|
||||
@ -1651,6 +1768,49 @@ class ExtractRegistry extends Extract {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a map of userids to usernames from the OS Accounts.
|
||||
*
|
||||
* @param dataSource
|
||||
*
|
||||
* @return A Map of userIDs and userNames
|
||||
*
|
||||
* @throws TskCoreException
|
||||
*/
|
||||
private Map<String, String> makeUserNameMap(Content dataSource) throws TskCoreException {
|
||||
Map<String, String> userNameMap = new HashMap<>();
|
||||
|
||||
List<BlackboardArtifact> accounts = blackboard.getArtifacts(TSK_OS_ACCOUNT.getTypeID(), dataSource.getId());
|
||||
|
||||
for (BlackboardArtifact account : accounts) {
|
||||
BlackboardAttribute nameAttribute = getAttributeForArtifact(account, TSK_USER_NAME);
|
||||
BlackboardAttribute idAttribute = getAttributeForArtifact(account, TSK_USER_ID);
|
||||
|
||||
String userName = nameAttribute != null ? nameAttribute.getDisplayString() : "";
|
||||
String userID = idAttribute != null ? idAttribute.getDisplayString() : "";
|
||||
|
||||
if (!userID.isEmpty()) {
|
||||
userNameMap.put(userID, userName);
|
||||
}
|
||||
}
|
||||
|
||||
return userNameMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the attribute for the given type from the given artifact.
|
||||
*
|
||||
* @param artifact BlackboardArtifact to get the attribute from
|
||||
* @param type The BlackboardAttribute Type to get
|
||||
*
|
||||
* @return BlackboardAttribute for given artifact and type
|
||||
*
|
||||
* @throws TskCoreException
|
||||
*/
|
||||
private BlackboardAttribute getAttributeForArtifact(BlackboardArtifact artifact, BlackboardAttribute.ATTRIBUTE_TYPE type) throws TskCoreException {
|
||||
return artifact.getAttribute(new BlackboardAttribute.Type(BlackboardAttribute.ATTRIBUTE_TYPE.fromID(type.getTypeID())));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the shellbag artifacts from the list of ShellBag objects.
|
||||
*
|
||||
|
File diff suppressed because it is too large
Load Diff
1
thirdparty/rr-full/plugins/system
vendored
1
thirdparty/rr-full/plugins/system
vendored
@ -4,6 +4,7 @@ appcompatcache
|
||||
auditfail
|
||||
backuprestore
|
||||
bam
|
||||
bam_tln
|
||||
bthport
|
||||
comfoo
|
||||
compname
|
||||
|
Loading…
x
Reference in New Issue
Block a user