Autopsy  4.19.3
Graphical digital forensics platform for The Sleuth Kit and other tools.
Classes | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
org.sleuthkit.autopsy.corecomponents.DataContentViewerHex Class Reference

Inherits JPanel, and org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Classes

class  BackgroundFileCopyTask
 
class  HexWorker
 

Public Member Functions

 DataContentViewerHex ()
 
DataContentViewer createInstance ()
 
Component getComponent ()
 
default String getTitle (Node node)
 
String getTitle ()
 
String getToolTip ()
 
int isPreferred (Node node)
 
boolean isSupported (Node node)
 
void resetComponent ()
 
void setNode (Node selectedNode)
 

Private Member Functions

void customizeComponents ()
 
long getOffsetRelativeToCaretPosition (Long userInput)
 
void goToOffsetTextFieldActionPerformed (java.awt.event.ActionEvent evt)
 
void goToPageTextFieldActionPerformed (java.awt.event.ActionEvent evt)
 
void initComponents ()
 
void launchHxDButtonActionPerformed (java.awt.event.ActionEvent evt)
 
void launchWorker (Content source, long offset, int page)
 
void nextPageButtonActionPerformed (java.awt.event.ActionEvent evt)
 
void prevPageButtonActionPerformed (java.awt.event.ActionEvent evt)
 
void setComponentsVisibility (boolean isVisible)
 
void setDataViewByOffset (long offset)
 
void setDataViewByPageNumber (int page)
 

Private Attributes

javax.swing.JMenuItem copyMenuItem
 
javax.swing.JLabel currentPageLabel
 
final byte[] data = new byte[(int) PAGE_LENGTH]
 
Content dataSource
 
javax.swing.JLabel goToOffsetLabel
 
javax.swing.JTextField goToOffsetTextField
 
javax.swing.JLabel goToPageLabel
 
javax.swing.JTextField goToPageTextField
 
javax.swing.JPanel hexViewerPanel
 
javax.swing.JScrollPane jScrollPane2
 
javax.swing.JScrollPane jScrollPane3
 
javax.swing.JButton launchHxDButton
 
javax.swing.JButton nextPageButton
 
javax.swing.JLabel ofLabel
 
javax.swing.JTextArea outputTextArea
 
javax.swing.JLabel pageLabel
 
javax.swing.JLabel pageLabel2
 
javax.swing.JButton prevPageButton
 
javax.swing.JPopupMenu rightClickMenu
 
javax.swing.JMenuItem selectAllMenuItem
 
javax.swing.JLabel totalPageLabel
 
int totalPages
 
HexWorker worker
 

Static Private Attributes

static int currentPage = 1
 
static final Logger logger = Logger.getLogger(DataContentViewerHex.class.getName())
 
static final long PAGE_LENGTH = 16384
 

Detailed Description

Hex view of file contents.

Definition at line 61 of file DataContentViewerHex.java.

Constructor & Destructor Documentation

org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.DataContentViewerHex ( )

Creates new form DataContentViewerHex

Definition at line 76 of file DataContentViewerHex.java.

Member Function Documentation

DataContentViewer org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.createInstance ( )

Create and return a new instance of your viewer. The reason that this is needed is because the specific viewer modules will be found via NetBeans Lookup and the type will only be DataContentViewer. This method is used to get an instance of your specific type.

Returns
A new instance of the viewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 540 of file DataContentViewerHex.java.

void org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.customizeComponents ( )
private

Definition at line 83 of file DataContentViewerHex.java.

Component org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.getComponent ( )

Return the Swing Component to display. Implementations of this method that extend JPanel and do a 'return this;'. Otherwise return an internal instance of the JPanel.

Returns
the component which is displayed for this viewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 590 of file DataContentViewerHex.java.

long org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.getOffsetRelativeToCaretPosition ( Long  userInput)
private
  • Calculates the offset relative to the current caret position.
Parameters
userInputthe user provided signed offset value.
Returns
returns the resultant offset value relative to the current caret position. -1L is returned if the resultant offset cannot be calculated.

Definition at line 330 of file DataContentViewerHex.java.

default String org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.getTitle ( Node  node)
inherited

Returns the title of this viewer to display in the tab.

Parameters
nodeThe node to be viewed in the DataContentViewer.
Returns
the title of DataContentViewer.

Implemented in org.sleuthkit.autopsy.contentviewers.Metadata.

