diff --git a/Core/src/org/sleuthkit/autopsy/report/ReportGenerator.java b/Core/src/org/sleuthkit/autopsy/report/ReportGenerator.java index 5965746e94..1865c88d0a 100644 --- a/Core/src/org/sleuthkit/autopsy/report/ReportGenerator.java +++ b/Core/src/org/sleuthkit/autopsy/report/ReportGenerator.java @@ -636,56 +636,58 @@ public class ReportGenerator { private List getArtifactTableColumnHeaders(int artifactTypeId) { ArrayList columnHeaders; - switch (artifactTypeId) { - case 2: // TSK_WEB_BOOKMARK + BlackboardArtifact.ARTIFACT_TYPE type = BlackboardArtifact.ARTIFACT_TYPE.fromID(artifactTypeId); + + switch (type) { + case TSK_WEB_BOOKMARK: columnHeaders = new ArrayList(Arrays.asList(new String[] {"URL", "Title", "Date Accessed", "Program", "Source File"})); break; - case 3: // TSK_WEB_COOKIE + case TSK_WEB_COOKIE: columnHeaders = new ArrayList(Arrays.asList(new String[] {"URL", "Date/Time", "Name", "Value", "Program", "Source File"})); break; - case 4: // TSK_WEB_HISTORY + case TSK_WEB_HISTORY: columnHeaders = new ArrayList(Arrays.asList(new String[] {"URL", "Date Accessed", "Referrer", "Name", "Program", "Source File"})); break; - case 5: // TSK_WEB_DOWNLOAD + case TSK_WEB_DOWNLOAD: columnHeaders = new ArrayList(Arrays.asList(new String[] {"Destination", "Source URL", "Date Accessed", "Program", "Source File"})); break; - case 6: // TSK_RECENT_OBJECT + case TSK_RECENT_OBJECT: columnHeaders = new ArrayList(Arrays.asList(new String[] {"Path", "Source File"})); break; - case 8: // TSK_INSTALLED_PROG + case TSK_INSTALLED_PROG: columnHeaders = new ArrayList(Arrays.asList(new String[] {"Program Name", "Install Date/Time", "Source File"})); break; - case 9: // TSK_KEYWORD_HIT + case TSK_KEYWORD_HIT: columnHeaders = new ArrayList(Arrays.asList(new String[] {"Preview", "Source File"})); break; - case 10: // TSK_HASHSET_HIT + case TSK_HASHSET_HIT: columnHeaders = new ArrayList(Arrays.asList(new String[] {"File", "Size"})); break; - case 11: // TSK_DEVICE_ATTACHED + case TSK_DEVICE_ATTACHED: columnHeaders = new ArrayList(Arrays.asList(new String[] {"Name", "Device ID", "Date/Time", "Source File"})); break; - case 15: // TSK_WEB_SEARCH_QUERY + case TSK_WEB_SEARCH_QUERY: columnHeaders = new ArrayList(Arrays.asList(new String[] {"Text", "Domain", "Date Accessed", "Program Name", "Source File"})); break; - case 16: // TSK_METADATA_EXIF + case TSK_METADATA_EXIF: columnHeaders = new ArrayList(Arrays.asList(new String[] {"Date Taken", "Device Manufacturer", "Device Model", "Latitude", "Longitude", "Source File"})); break; - case 17: // TSK_TAG_FILE + case TSK_TAG_FILE: columnHeaders = new ArrayList(Arrays.asList(new String[] {"File", "Tag", "Comment"})); break; - case 18: // TSK_TAG_ARTIFACT + case TSK_TAG_ARTIFACT: columnHeaders = new ArrayList(Arrays.asList(new String[] {"Result Type", "Tag", "Comment", "Source File"})); break; - case 23: // TSK_CONTACT + case TSK_CONTACT: columnHeaders = new ArrayList(Arrays.asList(new String[] {"Person Name", "Phone Number", "Phone Number (Home)", "Phone Number (Office)", "Phone Number (Mobile)", "Email", "Source File" })); break; - case 24: // TSK_MESSAGE + case TSK_MESSAGE: columnHeaders = new ArrayList(Arrays.asList(new String[] {"Message Type", "Direction", "Date/Time", "From Phone Number", "From Email", "To Phone Number", "To Email", "Subject", "Text", "Source File" })); break; - case 25: // TSK_CALLLOG + case TSK_CALLLOG: columnHeaders = new ArrayList(Arrays.asList(new String[] {"Person Name", "Phone Number", "Date/Time", "Direction", "Source File" })); break; - case 26: // TSK_CALENDAR_ENTRY + case TSK_CALENDAR_ENTRY: columnHeaders = new ArrayList(Arrays.asList(new String[] {"Calendar Entry Type", "Description", "Start Date/Time", "End Date/Time", "Location", "Source File" })); break; default: @@ -773,8 +775,11 @@ public class ReportGenerator { */ private List getArtifactRow(Entry> entry, TableReportModule module) throws TskCoreException { Map attributes = getMappedAttributes(entry.getValue(), module); - switch (entry.getKey().getArtifactTypeID()) { - case 2: // TSK_WEB_BOOKMARK + + BlackboardArtifact.ARTIFACT_TYPE type = BlackboardArtifact.ARTIFACT_TYPE.fromID(entry.getKey().getArtifactTypeID()); + + switch (type) { + case TSK_WEB_BOOKMARK: List bookmark = new ArrayList<>(); bookmark.add(attributes.get(ATTRIBUTE_TYPE.TSK_URL.getTypeID())); bookmark.add(attributes.get(ATTRIBUTE_TYPE.TSK_TITLE.getTypeID())); @@ -782,7 +787,7 @@ public class ReportGenerator { bookmark.add(attributes.get(ATTRIBUTE_TYPE.TSK_PROG_NAME.getTypeID())); bookmark.add(getFileUniquePath(entry.getKey().getObjectID())); return bookmark; - case 3: // TSK_WEB_COOKIE + case TSK_WEB_COOKIE: List cookie = new ArrayList<>(); cookie.add(attributes.get(ATTRIBUTE_TYPE.TSK_URL.getTypeID())); cookie.add(attributes.get(ATTRIBUTE_TYPE.TSK_DATETIME.getTypeID())); @@ -791,7 +796,7 @@ public class ReportGenerator { cookie.add(attributes.get(ATTRIBUTE_TYPE.TSK_PROG_NAME.getTypeID())); cookie.add(getFileUniquePath(entry.getKey().getObjectID())); return cookie; - case 4: // TSK_WEB_HISTORY + case TSK_WEB_HISTORY: List history = new ArrayList<>(); history.add(attributes.get(ATTRIBUTE_TYPE.TSK_URL.getTypeID())); history.add(attributes.get(ATTRIBUTE_TYPE.TSK_DATETIME_ACCESSED.getTypeID())); @@ -800,7 +805,7 @@ public class ReportGenerator { history.add(attributes.get(ATTRIBUTE_TYPE.TSK_PROG_NAME.getTypeID())); history.add(getFileUniquePath(entry.getKey().getObjectID())); return history; - case 5: // TSK_WEB_DOWNLOAD + case TSK_WEB_DOWNLOAD: List download = new ArrayList<>(); download.add(attributes.get(ATTRIBUTE_TYPE.TSK_PATH.getTypeID())); download.add(attributes.get(ATTRIBUTE_TYPE.TSK_URL.getTypeID())); @@ -808,25 +813,25 @@ public class ReportGenerator { download.add(attributes.get(ATTRIBUTE_TYPE.TSK_PROG_NAME.getTypeID())); download.add(getFileUniquePath(entry.getKey().getObjectID())); return download; - case 6: // TSK_RECENT_OBJECT + case TSK_RECENT_OBJECT: List recent = new ArrayList<>(); recent.add(attributes.get(ATTRIBUTE_TYPE.TSK_PATH.getTypeID())); recent.add(getFileUniquePath(entry.getKey().getObjectID())); return recent; - case 8: // TSK_INSTALLED_PROG + case TSK_INSTALLED_PROG: List installed = new ArrayList<>(); installed.add(attributes.get(ATTRIBUTE_TYPE.TSK_PROG_NAME.getTypeID())); installed.add(attributes.get(ATTRIBUTE_TYPE.TSK_DATETIME.getTypeID())); installed.add(getFileUniquePath(entry.getKey().getObjectID())); return installed; - case 11: // TSK_DEVICE_ATTACHED + case TSK_DEVICE_ATTACHED: List devices = new ArrayList<>(); devices.add(attributes.get(ATTRIBUTE_TYPE.TSK_DEVICE_MODEL.getTypeID())); devices.add(attributes.get(ATTRIBUTE_TYPE.TSK_DEVICE_ID.getTypeID())); devices.add(attributes.get(ATTRIBUTE_TYPE.TSK_DATETIME.getTypeID())); devices.add(getFileUniquePath(entry.getKey().getObjectID())); return devices; - case 15: // TSK_WEB_SEARCH_QUERY + case TSK_WEB_SEARCH_QUERY: List search = new ArrayList<>(); search.add(attributes.get(ATTRIBUTE_TYPE.TSK_TEXT.getTypeID())); search.add(attributes.get(ATTRIBUTE_TYPE.TSK_DOMAIN.getTypeID())); @@ -834,7 +839,7 @@ public class ReportGenerator { search.add(attributes.get(ATTRIBUTE_TYPE.TSK_PROG_NAME.getTypeID())); search.add(getFileUniquePath(entry.getKey().getObjectID())); return search; - case 16: // TSK_METADATA_EXIF + case TSK_METADATA_EXIF: List exif = new ArrayList<>(); exif.add(attributes.get(ATTRIBUTE_TYPE.TSK_DATETIME.getTypeID())); exif.add(attributes.get(ATTRIBUTE_TYPE.TSK_DEVICE_MAKE.getTypeID())); @@ -843,7 +848,7 @@ public class ReportGenerator { exif.add(attributes.get(ATTRIBUTE_TYPE.TSK_GEO_LONGITUDE.getTypeID())); exif.add(getFileUniquePath(entry.getKey().getObjectID())); return exif; - case 17: // TSK_TAG_FILE + case TSK_TAG_FILE: List taggedFileRow = new ArrayList<>(); AbstractFile taggedFile = getAbstractFile(entry.getKey().getObjectID()); if (taggedFile != null) { @@ -854,7 +859,7 @@ public class ReportGenerator { taggedFileRow.add(attributes.get(ATTRIBUTE_TYPE.TSK_TAG_NAME.getTypeID())); taggedFileRow.add(attributes.get(ATTRIBUTE_TYPE.TSK_COMMENT.getTypeID())); return taggedFileRow; - case 18: // TSK_TAG_ARTIFACT + case TSK_TAG_ARTIFACT: List taggedArtifactRow = new ArrayList<>(); String taggedArtifactType = ""; for (BlackboardAttribute attr : entry.getValue()) { @@ -876,7 +881,7 @@ public class ReportGenerator { taggedArtifactRow.add(""); } return taggedArtifactRow; - case 23: // TSK_CONTACT + case TSK_CONTACT: List contact = new ArrayList(); contact.add(attributes.get(ATTRIBUTE_TYPE.TSK_NAME_PERSON.getTypeID())); contact.add(attributes.get(ATTRIBUTE_TYPE.TSK_PHONE_NUMBER.getTypeID())); @@ -886,7 +891,7 @@ public class ReportGenerator { contact.add(attributes.get(ATTRIBUTE_TYPE.TSK_EMAIL.getTypeID())); contact.add(getFileUniquePath(entry.getKey().getObjectID())); return contact; - case 24: // TSK_MESSAGE + case TSK_MESSAGE: List message = new ArrayList(); message.add(attributes.get(ATTRIBUTE_TYPE.TSK_MESSAGE_TYPE.getTypeID())); message.add(attributes.get(ATTRIBUTE_TYPE.TSK_DIRECTION.getTypeID())); @@ -899,7 +904,7 @@ public class ReportGenerator { message.add(attributes.get(ATTRIBUTE_TYPE.TSK_TEXT.getTypeID())); message.add(getFileUniquePath(entry.getKey().getObjectID())); return message; - case 25: // TSK_CALLLOG + case TSK_CALLLOG: List call_log = new ArrayList(); call_log.add(attributes.get(ATTRIBUTE_TYPE.TSK_NAME_PERSON.getTypeID())); call_log.add(attributes.get(ATTRIBUTE_TYPE.TSK_PHONE_NUMBER.getTypeID())); @@ -907,7 +912,7 @@ public class ReportGenerator { call_log.add(attributes.get(ATTRIBUTE_TYPE.TSK_DIRECTION.getTypeID())); call_log.add(getFileUniquePath(entry.getKey().getObjectID())); return call_log; - case 26: // TSK_CALENDAR_ENTRY + case TSK_CALENDAR_ENTRY: List calEntry = new ArrayList(); calEntry.add(attributes.get(ATTRIBUTE_TYPE.TSK_CALENDAR_ENTRY_TYPE.getTypeID())); calEntry.add(attributes.get(ATTRIBUTE_TYPE.TSK_DESCRIPTION.getTypeID())); diff --git a/Core/src/org/sleuthkit/autopsy/report/ReportHTML.java b/Core/src/org/sleuthkit/autopsy/report/ReportHTML.java index fbbc689ffc..e8aff7e50b 100644 --- a/Core/src/org/sleuthkit/autopsy/report/ReportHTML.java +++ b/Core/src/org/sleuthkit/autopsy/report/ReportHTML.java @@ -380,8 +380,9 @@ public class ReportHTML implements TableReportModule { */ private void addRowDataForSourceArtifact(List row, BlackboardArtifact sourceArtifact) { int artifactTypeID = sourceArtifact.getArtifactTypeID(); - switch (artifactTypeID) { - case 17: + BlackboardArtifact.ARTIFACT_TYPE type = BlackboardArtifact.ARTIFACT_TYPE.fromID(artifactTypeID); + switch (type) { + case TSK_TAG_FILE: addRowDataForFileTagArtifact(row, sourceArtifact); break; default: