From 1e67510c8a644541b6003cfd3ba23d2a48fdeebf Mon Sep 17 00:00:00 2001 From: raman-bt Date: Tue, 20 Aug 2013 14:09:59 -0400 Subject: [PATCH 1/7] i. Changed access specifier on casemodule.Case.addImage() to public, so other modules can access it to display a newly added image in the UI. ii. Fixed the names of icons in HTML report to go with the recent renaming of some Web artifacts. --- Core/src/org/sleuthkit/autopsy/casemodule/Case.java | 2 +- Core/src/org/sleuthkit/autopsy/report/ReportHTML.java | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java index 5dee9feb54..219cffb030 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java @@ -326,7 +326,7 @@ public class Case implements SleuthkitCase.ErrorObserver { * @param imgId the ID of the image that being added * @param timeZone the timeZone of the image where it's added */ - Image addImage(String imgPath, long imgId, String timeZone) throws CaseActionException { + public Image addImage(String imgPath, long imgId, String timeZone) throws CaseActionException { logger.log(Level.INFO, "Adding image to Case. imgPath: {0} ID: {1} TimeZone: {2}", new Object[]{imgPath, imgId, timeZone}); try { diff --git a/Core/src/org/sleuthkit/autopsy/report/ReportHTML.java b/Core/src/org/sleuthkit/autopsy/report/ReportHTML.java index 60bb186c0a..d16511cc9d 100644 --- a/Core/src/org/sleuthkit/autopsy/report/ReportHTML.java +++ b/Core/src/org/sleuthkit/autopsy/report/ReportHTML.java @@ -669,13 +669,13 @@ public class ReportHTML implements TableReportModule { output.close(); in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/bookmarks.png"); - output = new FileOutputStream(new File(path + File.separator + "Bookmarks.png")); + output = new FileOutputStream(new File(path + File.separator + "Web Bookmarks.png")); FileUtil.copy(in, output); in.close(); output.close(); in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/cookies.png"); - output = new FileOutputStream(new File(path + File.separator + "Cookies.png")); + output = new FileOutputStream(new File(path + File.separator + "Web Cookies.png")); FileUtil.copy(in, output); in.close(); output.close(); @@ -687,13 +687,13 @@ public class ReportHTML implements TableReportModule { output.close(); in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/downloads.png"); - output = new FileOutputStream(new File(path + File.separator + "Downloads.png")); + output = new FileOutputStream(new File(path + File.separator + "Web Downloads.png")); FileUtil.copy(in, output); in.close(); output.close(); in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/search.png"); - output = new FileOutputStream(new File(path + File.separator + "Web Search Engine Queries.png")); + output = new FileOutputStream(new File(path + File.separator + "Web Search.png")); FileUtil.copy(in, output); in.close(); output.close(); From 0cb46643e51aceea58f1affbab62ea7c20730ce5 Mon Sep 17 00:00:00 2001 From: Richard Cordovano Date: Wed, 21 Aug 2013 13:52:58 -0400 Subject: [PATCH 2/7] Added 24x24 version of btn_icon_create_new_case.png --- .../casemodule/btn_icon_create_new_case-24.png | Bin 0 -> 978 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100755 Core/src/org/sleuthkit/autopsy/casemodule/btn_icon_create_new_case-24.png diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/btn_icon_create_new_case-24.png b/Core/src/org/sleuthkit/autopsy/casemodule/btn_icon_create_new_case-24.png new file mode 100755 index 0000000000000000000000000000000000000000..b0e3e593c23b164007e307ac287a6a80bb82622d GIT binary patch literal 978 zcmV;@11+9>^t*op>WhzDrBeZp03W$&VIGDwDjTX>MA#zO|)9Aa$ooM_HOoiJ#k%EJkJx~_azKN3Byq0 zI38t^B$6bF37y!`pt42m630?(SMR;w^g z6S}TL*L5&6?Bn>Lbc>3z%Pcvy9n3Hc@R=P!HN+y9%BG0e%M1r$`{>@#f zMgJuxkum7NrmT;KbqM|p9<$B$b+9n#>@yKA4lF(r0Ed0c@Y{gP*5TW5+5pdU}!U_Xda*v)GBib6CXi5q&QYw95R)8U3@x}C|Je}D!73Di-(xG zTE$B~5J!x;>j{ELVQ`o{-@f~Jqe!5N?@Do#jui-MW*u|Z>v-DR!9YF3!nJuYYjC^+ zBpyYb2m9aL`F`gw0HAiejWkW`wr$_EEbESK+rtww0U!m7)G;Rk!nD2H!tTLOB!)vo zAc?D_dsm)ZjNX0c@(qeAm5M{{cAEgqr)jzn1i=!3OGH#BA`^g3M3tO{^%If+z) Date: Wed, 21 Aug 2013 13:59:54 -0400 Subject: [PATCH 3/7] Added improved version of btn_icon_create_new_case-24.png --- .../casemodule/btn_icon_create_new_case-24.png | Bin 978 -> 1144 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/btn_icon_create_new_case-24.png b/Core/src/org/sleuthkit/autopsy/casemodule/btn_icon_create_new_case-24.png index b0e3e593c23b164007e307ac287a6a80bb82622d..cdc98334cc921098d6b59b5339490ae78bc38bbe 100755 GIT binary patch delta 1074 zcmV-21kL->2lxn(Rev!s$fLJp000C9NklR?|?4 zX}W3JB-?IGcXRiC%#07|hTH9C+XDkPdYKS{ zR;xv$(MYy#-Ku+iD_0#UpO;dGQp(VAoCg}N>wa+f@L|~tK(!s;_dU<^D3wa9rxZdU zr9=p^y4JQRiio0UujhHKBS((x-??*V)RTeD=+YUyJ+gaRYs%$vp|7uR-_X#|$eulW zWKV#MRCkRwP=B|fwI&DxcVJ*(-^j?w`+(>P&>5_gMJFRESAGwIAU`-b_{HVRmp=kH zd-klnCkJhXx&_E;pZ%uMXb^^Bd#&jE{wL?oom)3NJpA!J46=cH1#cgwP$=Me9!e>c zQb;NBSL~gxRg{$|JMZSVbLG13UF@~ixUTE;Omb({tbfI#+kUpByE0g-YrC1&2}{fK zgwYbIj>)Sco?BkK(H_LCwFn_ts9#}x`Z%RxK*24d97VkuvfOGCMf#zh65Wr@Y;A%Q z7rx=K!HonJO`7|c+l(QL3#?yXp;Ga4-~IgF;{HP)ZXnwjlarI%f*|;z*xq_W-cR>-g`_&+!sIcw zJpCN?)&z-;u@Nv{b z(xqwARI_o@0C`v8=2MJKcH9GCj9Kl2?Db)cp_$x7njA_wjGn&4?6sRHr6{;A$Bv#R zNmAb2wVg^X0DYTO$IhA(8Do%AuFf5qCrt#YPKeVMyWV~mFIVQ`_+K3S=^&qfx)+^V zs(dU8-%l%0VBVe1zKERVsZ&j9Fo}`H3eP-u*hY_zwgUO$xyEYCUPS;;*u0 zYC2!D&PsaunYXA_p;lWWF$sxDXrwooO@B|48ckvnVjXjRW|5hx`o3QdU7QpEr%s&; zeBa+zDwU4vLZG z_LY}jtBTRlQ30&iT5k%&a0uuZLIgqx5AcN$xr~GXU>qfwnjPCdA5K&n@hq`vP%BjZ sR0@yt=(;UmZs>pN`zVTPN;$Lt1K}&>NK-q-AOHXW07*qoM6N<$f-Nf=r~m)} delta 907 zcmV;619bfO2+{|TRevo8;ckDR000ADNklfe2-kI!Mx&7e zK&#b4v)LT0<+9dGtgJ+3Dn<$<=SvYh%luuMrkI|duFlTRezml;^x^92DmR-= zv|6olU-$O*Zh!WAJ#k%EJkJx~_azKN3Byq0I38t^B$6bF37y!`pt42m630?(SMR;w^g6S}TL*MD^|GwkE|pmd9hvdb(vwH?eb z4C9pgG)-X`hE}>oWlAQ2Pa@B+^hAQQfd0*0sYU-KCXq4z$0&Ql^ht&1kw2Q*NuLVm zB*=rGMaIksBOgcJQ>5t-ws{d6Pn}JWmze>VkuWj->_3DPJch6jKyVb8IOs={XCNYD zS$4((ud_4EM z@aYlA2(a~F2S4Av2hl>LQ~lbNtCv51|Fdf|@4fl;WQ&wiVCHcGFpk_l4*f?!Eyn%r zKk(ab55u8CoFsT-`Bk8jTw1(-<85H~N4-oz_J3q#=TkLMP$CEtA1ZcWXfvp29-tD` zDsu=EA3;2%I96O7GL?B Date: Wed, 21 Aug 2013 15:35:12 -0400 Subject: [PATCH 4/7] Possible solution for IllegalStateException due to redundant associateLookup() calls --- .../corecomponents/DataResultTopComponent.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultTopComponent.java b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultTopComponent.java index f2a70a7e51..e9cf34eb77 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultTopComponent.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultTopComponent.java @@ -55,6 +55,7 @@ public class DataResultTopComponent extends TopComponent implements DataResult { private static final Logger logger = Logger.getLogger(DataResultTopComponent.class.getName()); private DataResultPanel dataResultPanel; //embedded component with all the logic private boolean isMain; + private boolean lookupSet = false; private String customModeName; //keep track of tcs openeded for menu presenters @@ -265,13 +266,17 @@ public class DataResultTopComponent extends TopComponent implements DataResult { /* @@@ Short-term hack to associate lookup with the table view so that we can do multi-select. * Longer-term solution is to use same explorer Manager for all viewers. */ - List resultViewers = this.dataResultPanel.getViewers(); - for (DataResultViewer viewer : resultViewers) { - if (viewer instanceof DataResultViewerTable) { - associateLookup(ExplorerUtils.createLookup(((DataResultViewerTable)viewer).getExplorerManager(), getActionMap())); - break; + if (!lookupSet) { + List resultViewers = this.dataResultPanel.getViewers(); + for (DataResultViewer viewer : resultViewers) { + if (viewer instanceof DataResultViewerTable) { + associateLookup(ExplorerUtils.createLookup(((DataResultViewerTable)viewer).getExplorerManager(), getActionMap())); + break; + } } - } + + lookupSet = true; + } } From 767e2dd6c4c74f6d1b9bcb78ea1d299d076d463a Mon Sep 17 00:00:00 2001 From: Richard Cordovano Date: Wed, 21 Aug 2013 16:00:34 -0400 Subject: [PATCH 5/7] Eliminated redundant calls to assocaiteLookup() in DataResultTopComponent --- .../autopsy/corecomponents/DataResultTopComponent.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultTopComponent.java b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultTopComponent.java index e9cf34eb77..61560f9e99 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultTopComponent.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultTopComponent.java @@ -266,7 +266,7 @@ public class DataResultTopComponent extends TopComponent implements DataResult { /* @@@ Short-term hack to associate lookup with the table view so that we can do multi-select. * Longer-term solution is to use same explorer Manager for all viewers. */ - if (!lookupSet) { + if (!this.lookupSet) { List resultViewers = this.dataResultPanel.getViewers(); for (DataResultViewer viewer : resultViewers) { if (viewer instanceof DataResultViewerTable) { @@ -275,7 +275,7 @@ public class DataResultTopComponent extends TopComponent implements DataResult { } } - lookupSet = true; + this.lookupSet = true; } } From 96c5ba07799e974f065a6da557cfe23e061a39fe Mon Sep 17 00:00:00 2001 From: raman-bt Date: Wed, 21 Aug 2013 16:08:38 -0400 Subject: [PATCH 6/7] Make HTML report more robust with artifact names in the HTML and icon files. --- .../sleuthkit/autopsy/report/ReportHTML.java | 305 +++++++++--------- .../sleuthkit/autopsy/report/images/star.png | Bin 0 -> 674 bytes 2 files changed, 160 insertions(+), 145 deletions(-) create mode 100644 Core/src/org/sleuthkit/autopsy/report/images/star.png diff --git a/Core/src/org/sleuthkit/autopsy/report/ReportHTML.java b/Core/src/org/sleuthkit/autopsy/report/ReportHTML.java index d16511cc9d..e535d645ec 100644 --- a/Core/src/org/sleuthkit/autopsy/report/ReportHTML.java +++ b/Core/src/org/sleuthkit/autopsy/report/ReportHTML.java @@ -105,7 +105,160 @@ public class ReportHTML implements TableReportModule { } out = null; } + + /** + * Generate a file name for the given datatype, by replacing any + * undesirable chars, like /, or spaces + * @param dataType data type for which to generate a file name + */ + private String dataTypeToFileName(String dataType) { + + String fileName = org.sleuthkit.autopsy.coreutils.FileUtil.escapeFileName(dataType); + // replace all ' ' with '_' + fileName = fileName.replaceAll(" ", "_"); + + return fileName; + } + + /** + * Copies a suitable icon for the given data type in the output directory and + * returns the icon file name to use for the given data type. + */ + private String useDataTypeIcon(String dataType) + { + String iconFilePath; + String iconFileName; + InputStream in = null; + OutputStream output = null; + + logger.log(Level.INFO, "useDataTypeIcon: dataType = " + dataType); + + // find the artifact with matching display name + BlackboardArtifact.ARTIFACT_TYPE artifactType = null; + for (ARTIFACT_TYPE v : ARTIFACT_TYPE.values()) { + if (v.getDisplayName().equals(dataType)) { + artifactType = v; + } + } + + if (null != artifactType) + { + // set the icon file name + iconFileName = dataTypeToFileName(artifactType.getDisplayName()) + ".png"; + iconFilePath = path + File.separator + iconFileName; + + // determine the source image to use + switch (artifactType) { + case TSK_WEB_BOOKMARK: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/bookmarks.png"); + break; + case TSK_WEB_COOKIE: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/cookies.png"); + break; + case TSK_WEB_HISTORY: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/history.png"); + break; + case TSK_WEB_DOWNLOAD: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/downloads.png"); + break; + case TSK_RECENT_OBJECT: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/recent.png"); + break; + case TSK_INSTALLED_PROG: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/installed.png"); + break; + case TSK_KEYWORD_HIT: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/keywords.png"); + break; + case TSK_HASHSET_HIT: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/hash.png"); + break; + case TSK_DEVICE_ATTACHED: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/devices.png"); + break; + case TSK_WEB_SEARCH_QUERY: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/search.png"); + break; + case TSK_METADATA_EXIF: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/exif.png"); + break; + case TSK_TAG_FILE: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/userbookmarks.png"); + break; + case TSK_TAG_ARTIFACT: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/userbookmarks.png"); + break; + case TSK_SERVICE_ACCOUNT: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/account-icon-16.png"); + break; + case TSK_CONTACT: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/contact.png"); + break; + case TSK_MESSAGE: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/message.png"); + break; + case TSK_CALLLOG: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/calllog.png"); + break; + case TSK_CALENDAR_ENTRY: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/calendar.png"); + break; + case TSK_SPEED_DIAL_ENTRY: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/speeddialentry.png"); + break; + case TSK_BLUETOOTH_PAIRING: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/bluetooth.png"); + break; + case TSK_GPS_BOOKMARK: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/gpsfav.png"); + break; + case TSK_GPS_LAST_KNOWN_LOCATION: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/gps-lastlocation.png"); + break; + case TSK_GPS_SEARCH: + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/gps-search.png"); + break; + + default: + logger.log(Level.WARNING, "useDataTypeIcon: unhandled artifact type = " + dataType); + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/star.png"); + iconFileName = "star.png"; + iconFilePath = path + File.separator + iconFileName; + break; + } + } + else { // no defined artifact found for this dataType + logger.log(Level.WARNING, "useDataTypeIcon: no artifact found for data type = " + dataType); + in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/star.png"); + iconFileName = "star.png"; + iconFilePath = path + File.separator + iconFileName; + } + + try { + output = new FileOutputStream(iconFilePath); + FileUtil.copy(in, output); + in.close(); + output.close(); + } catch (IOException ex) { + logger.log(Level.SEVERE, "Failed to extract images for HTML report.", ex); + } finally { + if (output != null) { + try { + output.flush(); + output.close(); + } catch (IOException ex) { + } + } if (in != null) { + try { + in.close(); + } catch (IOException ex) { + } + } + } + + return iconFileName; + } /** * Start this report by setting the path, refreshing member variables, * and writing the skeleton for the HTML report. @@ -151,7 +304,7 @@ public class ReportHTML implements TableReportModule { */ @Override public void startDataType(String title) { - String fTitle = org.sleuthkit.autopsy.coreutils.FileUtil.escapeFileName(title); + String fTitle = dataTypeToFileName(title); // Make a new out for this page try { //escape out slashes tha that appear in title @@ -186,7 +339,7 @@ public class ReportHTML implements TableReportModule { * @param comment Comment on the data type, may be the empty string */ public void startDataType(String name, String comment) { - String title = org.sleuthkit.autopsy.coreutils.FileUtil.escapeFileName(name); + String title = dataTypeToFileName(name); try { out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(path + title + getExtension()), "UTF-8")); } catch (FileNotFoundException ex) { @@ -614,9 +767,10 @@ public class ReportHTML implements TableReportModule { nav.append("
  • Case Summary
  • \n"); for (String dataType : dataTypes.keySet()) { - String dataTypeEsc = org.sleuthkit.autopsy.coreutils.FileUtil.escapeFileName(dataType); - nav.append("
  • ") .append(dataType).append(" (").append(dataTypes.get(dataType)) .append(")
  • \n"); @@ -668,146 +822,7 @@ public class ReportHTML implements TableReportModule { in.close(); output.close(); - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/bookmarks.png"); - output = new FileOutputStream(new File(path + File.separator + "Web Bookmarks.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/cookies.png"); - output = new FileOutputStream(new File(path + File.separator + "Web Cookies.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/history.png"); - output = new FileOutputStream(new File(path + File.separator + "Web History.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/downloads.png"); - output = new FileOutputStream(new File(path + File.separator + "Web Downloads.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/search.png"); - output = new FileOutputStream(new File(path + File.separator + "Web Search.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/recent.png"); - output = new FileOutputStream(new File(path + File.separator + "Recent Documents.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/installed.png"); - output = new FileOutputStream(new File(path + File.separator + "Installed Programs.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/keywords.png"); - output = new FileOutputStream(new File(path + File.separator + "Keyword Hits.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/devices.png"); - output = new FileOutputStream(new File(path + File.separator + "Devices Attached.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/exif.png"); - output = new FileOutputStream(new File(path + File.separator + "EXIF Metadata.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/userbookmarks.png"); - output = new FileOutputStream(new File(path + File.separator + "File Tags.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/userbookmarks.png"); - output = new FileOutputStream(new File(path + File.separator + "Result Tags.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/hash.png"); - output = new FileOutputStream(new File(path + File.separator + "Hashset Hits.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/contact.png"); - output = new FileOutputStream(new File(path + File.separator + "Contacts.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/message.png"); - output = new FileOutputStream(new File(path + File.separator + "Messages.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/calllog.png"); - output = new FileOutputStream(new File(path + File.separator + "Call Logs.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/calendar.png"); - output = new FileOutputStream(new File(path + File.separator + "Calendar Entries.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/speeddialentry.png"); - output = new FileOutputStream(new File(path + File.separator + "Speed Dial Entries.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/bluetooth.png"); - output = new FileOutputStream(new File(path + File.separator + "BlueTooth.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/gpsfav.png"); - output = new FileOutputStream(new File(path + File.separator + "GPS Bookmarks.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/gps-lastlocation.png"); - output = new FileOutputStream(new File(path + File.separator + "GPS Last Location.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/gps-search.png"); - output = new FileOutputStream(new File(path + File.separator + "GPS Search.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/account-icon-16.png"); - output = new FileOutputStream(new File(path + File.separator + "Accounts.png")); - FileUtil.copy(in, output); - in.close(); - output.close(); - - - + } catch (IOException ex) { logger.log(Level.SEVERE, "Failed to extract images for HTML report.", ex); } finally { diff --git a/Core/src/org/sleuthkit/autopsy/report/images/star.png b/Core/src/org/sleuthkit/autopsy/report/images/star.png new file mode 100644 index 0000000000000000000000000000000000000000..10169c061744c72365204043e0f63ebc977a51d9 GIT binary patch literal 674 zcmV;T0$u%yP)5e-c z#Lx-yxQ-z7fcPV&3QvD^oF}I-Q0@TbE7qJUZ|N0xS!~;NdkV)(wP;^YquBO4}>^yoC>eOAE)=y$my^Tn{1B!F> zOfivT7x#1A4R&4U1nbb@0@U1+%lPjh`BRsG@;t9{hQZU+M>q|obeHI_xkSr5JqDf@+7x0eVf Date: Wed, 21 Aug 2013 16:26:34 -0400 Subject: [PATCH 7/7] Removed 24x24 version of 'New Case' icon --- .../casemodule/btn_icon_create_new_case-24.png | Bin 1144 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 Core/src/org/sleuthkit/autopsy/casemodule/btn_icon_create_new_case-24.png diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/btn_icon_create_new_case-24.png b/Core/src/org/sleuthkit/autopsy/casemodule/btn_icon_create_new_case-24.png deleted file mode 100755 index cdc98334cc921098d6b59b5339490ae78bc38bbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1144 zcmV-;1c&>HP)@7~>e*{+hrN@FWhH561*^+l>s5$sFx*$*t_MJo8E@}Y1$;)ZcKM`_kPTb59x;6?Pl8p17~LL zJ^%Ut&p9)KJ2o~pCS2Ebi^U?=T6&off>x_VqtQsVZr!STeJfWTDW8{8hEmGVahwMl zuIqkq`0!!b3qZ9U-}gPw^C*={tEUt~Af-eIvAWi_D2j-pXs_pats_T{?BBU_XVjB{ z&FIn@ygjmeT5HPXa-pxUZ{N_+(8!)Wdt^_5j8u1xHc+>rwI&DxcVJ*(-^j?w`+(>P z&>5_gMJFRESAGwIAU`-b_{HVRmp=kHd-klnCkJhXx&_E;pZ%uMXb^^Bd#&jE{wL?o zom)3NJpA!J46=cH1#cgwP$=Me9!e>cQb;NBSL~gxRg{$|JMZSVbLG13UF@~ixUTE; zOmb({ti__+ezv5$GFYo?yP4JrOUv_w(GsbS$*UrsTVA`-9>lD*2q9RgUtxUuIHh7h z!7ZX3MZFoa+-ed<`k|f@-H**|ZGsaQzTvUKjRX}v_ zM4B8*IgFmZ#O$@3D5WU4F2|0ZCP`A>+_jxbE&zR-RL9Pm5*cHVQm)P&nI}yIsZNN~ z7Q5bl7cW=l;`m=2{OKT{f4Uc)TB`LkBzl=tr$k9oTa$s5a@7YYx$Ce|3C$wbTCUd5 z0G4Zu3+NOk=8lu51}PLmK&xp9o5_JJfXL>dU8-%l%0VBVe1zKERVsZ&j9Fo}`H3eP z-u*hY_zwgUO$xyEYCUPS;;*u0YC2!D&PsaunYXA_p;lWWF$sxDXrwooO;3^