From e4e46067dbb3fdafbd950612bee531a13e80f789 Mon Sep 17 00:00:00 2001 From: momo Date: Wed, 9 Sep 2015 13:33:14 -0400 Subject: [PATCH 1/3] keeping only three makernotes with face detect tags --- .../exif/ExifParserFileIngestModule.java | 92 +++++-------------- 1 file changed, 24 insertions(+), 68 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/modules/exif/ExifParserFileIngestModule.java b/Core/src/org/sleuthkit/autopsy/modules/exif/ExifParserFileIngestModule.java index deb55fa2ab..b62724ae11 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/exif/ExifParserFileIngestModule.java +++ b/Core/src/org/sleuthkit/autopsy/modules/exif/ExifParserFileIngestModule.java @@ -268,18 +268,6 @@ public final class ExifParserFileIngestModule implements FileIngestModule { } } - d = metadata.getFirstDirectoryOfType(CasioType1MakernoteDirectory.class); - if (d != null) { - try { - if (d.containsTag(CasioType1MakernoteDirectory.TAG_FLASH_MODE) - && d.getInt(CasioType1MakernoteDirectory.TAG_FLASH_MODE) == 0x04) { //0x04 = "Red eye reduction" - return true; - } - } catch (MetadataException ex) { - // move on and check next directory - } - } - d = metadata.getFirstDirectoryOfType(FujifilmMakernoteDirectory.class); if (d != null) { if (d.containsTag(FujifilmMakernoteDirectory.TAG_FACES_DETECTED) @@ -288,71 +276,39 @@ public final class ExifParserFileIngestModule implements FileIngestModule { } } - d = metadata.getFirstDirectoryOfType(KodakMakernoteDirectory.class); - if (d != null) { - try { - if (d.containsTag(KodakMakernoteDirectory.TAG_FLASH_MODE) - && d.getInt(KodakMakernoteDirectory.TAG_FLASH_MODE) == 0x03) { //0x03 = "Red Eye" - return true; - } - } catch (MetadataException ex) { - /// move on and check next directory - } - } - - d = metadata.getFirstDirectoryOfType(NikonType2MakernoteDirectory.class); - if (d != null) { - if (d.containsTag(NikonType2MakernoteDirectory.TAG_SCENE_MODE) - && d.getString(NikonType2MakernoteDirectory.TAG_SCENE_MODE) != null - && (d.getString(NikonType2MakernoteDirectory.TAG_SCENE_MODE).equals("BEST FACE") // NON-NLS - || (d.getString(NikonType2MakernoteDirectory.TAG_SCENE_MODE).equals("SMILE")))) { // NON-NLS - return true; - } - } +// d = metadata.getFirstDirectoryOfType(NikonType2MakernoteDirectory.class); +// if (d != null) { +// if (d.containsTag(NikonType2MakernoteDirectory.TAG_SCENE_MODE) +// && d.getString(NikonType2MakernoteDirectory.TAG_SCENE_MODE) != null +// && (d.getString(NikonType2MakernoteDirectory.TAG_SCENE_MODE).equals("BEST FACE") // NON-NLS +// || (d.getString(NikonType2MakernoteDirectory.TAG_SCENE_MODE).equals("SMILE")))) { // NON-NLS +// return true; +// } +// } d = metadata.getFirstDirectoryOfType(PanasonicMakernoteDirectory.class); if (d != null) { if (d.containsTag(PanasonicMakernoteDirectory.TAG_FACES_DETECTED) - && d.getString(PanasonicMakernoteDirectory.TAG_FACES_DETECTED) != null) { + && d.getString(PanasonicMakernoteDirectory.TAG_FACES_DETECTED) != null) { return true; } - } - - d = metadata.getFirstDirectoryOfType(PentaxMakernoteDirectory.class); - if (d != null) { - try { - if (d.containsTag(PentaxMakernoteDirectory.TAG_FLASH_MODE) - && d.getInt(PentaxMakernoteDirectory.TAG_FLASH_MODE) == 6) { // 6 = Red-eye Reduction - return true; - } - } catch (MetadataException ex) { - // move on and check next directory - } - } - - d = metadata.getFirstDirectoryOfType(SanyoMakernoteDirectory.class); - if (d != null) { - if (d.containsTag(SanyoMakernoteDirectory.TAG_MANUAL_FOCUS_DISTANCE_OR_FACE_INFO) - && d.getString(SanyoMakernoteDirectory.TAG_MANUAL_FOCUS_DISTANCE_OR_FACE_INFO) != null) { + if(d.containsTag(PanasonicMakernoteDirectory.TAG_AF_AREA_MODE) + && d.getString(PanasonicMakernoteDirectory.TAG_AF_AREA_MODE) != null + && d.getString(PanasonicMakernoteDirectory.TAG_AF_AREA_MODE).equals("64 0")) { // NON-NLS return true; - } } - d = metadata.getFirstDirectoryOfType(SonyType1MakernoteDirectory.class); - if (d != null) { - try { - if (d.containsTag(SonyType1MakernoteDirectory.TAG_AF_MODE) - && d.getInt(SonyType1MakernoteDirectory.TAG_AF_MODE) == 15) { //15 = "Face Detected" - return true; - } - if (d.containsTag(SonyType1MakernoteDirectory.TAG_EXPOSURE_MODE) - && d.getInt(SonyType1MakernoteDirectory.TAG_EXPOSURE_MODE) == 14) { //14 = "Smile shutter" - return true; - } - } catch (MetadataException ex) { - // move on and check next directory - } - } +// d = metadata.getFirstDirectoryOfType(SonyType1MakernoteDirectory.class); +// if (d != null) { +// try { +// if (d.containsTag(SonyType1MakernoteDirectory.TAG_AF_MODE) +// && d.getInt(SonyType1MakernoteDirectory.TAG_AF_MODE) == 15) { //15 = "Face Detected" +// return true; +// } +// } catch (MetadataException ex) { +// // move on and check next directory +// } +// } return false; } From bc73e4db395b20a0438bfec52727694dbe379792 Mon Sep 17 00:00:00 2001 From: momo Date: Wed, 9 Sep 2015 13:50:07 -0400 Subject: [PATCH 2/3] fix closing if statement --- .../autopsy/modules/exif/ExifParserFileIngestModule.java | 1 + 1 file changed, 1 insertion(+) diff --git a/Core/src/org/sleuthkit/autopsy/modules/exif/ExifParserFileIngestModule.java b/Core/src/org/sleuthkit/autopsy/modules/exif/ExifParserFileIngestModule.java index b62724ae11..6058d290da 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/exif/ExifParserFileIngestModule.java +++ b/Core/src/org/sleuthkit/autopsy/modules/exif/ExifParserFileIngestModule.java @@ -296,6 +296,7 @@ public final class ExifParserFileIngestModule implements FileIngestModule { && d.getString(PanasonicMakernoteDirectory.TAG_AF_AREA_MODE) != null && d.getString(PanasonicMakernoteDirectory.TAG_AF_AREA_MODE).equals("64 0")) { // NON-NLS return true; + } } // d = metadata.getFirstDirectoryOfType(SonyType1MakernoteDirectory.class); From 3b76ec80a9fee690708bb156cd1100d9405c3cc5 Mon Sep 17 00:00:00 2001 From: momo Date: Wed, 9 Sep 2015 14:04:03 -0400 Subject: [PATCH 3/3] removed commented code --- .../exif/ExifParserFileIngestModule.java | 26 ------------------- 1 file changed, 26 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/modules/exif/ExifParserFileIngestModule.java b/Core/src/org/sleuthkit/autopsy/modules/exif/ExifParserFileIngestModule.java index 6058d290da..986c3d139f 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/exif/ExifParserFileIngestModule.java +++ b/Core/src/org/sleuthkit/autopsy/modules/exif/ExifParserFileIngestModule.java @@ -244,10 +244,6 @@ public final class ExifParserFileIngestModule implements FileIngestModule { /** * Checks if this metadata contains any tags related to facial information. - * NOTE: Cases with this metadata containing tags like enabled red-eye - * reduction settings, portrait settings, etc are also assumed to contain - * facial information. The method returns true. The return value of this - * method does NOT guarantee actual presence of face. * * @param metadata the metadata which needs to be parsed for possible facial * information. @@ -276,16 +272,6 @@ public final class ExifParserFileIngestModule implements FileIngestModule { } } -// d = metadata.getFirstDirectoryOfType(NikonType2MakernoteDirectory.class); -// if (d != null) { -// if (d.containsTag(NikonType2MakernoteDirectory.TAG_SCENE_MODE) -// && d.getString(NikonType2MakernoteDirectory.TAG_SCENE_MODE) != null -// && (d.getString(NikonType2MakernoteDirectory.TAG_SCENE_MODE).equals("BEST FACE") // NON-NLS -// || (d.getString(NikonType2MakernoteDirectory.TAG_SCENE_MODE).equals("SMILE")))) { // NON-NLS -// return true; -// } -// } - d = metadata.getFirstDirectoryOfType(PanasonicMakernoteDirectory.class); if (d != null) { if (d.containsTag(PanasonicMakernoteDirectory.TAG_FACES_DETECTED) @@ -299,18 +285,6 @@ public final class ExifParserFileIngestModule implements FileIngestModule { } } -// d = metadata.getFirstDirectoryOfType(SonyType1MakernoteDirectory.class); -// if (d != null) { -// try { -// if (d.containsTag(SonyType1MakernoteDirectory.TAG_AF_MODE) -// && d.getInt(SonyType1MakernoteDirectory.TAG_AF_MODE) == 15) { //15 = "Face Detected" -// return true; -// } -// } catch (MetadataException ex) { -// // move on and check next directory -// } -// } - return false; }