Definition at line 61 of file DataContentViewer.java.

References org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.getTitle().

String org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.getTitle ( )

Returns the title of this viewer to display in the tab.

Returns
the title of DataContentViewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 530 of file DataContentViewerHex.java.

String org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.getToolTip ( )

Returns a short description of this viewer to use as a tool tip for its tab.

Returns
the tooltip for this TextViewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 535 of file DataContentViewerHex.java.

void org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.goToOffsetTextFieldActionPerformed ( java.awt.event.ActionEvent  evt)
private

Definition at line 348 of file DataContentViewerHex.java.

void org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.goToPageTextFieldActionPerformed ( java.awt.event.ActionEvent  evt)
private

Definition at line 299 of file DataContentViewerHex.java.

void org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.initComponents ( )
private

This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The content of this method is always regenerated by the Form Editor.

Definition at line 107 of file DataContentViewerHex.java.

References org.sleuthkit.autopsy.coreutils.PlatformUtil.isWindowsOS().

int org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.isPreferred ( Node  node)

Checks whether the given viewer is preferred for the Node. This is a bit subjective, but the idea is that Autopsy wants to display the most relevant tab. The more generic the viewer, the lower the return value should be. This will only be called on viewers that support the given node (i.e., isSupported() has already returned true).

The following are some examples of the current levels in use. If the selected node is an artifact, the level may be determined by both the artifact and its associated file.

Level 8 - Used for viewers that summarize a data artifact and display a relevant subset to help the examiner decide if they should look into it further. Not currently used by any modules, but an example would be a module that summarizes an email message.

Level 7 - Used for data artifact viewers. These have higher priority over file content viewers because a Node will likely have the ‘source’ file for a data artifact and we want to give the artifact priority. Currently used by the Data Artifacts viewer.

Level 6 - Used for type-specific file content viewers that summarize the file content and display a relevant subset. These viewers help the examiner determine if the file is worth looking into further. Examples of this would be Video Triage Module that displays a subset of a video or a document.

Level 5 - Used for type-specific file content viewers that are optimized for that type, such as displaying an image or a PDF file with images and proper layout. Currently used by the Application viewer.

Level 4 - Used for type-specific file content viewers that are not optimized. For example, displaying only the plain text from a PDF would be at this level, but displaying the same PDF with images and layout would be level 5. Currently used by the Text viewer that returns text from Solr.

Level 3 - Used for viewing Data Artifacts that refer to files and the user may want to view the files more than the artifact itself. This is currently used by the Data Artifact viewer when a Web Download artifact is selected.

Level 2 - Used for viewing Analysis Results. This is a lower priority than Data Artifacts and file content because Analysis Results are used to identify content of interest and therefore the content itself should be shown. Currently used by the Analysis Results viewer. * Level 1 - Used for metadata viewers that give more information and context about the primary file or artifact. Currently used by Metadata, Annotations, Context, Other Occurrences, and OS Account.

Level 0 - Used for general purpose file content viewers that are not file specific and will always be enabled. Currently used by Text/Strings and Hex.

Parameters
nodeNode to check for preference
Returns
an int (0-10) higher return means the viewer has higher priority

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 585 of file DataContentViewerHex.java.

References org.sleuthkit.autopsy.contentviewers.utils.ViewerPriority.viewerPriority.LevelOne.

boolean org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.isSupported ( Node  node)

Checks whether the given node is supported by the viewer. This will be used to enable or disable the tab for the viewer.

Parameters
nodeNode to check for support
Returns
True if the node can be displayed / processed, else false

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 576 of file DataContentViewerHex.java.

References org.sleuthkit.autopsy.corecomponents.DataContentViewerUtility.getDefaultContent().

void org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.launchHxDButtonActionPerformed ( java.awt.event.ActionEvent  evt)
private

Definition at line 372 of file DataContentViewerHex.java.

void org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.launchWorker ( Content  source,
long  offset,
int  page 
)
private

Launches the worker thread to read the hex from the given source.

Parameters
source
offset
page

Definition at line 490 of file DataContentViewerHex.java.

void org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.nextPageButtonActionPerformed ( java.awt.event.ActionEvent  evt)
private

Definition at line 294 of file DataContentViewerHex.java.

void org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.prevPageButtonActionPerformed ( java.awt.event.ActionEvent  evt)
private

