diff --git a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/ufed/ReportGenerator.java b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/ufed/ReportGenerator.java index 21a1d647d7..6c4ba2171d 100644 --- a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/ufed/ReportGenerator.java +++ b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/ufed/ReportGenerator.java @@ -113,8 +113,6 @@ private void printMessage(PrintWriter out, UfedMessage message, boolean group, b name = Messages.getString("ReportGenerator.Unknown"); //$NON-NLS-1$ } - if (chatDeleted || message.isDeleted()) - out.println("🚫 "); //$NON-NLS-1$ if (name != null) out.println( @@ -192,18 +190,24 @@ private void printMessage(PrintWriter out, UfedMessage message, boolean group, b out.print("

" + Messages.getString("WhatsAppReport.FoundInPedoHashDB") + " " + format(message.getChildPornSets().toString()) + "

"); } - if (message.getTimeStamp() != null) { out.println(""); //$NON-NLS-1$ out.println(timeFormat.format(message.getTimeStamp())); // $NON-NLS-1$ out.println(""); //$NON-NLS-1$ } - + if (chatDeleted || message.isDeleted()) { + out.println("
"); //$NON-NLS-1$ + out.println("" + Messages.getString("WhatsAppReport.MessageDeletedRecovered") + ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + out.println("
"); //$NON-NLS-1$ + out.println("
"); //$NON-NLS-1$ + } if (isTo) out.println("
"); if (isFrom) out.println(""); + + out.println(""); //$NON-NLS-1$ } diff --git a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/ufed/UFEDChatParser.java b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/ufed/UFEDChatParser.java index 7926ab7950..a364b2d443 100644 --- a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/ufed/UFEDChatParser.java +++ b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/ufed/UFEDChatParser.java @@ -198,6 +198,7 @@ private UfedMessage createMessage(IItemReader msg) { private UfedMessage createMessage(IItemReader msg, IItemReader attach) { UfedMessage m = new UfedMessage(); m.setId(msg.getId()); + m.setDeleted(msg.isDeleted()); for (String body : msg.getMetadata().getValues(ExtraProperties.MESSAGE_BODY)) { if (!body.startsWith(ATTACHED_MEDIA_MSG)) m.setData(body); diff --git a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorIOS.java b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorIOS.java index d5eca9b6e5..9363b23342 100644 --- a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorIOS.java +++ b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorIOS.java @@ -168,6 +168,7 @@ protected List extractChatList() throws WAExtractorException { c.setId(rs.getLong("id")); //$NON-NLS-1$ c.setSubject(Util.getUTF8String(rs, "subject")); //$NON-NLS-1$ c.setGroupChat(contactId.endsWith("g.us")); //$NON-NLS-1$ + c.setDeleted(rs.getInt("ZREMOVED") != 0); remote.setAvatarPath(rs.getString("avatarPath")); //$NON-NLS-1$ if (recoverDeletedRecords) { activeChats.add(c.getId()); @@ -545,7 +546,7 @@ private List undeleteChats(SQLiteUndeleteTable undeleteChatsSessions, WACo WAContact contact = contacts.getContact(contactId); Chat c = new Chat(contact); c.setId(row.getIntValue("Z_PK")); //$NON-NLS-1$ - c.setDeleted(row.isDeletedRow()); + c.setDeleted(row.getIntValue("ZREMOVED") != 0 || row.isDeletedRow()); c.setSubject(row.getTextValue("ZPARTNERNAME")); //$NON-NLS-1$ c.setGroupChat(contactId.endsWith("g.us")); //$NON-NLS-1$ result.add(c); @@ -652,13 +653,13 @@ protected Message.MessageType decodeMessageType(int messageType, int gEventType) * ** static strings *** */ private static final String SELECT_CHAT_LIST = "SELECT ZWACHATSESSION.Z_PK as id, ZCONTACTJID AS contact, " //$NON-NLS-1$ - + "ZPARTNERNAME as subject, ZLASTMESSAGEDATE, ZPATH as avatarPath " //$NON-NLS-1$ + + "ZPARTNERNAME as subject, ZLASTMESSAGEDATE, ZPATH as avatarPath,ZREMOVED as ZREMOVED" //$NON-NLS-1$ + "FROM ZWACHATSESSION " //$NON-NLS-1$ + "LEFT JOIN ZWAPROFILEPICTUREITEM ON ZWAPROFILEPICTUREITEM.ZJID = ZWACHATSESSION.ZCONTACTJID " //$NON-NLS-1$ + "ORDER BY ZLASTMESSAGEDATE DESC"; //$NON-NLS-1$ private static final String SELECT_CHAT_LIST_NO_PPIC = "SELECT ZWACHATSESSION.Z_PK as id, ZCONTACTJID AS contact, " //$NON-NLS-1$ - + "ZPARTNERNAME as subject, ZLASTMESSAGEDATE, NULL as avatarPath " //$NON-NLS-1$ + + "ZPARTNERNAME as subject, ZLASTMESSAGEDATE, NULL as avatarPath , 0 as ZREMOVED" //$NON-NLS-1$ + "FROM ZWACHATSESSION " //$NON-NLS-1$ + "ORDER BY ZLASTMESSAGEDATE DESC"; //$NON-NLS-1$ /* @@ -839,4 +840,4 @@ public boolean validateRecord(SqliteRow row) { return false; } } -} +} \ No newline at end of file