From f22fcc5aab5dd76374f79a62ab30e65a032f795a Mon Sep 17 00:00:00 2001 From: raman-bt Date: Wed, 7 Aug 2013 08:49:45 -0400 Subject: [PATCH] Handle new artifacts/attributes for Autopsy/MPF integration. --- .../autopsy/datamodel/ArtifactTypeNode.java | 12 +++ .../datamodel/BlackboardArtifactNode.java | 13 +++ .../sleuthkit/autopsy/images/Bluetooth.png | Bin 0 -> 744 bytes .../autopsy/images/gps-lastlocation.png | Bin 0 -> 509 bytes .../sleuthkit/autopsy/images/gps-search.png | Bin 0 -> 958 bytes .../autopsy/images/gps-trackpoint.png | Bin 0 -> 661 bytes .../org/sleuthkit/autopsy/images/gpsfav.png | Bin 0 -> 643 bytes .../autopsy/images/speeddialentry.png | Bin 0 -> 724 bytes .../autopsy/report/ReportGenerator.java | 90 ++++++++++++++++++ .../sleuthkit/autopsy/report/ReportHTML.java | 37 +++++++ .../autopsy/report/images/account-icon-16.png | Bin 0 -> 832 bytes .../autopsy/report/images/bluetooth.png | Bin 0 -> 744 bytes .../report/images/gps-lastlocation.png | Bin 0 -> 509 bytes .../autopsy/report/images/gps-search.png | Bin 0 -> 958 bytes .../autopsy/report/images/gps_trackpoint.png | Bin 0 -> 661 bytes .../autopsy/report/images/gpsfav.png | Bin 0 -> 643 bytes .../autopsy/report/images/speeddialentry.png | Bin 0 -> 724 bytes .../netbeans/core/startup/Bundle.properties | 4 +- .../core/windows/view/ui/Bundle.properties | 6 +- 19 files changed, 157 insertions(+), 5 deletions(-) create mode 100644 Core/src/org/sleuthkit/autopsy/images/Bluetooth.png create mode 100644 Core/src/org/sleuthkit/autopsy/images/gps-lastlocation.png create mode 100644 Core/src/org/sleuthkit/autopsy/images/gps-search.png create mode 100644 Core/src/org/sleuthkit/autopsy/images/gps-trackpoint.png create mode 100644 Core/src/org/sleuthkit/autopsy/images/gpsfav.png create mode 100644 Core/src/org/sleuthkit/autopsy/images/speeddialentry.png create mode 100644 Core/src/org/sleuthkit/autopsy/report/images/account-icon-16.png create mode 100644 Core/src/org/sleuthkit/autopsy/report/images/bluetooth.png create mode 100644 Core/src/org/sleuthkit/autopsy/report/images/gps-lastlocation.png create mode 100644 Core/src/org/sleuthkit/autopsy/report/images/gps-search.png create mode 100644 Core/src/org/sleuthkit/autopsy/report/images/gps_trackpoint.png create mode 100644 Core/src/org/sleuthkit/autopsy/report/images/gpsfav.png create mode 100644 Core/src/org/sleuthkit/autopsy/report/images/speeddialentry.png diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ArtifactTypeNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/ArtifactTypeNode.java index b6c06ee5d9..c5d347ae6e 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/ArtifactTypeNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/ArtifactTypeNode.java @@ -112,6 +112,18 @@ public class ArtifactTypeNode extends DisplayableItemNode { return "calllog.png"; case TSK_CALENDAR_ENTRY: return "calendar.png"; + case TSK_SPEED_DIAL_ENTRY: + return "speeddialentry.png"; + case TSK_BLUETOOTH_PAIRING: + return "bluetooth.png"; + case TSK_GPS_BOOKMARK: + return "gpsfav.png"; + case TSK_GPS_LAST_KNOWN_LOCATION: + return "gps-lastlocation.png"; + case TSK_GPS_SEARCH: + return "gps-search.png"; + case TSK_SERVICE_ACCOUNT: + return "account-icon-16.png"; } return "artifact-icon.png"; } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java index 8ecb85fb2f..5879d6f341 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java @@ -299,6 +299,19 @@ public class BlackboardArtifactNode extends DisplayableItemNode { return "calllog.png"; case TSK_CALENDAR_ENTRY: return "calendar.png"; + case TSK_SPEED_DIAL_ENTRY: + return "speeddialentry.png"; + case TSK_BLUETOOTH_PAIRING: + return "bluetooth.png"; + case TSK_GPS_BOOKMARK: + return "gpsfav.png"; + case TSK_GPS_LAST_KNOWN_LOCATION: + return "gps-lastlocation.png"; + case TSK_GPS_SEARCH: + return "gps-search.png"; + case TSK_SERVICE_ACCOUNT: + return "account-icon-16.png"; + } return "artifact-icon.png"; } diff --git a/Core/src/org/sleuthkit/autopsy/images/Bluetooth.png b/Core/src/org/sleuthkit/autopsy/images/Bluetooth.png new file mode 100644 index 0000000000000000000000000000000000000000..a54acb00a1d674f02e6689f2ab3a7f7e873cf3ce GIT binary patch literal 744 zcmVP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0)0tDK~y+TbyGcP z6j2cV-tHMayhDg*JTEGdL*cA|ntk$6h(ZgW4o``-A?+q2BT+%j+Gee-?u=8Vult3_Q@YcT@j!!6B;!Dy)u zrNVX}dw^T7zhds?PoNO;#LzXvpCACl(HU!>|KG@BVX}hxi9-bFL}F%F5gf?FguP4p z4GGqXVEW6D&4#uHEZsQ>zwUb*vUCE$T0I5g7CnZWN>f{ZhDxSSyFui z{Q3-YbfQhh>M{ze1A)J?cT3G)1oPn*lj2*%FC)qZ63eIo)W1HT3e zK>A)r*TFWLkdagVvYHHz!Zsu3dNm#-1s|9aba7JBB7k=xsgI<6cM2Fe4IH}wESv>C zt-!ckCV?__;Hp2HfwJ)L%!JtnJm%D|K7-ja40HGlP(A`Ym}WJ%kFVsHO9w#7ltA6e zLKA#{H2=a}dj}LN{!E_Ea`Sk0W0ko-S&at~55d*vf#o)6VhhTN@HGEt;y|4~7ft7+rYyqPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0g_2XK~y+Tg_F%o z0znwYpUtw}jr>9h!y@rmx6XCTb9L$1%`V;g6N1j69fBx`ZW4W53JJPM-a^EvKnzq$ zG+cBEG2C_9*@i9MRe!L|zR$e#?7K7bazq0?G@DI`qR67bjIhz5(P$w1^vt5+m<*gw zCz7cYi-uz|pls*vLB3=b4T0{#e?E>6NPV6o?ei0+48~+|=JAjhKZvrkK~%NF)c$n+ zg3@Z?Tau71Yn4f5sJC%8)1NMb+-4YVJ5bl&^XXTNJlw!^#yuDYO7$H`B;oY}lRS{l zRAC#pqZL158P*sErTtylw7cV)pbrOG`}Esg62j67%do~U2<{z%TU>zH)+!JP92`&_ zn*#iEETa!>GYtyi8IqX>xz?s0Gg+pZ>2!WisB04`vxy=^H?VvfMWOo1)IVfdMx|0= z5n$O&L{-4qMsaa@h4r;nK@cEm_o7y->5F|n zAA-RkLZOh}GZf1TC{&I_w!rf|VzDSwdjWm``nMlv*a#q000000NkvXXu0mjf_f6Rn literal 0 HcmV?d00001 diff --git a/Core/src/org/sleuthkit/autopsy/images/gps-search.png b/Core/src/org/sleuthkit/autopsy/images/gps-search.png new file mode 100644 index 0000000000000000000000000000000000000000..26c97d488809de8088c6896490014015a5beb5f0 GIT binary patch literal 958 zcmV;v13~Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn z4jTXf02y>eSaefwW^{L9a%BK_cXuvnZfkR6VQ^(GZ*pgw?mQX*00SOLL_t(IPmPj2 zY#VhL#(#I`^T*kD{z_syA2@E@q){NKkjrHR_aj$^xLpY8Mc?tJ_mXJF)+{vUdNdf)eXrM_ncf3@zA zRHwyntw zGjIdy-8R1B(0bS=>MvkKvpBv>Qvhc39?!2_6m}JPM9G9tFbo0|N2cHEpebPz5tW_a zP0lR5!I`yn7FUWC7jrzjw92D{6#wiz7+J@FXpknR#8KulVEH(KsHW9pIe!5y<>5&K zqH35aJ&P1`Nl(b!+x!opFE@yV3;{7nr*a%vRqp+{%l!N)f`NhG&tSDun5Is}v!wH|f#W(Pvpb}7574z38#5c2yKTae2(l!JEV~Khkc2E6azuo>T4E|+ z;?o=N^TRhkkWWBW&%>LyO#U{1;K(Z^qt?A6%Z zZxSy|vi{t8a;XAARHjjXOh}IKOu5X`^u`$Q*u2kPcc1)>!j1QCbLZwS)LKt?_u4z0 zI~!xGc|fyLr)f6n=pNl zrzKclK22^VN46lMw09{N7DrZO*Kx6Gj3h~4r|ci&8x5Q()m^FxJ+tdo5Nv| zPRyce*9byBx-@|?86N|DhSJ#~`FD(7V~gseE_!>C zWMzR3?d2o$NJlg1_B=lM@NH_{30`~kb&B(|$KPZ5BAJfWA!+CkI(|IX5ny!a+G5|s gAr$3kEdNvRFVrnyOyAjydjJ3c07*qoM6N<$f_xFYNB{r; literal 0 HcmV?d00001 diff --git a/Core/src/org/sleuthkit/autopsy/images/gps-trackpoint.png b/Core/src/org/sleuthkit/autopsy/images/gps-trackpoint.png new file mode 100644 index 0000000000000000000000000000000000000000..78f1f97dcc3026b5cbe20a356df6eb7ea56d97ff GIT binary patch literal 661 zcmV;G0&4wPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf02y>eSaefwW^{L9 za%BKPWN%_+AW3auXJt}lVPtu6$z?nM00IR`L_t(IPmPmJYZFlvhMzmhOoK`lt5P?9 z5UC5HA_Wn_trel*#;Uj}f@0mc7eVkx*p(J>Q57jwH?9OX)e0?C5TT*9>Y~=#*qCI} zNoMZ#Oy&xSO^Of9aPFD+y!YIXQ6}d5eaz3tU^FPjrWhj{2es=Gs{0Dc1V4dTaBLH3SRhKUbP$t|xC1Uo2{U5e!lcV69MaixIAL7q&H^I&=m z+^tCsv4QN9sYx6u$~DD8ex3Pzss1ed@>wb>7T1#8w?ZTunO&=-MrzaXPMfNDg${k$ zey(ecC(CI?HLB8g=rpWOB{g#F%2bw2^l~q%>nP67ciP6NsrkjXnZlmW$q$3a2*+crw8~df1 zriL4F_77rwIo?V|;>$L>k+ue^t5@FJ(0)9QEXwP&nT>2};ARK# vdIs&NHEj(_WuIK_FrPb4kzZ^051N2KzYqffdU?>O00000NkvXXu0mjf+oC0# literal 0 HcmV?d00001 diff --git a/Core/src/org/sleuthkit/autopsy/images/gpsfav.png b/Core/src/org/sleuthkit/autopsy/images/gpsfav.png new file mode 100644 index 0000000000000000000000000000000000000000..721dba3d50d257656fffe7fd2b738a6aa7bf277c GIT binary patch literal 643 zcmV-}0(||6P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0vJg|K~y+Tm6Oj; z(_kEjpN*}stw;jfVjBDv@CVTV#-N8?lw>C^UQLKsj~+ew4;bTtD;JD21iV0qF+q$s z=8`GFjlo=`fM~7IRU{0^e$=jOre!helYG0g z^K5d$9{n2*L1Ax~&sveE&(n;ICmDa4F}uau;vaAbetgf9Ror~adq^owj4t{K-(RP4 zxMwFCaR|1*ePMO0iNvzXo3(wCg;uuqJ9zXYZ6_LW2;MF(v8Id6BsJ3cW_CTtXkY(G z^lH#fG~y7vN^G#XlBZlb#NBlU??I7Bn@nGCmz`*&E-06Z^z}#>AMRkx-C|IlO7cUvDS`K|B&MGIH6F8?(S|P zw;wYhXbGx6m?iT05Cj32%T+T}1&Kt$7#kZiG)=2c9hg_Ms#2-g9Vf`LY(%3`V`yl| dZv792@e}l(Ea-jz89M*~002ovPDHLkV1kaz8e{+f literal 0 HcmV?d00001 diff --git a/Core/src/org/sleuthkit/autopsy/images/speeddialentry.png b/Core/src/org/sleuthkit/autopsy/images/speeddialentry.png new file mode 100644 index 0000000000000000000000000000000000000000..498c9e4bd2b398a2a5388b0a6f1565e32104c576 GIT binary patch literal 724 zcmV;_0xSKAP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0%=J^K~y+Tb&}0% z6Hye!f0N84k(y{yTKb8gSdCRQ&_!$A6j2wtkh<)~zo6*K(xvFig@1v#DJ}#T7SSpc z{3wcTA&R1Q(N?jwwV2PDWM(p%dA^jPO=)`I4sYH)_uO-5E)rs|xG~ZuM7m#;ru&5W zJSZk^AKArG{KGCJq6*71SI|%hsR2GMY|uCS-p_7hOJJb?3}ZL1gXdyfVR}z3l02rO z>mIR0knwSYLmdZc?{4MJy$8(Af2oyi3%q)Ap9{n1A*(|`P>H_8ENiGi_%Nl=67J!2 zsuMcmJbme$OM(vvRB^A?&~Cg4~US1WvdYa;9nIHq4!CxBgqat6=L60vPgcE(7a z$m11qXw?iek9As_Dk#E`B63V0+X7BmhO|~GqPZr~1M3K9ors&`;|qhXW|gkEq}S|M zCD%ut1DPoOLzJ^Ja){6@VXMf(tbzSk(A!-lJn=E3UcqQ70fBm>Cpj11qodeNN#=+94jx$rH$Tk@;wSNUj!vCE0g*PnkBMn@eUPE;x7RJvPL6xnK%7*M!7 znPqNK?v0Py{f-z)A+8O|eQuCz5IZj-8scnH*>SgbApQep2|_7&C)ExB0000(Arrays.asList(new String[] {"Calendar Entry Type", "Description", "Start Date/Time", "End Date/Time", "Location", "Source File" })); break; + case TSK_SPEED_DIAL_ENTRY: + columnHeaders = new ArrayList(Arrays.asList(new String[] {"Dial String", "Person Name", "Phone Number", "Source File" })); + break; + case TSK_BLUETOOTH_PAIRING: + columnHeaders = new ArrayList(Arrays.asList(new String[] {"Device Name", "Device Address", "Date/Time", "Source File" })); + break; + case TSK_GPS_TRACKPOINT: + columnHeaders = new ArrayList(Arrays.asList(new String[] {"Latitude", "Longitude", "Altitude", "Name", "Location Address", "Date/Time", "Source File" })); + break; + case TSK_GPS_BOOKMARK: + columnHeaders = new ArrayList(Arrays.asList(new String[] {"Latitude", "Longitude", "Altitude", "Name", "Location Address", "Date/Time", "Source File" })); + break; + case TSK_GPS_LAST_KNOWN_LOCATION: + columnHeaders = new ArrayList(Arrays.asList(new String[] {"Latitude", "Longitude", "Altitude", "Name", "Location Address", "Date/Time", "Source File" })); + break; + case TSK_GPS_SEARCH: + columnHeaders = new ArrayList(Arrays.asList(new String[] {"Latitude", "Longitude", "Altitude", "Name", "Location Address", "Date/Time", "Source File" })); + break; + case TSK_SERVICE_ACCOUNT: + columnHeaders = new ArrayList(Arrays.asList(new String[] {"Category", "User ID", "Password", "Person Name", "App Name", "URL", "App Path", "Mailbox Name", "ReplyTo Address", "Mail Server", "Source File" })); + break; default: return null; } @@ -921,6 +942,75 @@ public class ReportGenerator { calEntry.add(attributes.get(ATTRIBUTE_TYPE.TSK_LOCATION.getTypeID())); calEntry.add(getFileUniquePath(entry.getKey().getObjectID())); return calEntry; + case TSK_SPEED_DIAL_ENTRY: + List speedDialEntry = new ArrayList(); + speedDialEntry.add(attributes.get(ATTRIBUTE_TYPE.TSK_DIAL_STRING.getTypeID())); + speedDialEntry.add(attributes.get(ATTRIBUTE_TYPE.TSK_NAME_PERSON.getTypeID())); + speedDialEntry.add(attributes.get(ATTRIBUTE_TYPE.TSK_PHONE_NUMBER.getTypeID())); + speedDialEntry.add(getFileUniquePath(entry.getKey().getObjectID())); + return speedDialEntry; + case TSK_BLUETOOTH_PAIRING: + List bluetoothEntry = new ArrayList(); + bluetoothEntry.add(attributes.get(ATTRIBUTE_TYPE.TSK_DEVICE_NAME.getTypeID())); + bluetoothEntry.add(attributes.get(ATTRIBUTE_TYPE.TSK_DEVICE_ID.getTypeID())); + bluetoothEntry.add(attributes.get(ATTRIBUTE_TYPE.TSK_DATETIME.getTypeID())); + bluetoothEntry.add(getFileUniquePath(entry.getKey().getObjectID())); + return bluetoothEntry; + case TSK_GPS_TRACKPOINT: + List gpsTrackpoint = new ArrayList(); + gpsTrackpoint.add(attributes.get(ATTRIBUTE_TYPE.TSK_GEO_LATITUDE.getTypeID())); + gpsTrackpoint.add(attributes.get(ATTRIBUTE_TYPE.TSK_GEO_LONGITUDE.getTypeID())); + gpsTrackpoint.add(attributes.get(ATTRIBUTE_TYPE.TSK_GEO_ALTITUDE.getTypeID())); + gpsTrackpoint.add(attributes.get(ATTRIBUTE_TYPE.TSK_NAME.getTypeID())); + gpsTrackpoint.add(attributes.get(ATTRIBUTE_TYPE.TSK_LOCATION.getTypeID())); + gpsTrackpoint.add(attributes.get(ATTRIBUTE_TYPE.TSK_DATETIME.getTypeID())); + gpsTrackpoint.add(getFileUniquePath(entry.getKey().getObjectID())); + return gpsTrackpoint; + case TSK_GPS_BOOKMARK: + List gpsBookmarkEntry = new ArrayList(); + gpsBookmarkEntry.add(attributes.get(ATTRIBUTE_TYPE.TSK_GEO_LATITUDE.getTypeID())); + gpsBookmarkEntry.add(attributes.get(ATTRIBUTE_TYPE.TSK_GEO_LONGITUDE.getTypeID())); + gpsBookmarkEntry.add(attributes.get(ATTRIBUTE_TYPE.TSK_GEO_ALTITUDE.getTypeID())); + gpsBookmarkEntry.add(attributes.get(ATTRIBUTE_TYPE.TSK_NAME.getTypeID())); + gpsBookmarkEntry.add(attributes.get(ATTRIBUTE_TYPE.TSK_LOCATION.getTypeID())); + gpsBookmarkEntry.add(attributes.get(ATTRIBUTE_TYPE.TSK_DATETIME.getTypeID())); + gpsBookmarkEntry.add(getFileUniquePath(entry.getKey().getObjectID())); + return gpsBookmarkEntry; + case TSK_GPS_LAST_KNOWN_LOCATION: + List gpsLastLocation = new ArrayList(); + gpsLastLocation.add(attributes.get(ATTRIBUTE_TYPE.TSK_GEO_LATITUDE.getTypeID())); + gpsLastLocation.add(attributes.get(ATTRIBUTE_TYPE.TSK_GEO_LONGITUDE.getTypeID())); + gpsLastLocation.add(attributes.get(ATTRIBUTE_TYPE.TSK_GEO_ALTITUDE.getTypeID())); + gpsLastLocation.add(attributes.get(ATTRIBUTE_TYPE.TSK_NAME.getTypeID())); + gpsLastLocation.add(attributes.get(ATTRIBUTE_TYPE.TSK_LOCATION.getTypeID())); + gpsLastLocation.add(attributes.get(ATTRIBUTE_TYPE.TSK_DATETIME.getTypeID())); + gpsLastLocation.add(getFileUniquePath(entry.getKey().getObjectID())); + return gpsLastLocation; + case TSK_GPS_SEARCH: + List gpsSearch = new ArrayList(); + gpsSearch.add(attributes.get(ATTRIBUTE_TYPE.TSK_GEO_LATITUDE.getTypeID())); + gpsSearch.add(attributes.get(ATTRIBUTE_TYPE.TSK_GEO_LONGITUDE.getTypeID())); + gpsSearch.add(attributes.get(ATTRIBUTE_TYPE.TSK_GEO_ALTITUDE.getTypeID())); + gpsSearch.add(attributes.get(ATTRIBUTE_TYPE.TSK_NAME.getTypeID())); + gpsSearch.add(attributes.get(ATTRIBUTE_TYPE.TSK_LOCATION.getTypeID())); + gpsSearch.add(attributes.get(ATTRIBUTE_TYPE.TSK_DATETIME.getTypeID())); + gpsSearch.add(getFileUniquePath(entry.getKey().getObjectID())); + return gpsSearch; + case TSK_SERVICE_ACCOUNT: + List appAccount = new ArrayList(); + appAccount.add(attributes.get(ATTRIBUTE_TYPE.TSK_CATEGORY.getTypeID())); + appAccount.add(attributes.get(ATTRIBUTE_TYPE.TSK_USER_ID.getTypeID())); + appAccount.add(attributes.get(ATTRIBUTE_TYPE.TSK_PASSWORD.getTypeID())); + appAccount.add(attributes.get(ATTRIBUTE_TYPE.TSK_NAME.getTypeID())); + appAccount.add(attributes.get(ATTRIBUTE_TYPE.TSK_PROG_NAME.getTypeID())); + appAccount.add(attributes.get(ATTRIBUTE_TYPE.TSK_URL.getTypeID())); + appAccount.add(attributes.get(ATTRIBUTE_TYPE.TSK_PATH.getTypeID())); + appAccount.add(attributes.get(ATTRIBUTE_TYPE.TSK_MAILBOX_NAME.getTypeID())); + appAccount.add(attributes.get(ATTRIBUTE_TYPE.TSK_EMAIL_REPLYTO.getTypeID())); + appAccount.add(attributes.get(ATTRIBUTE_TYPE.TSK_SERVER_NAME.getTypeID())); + appAccount.add(getFileUniquePath(entry.getKey().getObjectID())); + return appAccount; + } return null; diff --git a/Core/src/org/sleuthkit/autopsy/report/ReportHTML.java b/Core/src/org/sleuthkit/autopsy/report/ReportHTML.java index 3c660cade9..a02c47a757 100644 --- a/Core/src/org/sleuthkit/autopsy/report/ReportHTML.java +++ b/Core/src/org/sleuthkit/autopsy/report/ReportHTML.java @@ -734,6 +734,43 @@ public class ReportHTML implements TableReportModule { 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); diff --git a/Core/src/org/sleuthkit/autopsy/report/images/account-icon-16.png b/Core/src/org/sleuthkit/autopsy/report/images/account-icon-16.png new file mode 100644 index 0000000000000000000000000000000000000000..73d9cfeabbe96c505e6921c5f0d68d3db0f42b09 GIT binary patch literal 832 zcmV-G1Hb%k7RCwBaQ%y(|VHkeCnc3ZT)!k*) zbT?fnwJcEXQ5BSdRTO+WTaDg@Ftqv{$n=ieYX%fW?Jp_L>`ZfHBNCNSHRZ?n z@Br*ZHAsj83eOZE$Lj?j(Qxh5aqJUw4m)EUBuVX&H8V8gfC3hTTf@7d`*^+(KP0=+ zNobmrZcu=DT%qzbh+-Utl~*X34d>h$D6PuJ1K%UmeOEwsBf7+76aAKUe!iGx7|Y3t zJp*@R>P&I%)yl1v-w20z$O!@0n;Xz2voMoX5Joi^DHme8xy>dG&S zL`%^?f6@=CNL6Hb+*xqDJqFO;^hpmmB2xg>db_3dTi)e1Z%u7Iq=ba24^Pn7+Xr8} z4=z_atQHd(&UDC7-2=9)w6rxfEp0X@_k_ciVn=3X2FlCJ!J4d?nVZG*^c1|FY2zXqa|02c`q18ifx*WZFK9CiB-97G#W1l9 ztcjffmtwPFF&Km^Jqvtz9r^kB#&jDSo5;yMiKXRbILr*h{+ksC*#(+gK!kL3+|iC% zZLnCZU>JsiY=Grh*zGRe8%UxEafgRRmB^c-E|?V&tfu@0Vgw-;5MtW~dpNXauq(1` zocYi?VzDg+k0 literal 0 HcmV?d00001 diff --git a/Core/src/org/sleuthkit/autopsy/report/images/bluetooth.png b/Core/src/org/sleuthkit/autopsy/report/images/bluetooth.png new file mode 100644 index 0000000000000000000000000000000000000000..a54acb00a1d674f02e6689f2ab3a7f7e873cf3ce GIT binary patch literal 744 zcmVP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0)0tDK~y+TbyGcP z6j2cV-tHMayhDg*JTEGdL*cA|ntk$6h(ZgW4o``-A?+q2BT+%j+Gee-?u=8Vult3_Q@YcT@j!!6B;!Dy)u zrNVX}dw^T7zhds?PoNO;#LzXvpCACl(HU!>|KG@BVX}hxi9-bFL}F%F5gf?FguP4p z4GGqXVEW6D&4#uHEZsQ>zwUb*vUCE$T0I5g7CnZWN>f{ZhDxSSyFui z{Q3-YbfQhh>M{ze1A)J?cT3G)1oPn*lj2*%FC)qZ63eIo)W1HT3e zK>A)r*TFWLkdagVvYHHz!Zsu3dNm#-1s|9aba7JBB7k=xsgI<6cM2Fe4IH}wESv>C zt-!ckCV?__;Hp2HfwJ)L%!JtnJm%D|K7-ja40HGlP(A`Ym}WJ%kFVsHO9w#7ltA6e zLKA#{H2=a}dj}LN{!E_Ea`Sk0W0ko-S&at~55d*vf#o)6VhhTN@HGEt;y|4~7ft7+rYyqPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0g_2XK~y+Tg_F%o z0znwYpUtw}jr>9h!y@rmx6XCTb9L$1%`V;g6N1j69fBx`ZW4W53JJPM-a^EvKnzq$ zG+cBEG2C_9*@i9MRe!L|zR$e#?7K7bazq0?G@DI`qR67bjIhz5(P$w1^vt5+m<*gw zCz7cYi-uz|pls*vLB3=b4T0{#e?E>6NPV6o?ei0+48~+|=JAjhKZvrkK~%NF)c$n+ zg3@Z?Tau71Yn4f5sJC%8)1NMb+-4YVJ5bl&^XXTNJlw!^#yuDYO7$H`B;oY}lRS{l zRAC#pqZL158P*sErTtylw7cV)pbrOG`}Esg62j67%do~U2<{z%TU>zH)+!JP92`&_ zn*#iEETa!>GYtyi8IqX>xz?s0Gg+pZ>2!WisB04`vxy=^H?VvfMWOo1)IVfdMx|0= z5n$O&L{-4qMsaa@h4r;nK@cEm_o7y->5F|n zAA-RkLZOh}GZf1TC{&I_w!rf|VzDSwdjWm``nMlv*a#q000000NkvXXu0mjf_f6Rn literal 0 HcmV?d00001 diff --git a/Core/src/org/sleuthkit/autopsy/report/images/gps-search.png b/Core/src/org/sleuthkit/autopsy/report/images/gps-search.png new file mode 100644 index 0000000000000000000000000000000000000000..26c97d488809de8088c6896490014015a5beb5f0 GIT binary patch literal 958 zcmV;v13~Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn z4jTXf02y>eSaefwW^{L9a%BK_cXuvnZfkR6VQ^(GZ*pgw?mQX*00SOLL_t(IPmPj2 zY#VhL#(#I`^T*kD{z_syA2@E@q){NKkjrHR_aj$^xLpY8Mc?tJ_mXJF)+{vUdNdf)eXrM_ncf3@zA zRHwyntw zGjIdy-8R1B(0bS=>MvkKvpBv>Qvhc39?!2_6m}JPM9G9tFbo0|N2cHEpebPz5tW_a zP0lR5!I`yn7FUWC7jrzjw92D{6#wiz7+J@FXpknR#8KulVEH(KsHW9pIe!5y<>5&K zqH35aJ&P1`Nl(b!+x!opFE@yV3;{7nr*a%vRqp+{%l!N)f`NhG&tSDun5Is}v!wH|f#W(Pvpb}7574z38#5c2yKTae2(l!JEV~Khkc2E6azuo>T4E|+ z;?o=N^TRhkkWWBW&%>LyO#U{1;K(Z^qt?A6%Z zZxSy|vi{t8a;XAARHjjXOh}IKOu5X`^u`$Q*u2kPcc1)>!j1QCbLZwS)LKt?_u4z0 zI~!xGc|fyLr)f6n=pNl zrzKclK22^VN46lMw09{N7DrZO*Kx6Gj3h~4r|ci&8x5Q()m^FxJ+tdo5Nv| zPRyce*9byBx-@|?86N|DhSJ#~`FD(7V~gseE_!>C zWMzR3?d2o$NJlg1_B=lM@NH_{30`~kb&B(|$KPZ5BAJfWA!+CkI(|IX5ny!a+G5|s gAr$3kEdNvRFVrnyOyAjydjJ3c07*qoM6N<$f_xFYNB{r; literal 0 HcmV?d00001 diff --git a/Core/src/org/sleuthkit/autopsy/report/images/gps_trackpoint.png b/Core/src/org/sleuthkit/autopsy/report/images/gps_trackpoint.png new file mode 100644 index 0000000000000000000000000000000000000000..78f1f97dcc3026b5cbe20a356df6eb7ea56d97ff GIT binary patch literal 661 zcmV;G0&4wPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf02y>eSaefwW^{L9 za%BKPWN%_+AW3auXJt}lVPtu6$z?nM00IR`L_t(IPmPmJYZFlvhMzmhOoK`lt5P?9 z5UC5HA_Wn_trel*#;Uj}f@0mc7eVkx*p(J>Q57jwH?9OX)e0?C5TT*9>Y~=#*qCI} zNoMZ#Oy&xSO^Of9aPFD+y!YIXQ6}d5eaz3tU^FPjrWhj{2es=Gs{0Dc1V4dTaBLH3SRhKUbP$t|xC1Uo2{U5e!lcV69MaixIAL7q&H^I&=m z+^tCsv4QN9sYx6u$~DD8ex3Pzss1ed@>wb>7T1#8w?ZTunO&=-MrzaXPMfNDg${k$ zey(ecC(CI?HLB8g=rpWOB{g#F%2bw2^l~q%>nP67ciP6NsrkjXnZlmW$q$3a2*+crw8~df1 zriL4F_77rwIo?V|;>$L>k+ue^t5@FJ(0)9QEXwP&nT>2};ARK# vdIs&NHEj(_WuIK_FrPb4kzZ^051N2KzYqffdU?>O00000NkvXXu0mjf+oC0# literal 0 HcmV?d00001 diff --git a/Core/src/org/sleuthkit/autopsy/report/images/gpsfav.png b/Core/src/org/sleuthkit/autopsy/report/images/gpsfav.png new file mode 100644 index 0000000000000000000000000000000000000000..721dba3d50d257656fffe7fd2b738a6aa7bf277c GIT binary patch literal 643 zcmV-}0(||6P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0vJg|K~y+Tm6Oj; z(_kEjpN*}stw;jfVjBDv@CVTV#-N8?lw>C^UQLKsj~+ew4;bTtD;JD21iV0qF+q$s z=8`GFjlo=`fM~7IRU{0^e$=jOre!helYG0g z^K5d$9{n2*L1Ax~&sveE&(n;ICmDa4F}uau;vaAbetgf9Ror~adq^owj4t{K-(RP4 zxMwFCaR|1*ePMO0iNvzXo3(wCg;uuqJ9zXYZ6_LW2;MF(v8Id6BsJ3cW_CTtXkY(G z^lH#fG~y7vN^G#XlBZlb#NBlU??I7Bn@nGCmz`*&E-06Z^z}#>AMRkx-C|IlO7cUvDS`K|B&MGIH6F8?(S|P zw;wYhXbGx6m?iT05Cj32%T+T}1&Kt$7#kZiG)=2c9hg_Ms#2-g9Vf`LY(%3`V`yl| dZv792@e}l(Ea-jz89M*~002ovPDHLkV1kaz8e{+f literal 0 HcmV?d00001 diff --git a/Core/src/org/sleuthkit/autopsy/report/images/speeddialentry.png b/Core/src/org/sleuthkit/autopsy/report/images/speeddialentry.png new file mode 100644 index 0000000000000000000000000000000000000000..498c9e4bd2b398a2a5388b0a6f1565e32104c576 GIT binary patch literal 724 zcmV;_0xSKAP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0%=J^K~y+Tb&}0% z6Hye!f0N84k(y{yTKb8gSdCRQ&_!$A6j2wtkh<)~zo6*K(xvFig@1v#DJ}#T7SSpc z{3wcTA&R1Q(N?jwwV2PDWM(p%dA^jPO=)`I4sYH)_uO-5E)rs|xG~ZuM7m#;ru&5W zJSZk^AKArG{KGCJq6*71SI|%hsR2GMY|uCS-p_7hOJJb?3}ZL1gXdyfVR}z3l02rO z>mIR0knwSYLmdZc?{4MJy$8(Af2oyi3%q)Ap9{n1A*(|`P>H_8ENiGi_%Nl=67J!2 zsuMcmJbme$OM(vvRB^A?&~Cg4~US1WvdYa;9nIHq4!CxBgqat6=L60vPgcE(7a z$m11qXw?iek9As_Dk#E`B63V0+X7BmhO|~GqPZr~1M3K9ors&`;|qhXW|gkEq}S|M zCD%ut1DPoOLzJ^Ja){6@VXMf(tbzSk(A!-lJn=E3UcqQ70fBm>Cpj11qodeNN#=+94jx$rH$Tk@;wSNUj!vCE0g*PnkBMn@eUPE;x7RJvPL6xnK%7*M!7 znPqNK?v0Py{f-z)A+8O|eQuCz5IZj-8scnH*>SgbApQep2|_7&C)ExB0000