Definition at line 289 of file DataContentViewerHex.java.

void org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.resetComponent ( )

Resets the contents of the viewer / component.

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 545 of file DataContentViewerHex.java.

void org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.setComponentsVisibility ( boolean  isVisible)
private

To set the visibility of specific components in this class.

Parameters
isVisiblewhether to show or hide the specific components

Definition at line 560 of file DataContentViewerHex.java.

void org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.setDataViewByOffset ( long  offset)
private

Sets the DataView (The tabbed panel) by offset

Parameters
offsetPage to display (1-based counting)

Definition at line 475 of file DataContentViewerHex.java.

void org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.setDataViewByPageNumber ( int  page)
private

Sets the DataView (The tabbed panel) by page number

Parameters
pagePage to display (1-based counting)

Definition at line 462 of file DataContentViewerHex.java.

void org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.setNode ( Node  selectedNode)

Autopsy will call this when this panel is focused with the file that should be analyzed. When called with null, must clear all references to previous nodes.

Parameters
selectedNodethe node which is used to determine what is displayed in this viewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 502 of file DataContentViewerHex.java.

References org.sleuthkit.autopsy.corecomponents.DataContentViewerUtility.getDefaultContent().

Member Data Documentation

javax.swing.JMenuItem org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.copyMenuItem
private

Definition at line 436 of file DataContentViewerHex.java.

int org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.currentPage = 1
staticprivate

Definition at line 65 of file DataContentViewerHex.java.

javax.swing.JLabel org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.currentPageLabel
private

Definition at line 437 of file DataContentViewerHex.java.

final byte [] org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.data = new byte[(int) PAGE_LENGTH]
private

Definition at line 64 of file DataContentViewerHex.java.

Content org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.dataSource
private

Definition at line 67 of file DataContentViewerHex.java.

javax.swing.JLabel org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.goToOffsetLabel
private

Definition at line 438 of file DataContentViewerHex.java.

javax.swing.JTextField org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.goToOffsetTextField
private

Definition at line 439 of file DataContentViewerHex.java.

javax.swing.JLabel org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.goToPageLabel
private

Definition at line 440 of file DataContentViewerHex.java.

javax.swing.JTextField org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.goToPageTextField
private

Definition at line 441 of file DataContentViewerHex.java.

javax.swing.JPanel org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.hexViewerPanel
private

Definition at line 442 of file DataContentViewerHex.java.

javax.swing.JScrollPane org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.jScrollPane2
private

Definition at line 443 of file DataContentViewerHex.java.

javax.swing.JScrollPane org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.jScrollPane3
private

Definition at line 444 of file DataContentViewerHex.java.

javax.swing.JButton org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.launchHxDButton
private

Definition at line 445 of file DataContentViewerHex.java.

final Logger org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.logger = Logger.getLogger(DataContentViewerHex.class.getName())
staticprivate

Definition at line 71 of file DataContentViewerHex.java.

javax.swing.JButton org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.nextPageButton
private

Definition at line 446 of file DataContentViewerHex.java.

javax.swing.JLabel org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.ofLabel
private

Definition at line 447 of file DataContentViewerHex.java.

javax.swing.JTextArea org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.outputTextArea
private

Definition at line 448 of file DataContentViewerHex.java.

final long org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.PAGE_LENGTH = 16384
staticprivate

Definition at line 63 of file DataContentViewerHex.java.

javax.swing.JLabel org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.pageLabel
private

Definition at line 449 of file DataContentViewerHex.java.

javax.swing.JLabel org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.pageLabel2
private

Definition at line 450 of file DataContentViewerHex.java.

javax.swing.JButton org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.prevPageButton
private

Definition at line 451 of file DataContentViewerHex.java.

javax.swing.JPopupMenu org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.rightClickMenu
private

Definition at line 452 of file DataContentViewerHex.java.

javax.swing.JMenuItem org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.selectAllMenuItem
private

Definition at line 453 of file DataContentViewerHex.java.

javax.swing.JLabel org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.totalPageLabel
private

Definition at line 454 of file DataContentViewerHex.java.

int org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.totalPages
private

Definition at line 66 of file DataContentViewerHex.java.

HexWorker org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.worker
private

Definition at line 69 of file DataContentViewerHex.java.


The documentation for this class was generated from the following file:

Copyright © 2012-2022 Basis Technology. Generated on: Tue Jun 27 2023
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.