From b2c4fdf9332ae9d8eb3bf1a7032b9db07c3e1349 Mon Sep 17 00:00:00 2001 From: tc-wleite Date: Tue, 7 Jan 2025 14:05:24 -0300 Subject: [PATCH 1/9] '#2400: Handle other types (123/125/131) for "community welcome". --- .../main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java index c028d08d04..d1586ba8b3 100644 --- a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java +++ b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java @@ -877,7 +877,10 @@ protected Message.MessageType decodeMessageType(int messageType, int status, Int case 118: result = PINNED_MESSAGE; break; + case 121: + case 123: case 124: + case 131: result = COMMUNITY_WELCOME; break; case 129: From 6e351b40916659901e66a38e40a0a74c9b3b71d4 Mon Sep 17 00:00:00 2001 From: tc-wleite Date: Tue, 7 Jan 2025 14:08:02 -0300 Subject: [PATCH 2/9] '#2400: Handle another generic "community management" action (type 115). --- .../src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java | 1 + 1 file changed, 1 insertion(+) diff --git a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java index d1586ba8b3..d68ec50622 100644 --- a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java +++ b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java @@ -857,6 +857,7 @@ protected Message.MessageType decodeMessageType(int messageType, int status, Int case 88: case 95: case 110: + case 115: result = COMMUNITY_MANAGEMENT_ACTION; break; case 90: From d7523da67b3d4c95d3d86519514d1622acb6ac3c Mon Sep 17 00:00:00 2001 From: tc-wleite Date: Tue, 7 Jan 2025 14:28:47 -0300 Subject: [PATCH 3/9] '#2400: Handle system message type 85 (admin approval to join off). --- .../localization/iped-parsers-messages.properties | 1 + .../localization/iped-parsers-messages_de_DE.properties | 1 + .../localization/iped-parsers-messages_es_AR.properties | 1 + .../localization/iped-parsers-messages_fr_FR.properties | 1 + .../localization/iped-parsers-messages_it_IT.properties | 1 + .../localization/iped-parsers-messages_pt_BR.properties | 1 + .../java/iped/parsers/whatsapp/ExtractorAndroidNew.java | 7 ++++--- .../src/main/java/iped/parsers/whatsapp/Message.java | 4 +++- .../main/java/iped/parsers/whatsapp/ReportGenerator.java | 5 +++++ 9 files changed, 18 insertions(+), 4 deletions(-) diff --git a/iped-app/resources/localization/iped-parsers-messages.properties b/iped-app/resources/localization/iped-parsers-messages.properties index f7107ae05d..509803beb7 100644 --- a/iped-app/resources/localization/iped-parsers-messages.properties +++ b/iped-app/resources/localization/iped-parsers-messages.properties @@ -307,6 +307,7 @@ WhatsAppReport.GroupChangedAllMembersCanEdit=changed this group's settings to al WhatsAppReport.GroupChangedOnlyAdminsCanEdit=changed this group's settings to allow only admins to edit this group's info. WhatsAppReport.GroupChangedAllMembersCanSend=changed this group's settings to allow all participants to send messages. WhatsAppReport.GroupChangedOnlyAdminsCanSend=changed this group's settings to allow only admins to send messages. +WhatsAppReport.GroupChangedAdminApprovalOff=turned off admin approval to join this group. WhatsAppReport.GroupOnlyAdminsCanSend=Only admins can send messages to this group. WhatsAppReport.ChangedDevice=changed device. WhatsAppReport.ChangedNumberTo=changed to diff --git a/iped-app/resources/localization/iped-parsers-messages_de_DE.properties b/iped-app/resources/localization/iped-parsers-messages_de_DE.properties index 42e1f07c28..a5af407543 100644 --- a/iped-app/resources/localization/iped-parsers-messages_de_DE.properties +++ b/iped-app/resources/localization/iped-parsers-messages_de_DE.properties @@ -307,6 +307,7 @@ WhatsAppReport.GroupChangedAllMembersCanEdit=changed this group's settings to al WhatsAppReport.GroupChangedOnlyAdminsCanEdit=changed this group's settings to allow only admins to edit this group's info.[TBT] WhatsAppReport.GroupChangedAllMembersCanSend=changed this group's settings to allow all participants to send messages.[TBT] WhatsAppReport.GroupChangedOnlyAdminsCanSend=changed this group's settings to allow only admins to send messages.[TBT] +WhatsAppReport.GroupChangedAdminApprovalOff=turned off admin approval to join this group.[TBT] WhatsAppReport.GroupOnlyAdminsCanSend=Only admins can send messages to this group.[TBT] WhatsAppReport.ChangedDevice=changed device.[TBT] WhatsAppReport.ChangedNumberTo=changed to[TBT] diff --git a/iped-app/resources/localization/iped-parsers-messages_es_AR.properties b/iped-app/resources/localization/iped-parsers-messages_es_AR.properties index cdaa30dc43..efd426f3dd 100644 --- a/iped-app/resources/localization/iped-parsers-messages_es_AR.properties +++ b/iped-app/resources/localization/iped-parsers-messages_es_AR.properties @@ -307,6 +307,7 @@ WhatsAppReport.GroupChangedAllMembersCanEdit=changed this group's settings to al WhatsAppReport.GroupChangedOnlyAdminsCanEdit=changed this group's settings to allow only admins to edit this group's info.[TBT] WhatsAppReport.GroupChangedAllMembersCanSend=changed this group's settings to allow all participants to send messages.[TBT] WhatsAppReport.GroupChangedOnlyAdminsCanSend=changed this group's settings to allow only admins to send messages.[TBT] +WhatsAppReport.GroupChangedAdminApprovalOff=turned off admin approval to join this group.[TBT] WhatsAppReport.GroupOnlyAdminsCanSend=Only admins can send messages to this group.[TBT] WhatsAppReport.ChangedDevice=changed device.[TBT] WhatsAppReport.ChangedNumberTo=changed to[TBT] diff --git a/iped-app/resources/localization/iped-parsers-messages_fr_FR.properties b/iped-app/resources/localization/iped-parsers-messages_fr_FR.properties index 4679a7a421..22ada54296 100644 --- a/iped-app/resources/localization/iped-parsers-messages_fr_FR.properties +++ b/iped-app/resources/localization/iped-parsers-messages_fr_FR.properties @@ -307,6 +307,7 @@ WhatsAppReport.GroupChangedAllMembersCanEdit=a modifié les paramètres de ce gr WhatsAppReport.GroupChangedOnlyAdminsCanEdit=a modifié les paramètres de ce groupe pour permettre uniquement aux administrateurs d'effectuer des modifications. WhatsAppReport.GroupChangedAllMembersCanSend=a modifié les paramètres de ce groupe pour permettre à tous les participants d'envoyer des messages. WhatsAppReport.GroupChangedOnlyAdminsCanSend=a modifié les paramètres de ce groupe pour autoriser uniquement les administrateurs à envoyer des messages. +WhatsAppReport.GroupChangedAdminApprovalOff=turned off admin approval to join this group.[TBT] WhatsAppReport.GroupOnlyAdminsCanSend=Seuls les administrateurs peuvent envoyer des messages à ce groupe. WhatsAppReport.ChangedDevice=a changer d'appareil. WhatsAppReport.ChangedNumberTo=changé en diff --git a/iped-app/resources/localization/iped-parsers-messages_it_IT.properties b/iped-app/resources/localization/iped-parsers-messages_it_IT.properties index ebf06b39da..e5f3b50915 100644 --- a/iped-app/resources/localization/iped-parsers-messages_it_IT.properties +++ b/iped-app/resources/localization/iped-parsers-messages_it_IT.properties @@ -307,6 +307,7 @@ WhatsAppReport.GroupChangedAllMembersCanEdit=changed this group's settings to al WhatsAppReport.GroupChangedOnlyAdminsCanEdit=changed this group's settings to allow only admins to edit this group's info.[TBT] WhatsAppReport.GroupChangedAllMembersCanSend=changed this group's settings to allow all participants to send messages.[TBT] WhatsAppReport.GroupChangedOnlyAdminsCanSend=changed this group's settings to allow only admins to send messages.[TBT] +WhatsAppReport.GroupChangedAdminApprovalOff=turned off admin approval to join this group.[TBT] WhatsAppReport.GroupOnlyAdminsCanSend=Only admins can send messages to this group.[TBT] WhatsAppReport.ChangedDevice=changed device.[TBT] WhatsAppReport.ChangedNumberTo=changed to[TBT] diff --git a/iped-app/resources/localization/iped-parsers-messages_pt_BR.properties b/iped-app/resources/localization/iped-parsers-messages_pt_BR.properties index 74ab15ef64..5d48367201 100644 --- a/iped-app/resources/localization/iped-parsers-messages_pt_BR.properties +++ b/iped-app/resources/localization/iped-parsers-messages_pt_BR.properties @@ -307,6 +307,7 @@ WhatsAppReport.GroupChangedAllMembersCanEdit=mudou as configurações deste grup WhatsAppReport.GroupChangedOnlyAdminsCanEdit=mudou as configurações deste grupo para permitir que somente admins alterem os dados do grupo. WhatsAppReport.GroupChangedAllMembersCanSend=mudou as configurações deste grupo para permitir que todos os membros enviem mensagens. WhatsAppReport.GroupChangedOnlyAdminsCanSend=mudou as configurações deste grupo para permitir que somente admins enviem mensagens. +WhatsAppReport.GroupChangedAdminApprovalOff=desativou a autorização de admins para entrar neste grupo. WhatsAppReport.GroupOnlyAdminsCanSend=Somente admins podem enviar mensagens ao grupo. WhatsAppReport.ChangedDevice=mudou de dispositivo. WhatsAppReport.ChangedNumberTo=mudou para diff --git a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java index d68ec50622..514cd27c26 100644 --- a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java +++ b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java @@ -30,6 +30,7 @@ import static iped.parsers.whatsapp.Message.MessageType.GIF_MESSAGE; import static iped.parsers.whatsapp.Message.MessageType.GROUP_ADDED_TO_COMMUNITY; import static iped.parsers.whatsapp.Message.MessageType.CONTACTED_FIND_BUSINESSES; +import static iped.parsers.whatsapp.Message.MessageType.GROUP_CHANGED_ADMIN_APPROVAL_OFF; import static iped.parsers.whatsapp.Message.MessageType.GROUP_CHANGED_ALL_MEMBERS_CAN_EDIT; import static iped.parsers.whatsapp.Message.MessageType.GROUP_CHANGED_ALL_MEMBERS_CAN_SEND; import static iped.parsers.whatsapp.Message.MessageType.GROUP_CHANGED_ONLY_ADMINS_CAN_ADD; @@ -100,7 +101,6 @@ import java.sql.Statement; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -108,7 +108,6 @@ import iped.parsers.sqlite.SQLite3DBParser; import iped.parsers.whatsapp.Message.MessageStatus; -import iped.parsers.whatsapp.Message.MessageType; import iped.parsers.whatsapp.Message.MessageQuotedType; /** @@ -853,6 +852,9 @@ protected Message.MessageType decodeMessageType(int messageType, int status, Int case 84: result = NEW_PARTICIPANTS_NEED_ADMIN_APPROVAL; break; + case 85: + result = GROUP_CHANGED_ADMIN_APPROVAL_OFF; + break; case 87: case 88: case 95: @@ -905,7 +907,6 @@ protected Message.MessageType decodeMessageType(int messageType, int status, Int default: break; } - break; case 1: result = IMAGE_MESSAGE; diff --git a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/Message.java b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/Message.java index ec0463b581..356aa36c96 100644 --- a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/Message.java +++ b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/Message.java @@ -435,6 +435,7 @@ public boolean isSystemMessage() { case GROUP_CHANGED_ONLY_ADMINS_CAN_ADD: case GROUP_CHANGED_ONLY_ADMINS_CAN_EDIT: case GROUP_CHANGED_ONLY_ADMINS_CAN_SEND: + case GROUP_CHANGED_ADMIN_APPROVAL_OFF: case GROUP_CREATED: case COMMUNITY_DESCRIPTION_CHANGED: case GROUP_DESCRIPTION_CHANGED: @@ -446,6 +447,7 @@ public boolean isSystemMessage() { case GROUP_ONLY_ADMINS_CAN_SEND: case MESSAGES_ENCRYPTED: case MESSAGES_NOW_ENCRYPTED: + case NEW_PARTICIPANTS_NEED_ADMIN_APPROVAL: case ORDER_MESSAGE: case PINNED_MESSAGE: case SENDER_ADDED_TO_CONTACTS: @@ -679,7 +681,7 @@ public void setAddress(String address) { } public static enum MessageType { - TEXT_MESSAGE, IMAGE_MESSAGE, AUDIO_MESSAGE, VIDEO_MESSAGE, UNKNOWN_MEDIA_MESSAGE, CONTACT_MESSAGE, LOCATION_MESSAGE, SHARE_LOCATION_MESSAGE, VOICE_CALL, VIDEO_CALL, DOC_MESSAGE, GIF_MESSAGE, BLOCKED_CONTACT, UNBLOCKED_CONTACT, BUSINESS_CHAT, BUSINESS_TO_STANDARD, MESSAGES_ENCRYPTED, MESSAGES_NOW_ENCRYPTED, ENCRYPTION_KEY_CHANGED, MISSED_VOICE_CALL, MISSED_VIDEO_CALL, DELETED_MESSAGE, DELETED_BY_ADMIN, DELETED_BY_SENDER, GROUP_CREATED, USER_ADDED_TO_COMMUNITY, USER_ADDED_TO_GROUP, USER_JOINED_GROUP_FROM_COMMUNITY, USER_JOINED_GROUP_FROM_LINK, USER_JOINED_GROUP_FROM_INVITATION, USER_LEFT_GROUP, USER_REMOVED_FROM_GROUP, USER_COMMUNITY_ADMIN, URL_MESSAGE, GROUP_ICON_CHANGED, GROUP_ICON_DELETED, GROUP_DESCRIPTION_CHANGED, GROUP_DESCRIPTION_DELETED, SUBJECT_CHANGED, YOU_ADMIN, YOU_NOT_ADMIN, USER_ADMIN, WAITING_MESSAGE, STICKER_MESSAGE, REFUSED_VIDEO_CALL, REFUSED_VOICE_CALL, UNAVAILABLE_VIDEO_CALL, UNAVAILABLE_VOICE_CALL, UNKNOWN_VOICE_CALL, UNKNOWN_VIDEO_CALL, VIEW_ONCE_AUDIO_MESSAGE, VIEW_ONCE_IMAGE_MESSAGE, VIEW_ONCE_VIDEO_MESSAGE, CALL_MESSAGE, BUSINESS_META_SECURE_SERVICE, GROUP_INVITE, TEMPLATE_MESSAGE, TEMPLATE_QUOTE, POLL_MESSAGE, EPHEMERAL_DURATION_CHANGED, EPHEMERAL_SETTINGS_NOT_APPLIED, EPHEMERAL_CHANGED, EPHEMERAL_DEFAULT, EPHEMERAL_SAVE, GROUP_CHANGED_ONLY_ADMINS_CAN_ADD, GROUP_CHANGED_ONLY_ADMINS_CAN_SEND, GROUP_CHANGED_ALL_MEMBERS_CAN_SEND, GROUP_CHANGED_ONLY_ADMINS_CAN_EDIT, GROUP_CHANGED_ALL_MEMBERS_CAN_EDIT, GROUP_ONLY_ADMINS_CAN_SEND, CHANGED_DEVICE, CHANGED_NUMBER_TO, CHANGED_NUMBER_CHATTING_WITH_NEW, CHANGED_NUMBER_CHATTING_WITH_OLD, STANDARD_CHAT, SENDER_ADDED_TO_CONTACTS, SENDER_IN_CONTACTS, BUSINESS_OFFICIAL, GROUP_ADDED_TO_COMMUNITY, GROUP_REMOVED_FROM_COMMUNITY, COMMUNITY_MANAGEMENT_ACTION, COMMUNITY_WELCOME, UI_ELEMENTS, UI_ELEMENTS_QUOTE, CHAT_ADDED_PRIVACY, CHANNEL_ADDED_PRIVACY, CHANNEL_CREATED, ORDER_MESSAGE, PRODUCT_MESSAGE, BUSINESS_CHANGED_NAME, USER_JOINED_WHATSAPP, PINNED_MESSAGE, GROUP_NAME_CHANGED, AI_THIRD_PARTY, NEW_PARTICIPANTS_NEED_ADMIN_APPROVAL, RESET_GROUP_LINK, COMMUNITY_RENAMED, ANY_COMMUNITY_MEMBER_CAN_JOIN_GROUP, UNKNOWN_MESSAGE, OVER_256_MEMBERS_ONLY_ADMINS_CAN_EDIT, SECURITY_NOTIFICATIONS_NO_LONGER_AVAILABLE, CONTACTED_FIND_BUSINESSES, COMMUNITY_CHANGED_ONLY_ADMINS_CAN_ADD, COMMUNITY_CHANGED_ALL_MEMBERS_CAN_ADD, COMMUNITY_DESCRIPTION_CHANGED, COMMUNITY_NOT_AVAILABLE, GROUP_NOT_PART_OF_COMMUNITY + TEXT_MESSAGE, IMAGE_MESSAGE, AUDIO_MESSAGE, VIDEO_MESSAGE, UNKNOWN_MEDIA_MESSAGE, CONTACT_MESSAGE, LOCATION_MESSAGE, SHARE_LOCATION_MESSAGE, VOICE_CALL, VIDEO_CALL, DOC_MESSAGE, GIF_MESSAGE, BLOCKED_CONTACT, UNBLOCKED_CONTACT, BUSINESS_CHAT, BUSINESS_TO_STANDARD, MESSAGES_ENCRYPTED, MESSAGES_NOW_ENCRYPTED, ENCRYPTION_KEY_CHANGED, MISSED_VOICE_CALL, MISSED_VIDEO_CALL, DELETED_MESSAGE, DELETED_BY_ADMIN, DELETED_BY_SENDER, GROUP_CREATED, USER_ADDED_TO_COMMUNITY, USER_ADDED_TO_GROUP, USER_JOINED_GROUP_FROM_COMMUNITY, USER_JOINED_GROUP_FROM_LINK, USER_JOINED_GROUP_FROM_INVITATION, USER_LEFT_GROUP, USER_REMOVED_FROM_GROUP, USER_COMMUNITY_ADMIN, URL_MESSAGE, GROUP_ICON_CHANGED, GROUP_ICON_DELETED, GROUP_DESCRIPTION_CHANGED, GROUP_DESCRIPTION_DELETED, SUBJECT_CHANGED, YOU_ADMIN, YOU_NOT_ADMIN, USER_ADMIN, WAITING_MESSAGE, STICKER_MESSAGE, REFUSED_VIDEO_CALL, REFUSED_VOICE_CALL, UNAVAILABLE_VIDEO_CALL, UNAVAILABLE_VOICE_CALL, UNKNOWN_VOICE_CALL, UNKNOWN_VIDEO_CALL, VIEW_ONCE_AUDIO_MESSAGE, VIEW_ONCE_IMAGE_MESSAGE, VIEW_ONCE_VIDEO_MESSAGE, CALL_MESSAGE, BUSINESS_META_SECURE_SERVICE, GROUP_INVITE, TEMPLATE_MESSAGE, TEMPLATE_QUOTE, POLL_MESSAGE, EPHEMERAL_DURATION_CHANGED, EPHEMERAL_SETTINGS_NOT_APPLIED, EPHEMERAL_CHANGED, EPHEMERAL_DEFAULT, EPHEMERAL_SAVE, GROUP_CHANGED_ONLY_ADMINS_CAN_ADD, GROUP_CHANGED_ONLY_ADMINS_CAN_SEND, GROUP_CHANGED_ALL_MEMBERS_CAN_SEND, GROUP_CHANGED_ONLY_ADMINS_CAN_EDIT, GROUP_CHANGED_ALL_MEMBERS_CAN_EDIT, GROUP_ONLY_ADMINS_CAN_SEND, CHANGED_DEVICE, CHANGED_NUMBER_TO, CHANGED_NUMBER_CHATTING_WITH_NEW, CHANGED_NUMBER_CHATTING_WITH_OLD, STANDARD_CHAT, SENDER_ADDED_TO_CONTACTS, SENDER_IN_CONTACTS, BUSINESS_OFFICIAL, GROUP_ADDED_TO_COMMUNITY, GROUP_REMOVED_FROM_COMMUNITY, COMMUNITY_MANAGEMENT_ACTION, COMMUNITY_WELCOME, UI_ELEMENTS, UI_ELEMENTS_QUOTE, CHAT_ADDED_PRIVACY, CHANNEL_ADDED_PRIVACY, CHANNEL_CREATED, ORDER_MESSAGE, PRODUCT_MESSAGE, BUSINESS_CHANGED_NAME, USER_JOINED_WHATSAPP, PINNED_MESSAGE, GROUP_NAME_CHANGED, AI_THIRD_PARTY, NEW_PARTICIPANTS_NEED_ADMIN_APPROVAL, RESET_GROUP_LINK, COMMUNITY_RENAMED, ANY_COMMUNITY_MEMBER_CAN_JOIN_GROUP, UNKNOWN_MESSAGE, OVER_256_MEMBERS_ONLY_ADMINS_CAN_EDIT, SECURITY_NOTIFICATIONS_NO_LONGER_AVAILABLE, CONTACTED_FIND_BUSINESSES, COMMUNITY_CHANGED_ONLY_ADMINS_CAN_ADD, COMMUNITY_CHANGED_ALL_MEMBERS_CAN_ADD, COMMUNITY_DESCRIPTION_CHANGED, COMMUNITY_NOT_AVAILABLE, GROUP_NOT_PART_OF_COMMUNITY, GROUP_CHANGED_ADMIN_APPROVAL_OFF } public static enum MessageStatus { diff --git a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ReportGenerator.java b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ReportGenerator.java index 528bf61f48..8a2f58fe26 100644 --- a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ReportGenerator.java +++ b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ReportGenerator.java @@ -672,6 +672,11 @@ private synchronized void printMessage(PrintWriter out, Message message, boolean out.println("
"); out.println(Messages.getString("WhatsAppReport.ContactedFindBusinesses", name) + "
"); break; + case GROUP_CHANGED_ADMIN_APPROVAL_OFF: + out.println("
"); + out.print(name + " "); + out.println(Messages.getString("WhatsAppReport.GroupChangedAdminApprovalOff") + "
"); + break; case USER_ADMIN: out.println("
"); out.print(name + " "); From 77ea3e304e53df0fdc5fcde31891b5391344399a Mon Sep 17 00:00:00 2001 From: tc-wleite Date: Tue, 7 Jan 2025 15:16:25 -0300 Subject: [PATCH 4/9] '#2400: Handle system message type 91 (all members can add others). --- .../resources/localization/iped-parsers-messages.properties | 3 ++- .../localization/iped-parsers-messages_de_DE.properties | 3 ++- .../localization/iped-parsers-messages_es_AR.properties | 3 ++- .../localization/iped-parsers-messages_fr_FR.properties | 1 + .../localization/iped-parsers-messages_it_IT.properties | 3 ++- .../localization/iped-parsers-messages_pt_BR.properties | 1 + .../main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java | 4 ++++ .../src/main/java/iped/parsers/whatsapp/Message.java | 3 ++- .../src/main/java/iped/parsers/whatsapp/ReportGenerator.java | 4 ++++ 9 files changed, 20 insertions(+), 5 deletions(-) diff --git a/iped-app/resources/localization/iped-parsers-messages.properties b/iped-app/resources/localization/iped-parsers-messages.properties index 509803beb7..12a7c99d01 100644 --- a/iped-app/resources/localization/iped-parsers-messages.properties +++ b/iped-app/resources/localization/iped-parsers-messages.properties @@ -302,7 +302,8 @@ WhatsAppReport.Days=days WhatsAppReport.Hours=hours WhatsAppReport.CommunityChangedOnlyAdminsCanAdd=Only community admins can add groups. WhatsAppReport.CommunityChangedAllMembersCanAdd=Now all community members can add groups. -WhatsAppReport.GroupChangedOnlyAdminsCanAdd=changed this group's settings to allow only admins to add other users to this group. +WhatsAppReport.GroupChangedAllMembersCanAdd=changed this group's settings to allow all members to add others to this group. +WhatsAppReport.GroupChangedOnlyAdminsCanAdd=changed this group's settings to allow only admins to add others to this group. WhatsAppReport.GroupChangedAllMembersCanEdit=changed this group's settings to allow all participants to edit this group's info. WhatsAppReport.GroupChangedOnlyAdminsCanEdit=changed this group's settings to allow only admins to edit this group's info. WhatsAppReport.GroupChangedAllMembersCanSend=changed this group's settings to allow all participants to send messages. diff --git a/iped-app/resources/localization/iped-parsers-messages_de_DE.properties b/iped-app/resources/localization/iped-parsers-messages_de_DE.properties index a5af407543..1566d9f75a 100644 --- a/iped-app/resources/localization/iped-parsers-messages_de_DE.properties +++ b/iped-app/resources/localization/iped-parsers-messages_de_DE.properties @@ -302,7 +302,8 @@ WhatsAppReport.Hours=hours[TBT] WhatsAppReport.Days=days[TBT] WhatsAppReport.CommunityChangedOnlyAdminsCanAdd=Only community admins can add groups.[TBT] WhatsAppReport.CommunityChangedAllMembersCanAdd=Now all community members can add groups.[TBT] -WhatsAppReport.GroupChangedOnlyAdminsCanAdd=changed this group's settings to allow only admins to add other users to this group.[TBT] +WhatsAppReport.GroupChangedAllMembersCanAdd=changed this group's settings to allow all members to add others to this group.[TBT] +WhatsAppReport.GroupChangedOnlyAdminsCanAdd=changed this group's settings to allow only admins to add others to this group.[TBT] WhatsAppReport.GroupChangedAllMembersCanEdit=changed this group's settings to allow all participants to edit this group's info.[TBT] WhatsAppReport.GroupChangedOnlyAdminsCanEdit=changed this group's settings to allow only admins to edit this group's info.[TBT] WhatsAppReport.GroupChangedAllMembersCanSend=changed this group's settings to allow all participants to send messages.[TBT] diff --git a/iped-app/resources/localization/iped-parsers-messages_es_AR.properties b/iped-app/resources/localization/iped-parsers-messages_es_AR.properties index efd426f3dd..01c615e9a4 100644 --- a/iped-app/resources/localization/iped-parsers-messages_es_AR.properties +++ b/iped-app/resources/localization/iped-parsers-messages_es_AR.properties @@ -302,7 +302,8 @@ WhatsAppReport.Hours=hours[TBT] WhatsAppReport.Days=days[TBT] WhatsAppReport.CommunityChangedOnlyAdminsCanAdd=Only community admins can add groups.[TBT] WhatsAppReport.CommunityChangedAllMembersCanAdd=Now all community members can add groups.[TBT] -WhatsAppReport.GroupChangedOnlyAdminsCanAdd=changed this group's settings to allow only admins to add other users to this group.[TBT] +WhatsAppReport.GroupChangedAllMembersCanAdd=changed this group's settings to allow all members to add others to this group.[TBT] +WhatsAppReport.GroupChangedOnlyAdminsCanAdd=changed this group's settings to allow only admins to add others to this group.[TBT] WhatsAppReport.GroupChangedAllMembersCanEdit=changed this group's settings to allow all participants to edit this group's info.[TBT] WhatsAppReport.GroupChangedOnlyAdminsCanEdit=changed this group's settings to allow only admins to edit this group's info.[TBT] WhatsAppReport.GroupChangedAllMembersCanSend=changed this group's settings to allow all participants to send messages.[TBT] diff --git a/iped-app/resources/localization/iped-parsers-messages_fr_FR.properties b/iped-app/resources/localization/iped-parsers-messages_fr_FR.properties index 22ada54296..d65c635f21 100644 --- a/iped-app/resources/localization/iped-parsers-messages_fr_FR.properties +++ b/iped-app/resources/localization/iped-parsers-messages_fr_FR.properties @@ -302,6 +302,7 @@ WhatsAppReport.Days=jours WhatsAppReport.Hours=heures WhatsAppReport.CommunityChangedOnlyAdminsCanAdd=Only community admins can add groups.[TBT] WhatsAppReport.CommunityChangedAllMembersCanAdd=Now all community members can add groups.[TBT] +WhatsAppReport.GroupChangedAllMembersCanAdd=changed this group's settings to allow all members to add others to this group.[TBT] WhatsAppReport.GroupChangedOnlyAdminsCanAdd=a modifié les paramètres de ce groupe pour permettre uniquement aux administrateurs d'ajouter d'autres utilisateurs. WhatsAppReport.GroupChangedAllMembersCanEdit=a modifié les paramètres de ce groupe pour permettre à tous les participants d'en modifier les informations. WhatsAppReport.GroupChangedOnlyAdminsCanEdit=a modifié les paramètres de ce groupe pour permettre uniquement aux administrateurs d'effectuer des modifications. diff --git a/iped-app/resources/localization/iped-parsers-messages_it_IT.properties b/iped-app/resources/localization/iped-parsers-messages_it_IT.properties index e5f3b50915..b1dd540bf2 100644 --- a/iped-app/resources/localization/iped-parsers-messages_it_IT.properties +++ b/iped-app/resources/localization/iped-parsers-messages_it_IT.properties @@ -302,7 +302,8 @@ WhatsAppReport.Hours=hours[TBT] WhatsAppReport.Days=days[TBT] WhatsAppReport.CommunityChangedOnlyAdminsCanAdd=Only community admins can add groups.[TBT] WhatsAppReport.CommunityChangedAllMembersCanAdd=Now all community members can add groups.[TBT] -WhatsAppReport.GroupChangedOnlyAdminsCanAdd=changed this group's settings to allow only admins to add other users to this group.[TBT] +WhatsAppReport.GroupChangedAllMembersCanAdd=changed this group's settings to allow all members to add others to this group.[TBT] +WhatsAppReport.GroupChangedOnlyAdminsCanAdd=changed this group's settings to allow only admins to add others to this group.[TBT] WhatsAppReport.GroupChangedAllMembersCanEdit=changed this group's settings to allow all participants to edit this group's info.[TBT] WhatsAppReport.GroupChangedOnlyAdminsCanEdit=changed this group's settings to allow only admins to edit this group's info.[TBT] WhatsAppReport.GroupChangedAllMembersCanSend=changed this group's settings to allow all participants to send messages.[TBT] diff --git a/iped-app/resources/localization/iped-parsers-messages_pt_BR.properties b/iped-app/resources/localization/iped-parsers-messages_pt_BR.properties index 5d48367201..55795a4043 100644 --- a/iped-app/resources/localization/iped-parsers-messages_pt_BR.properties +++ b/iped-app/resources/localization/iped-parsers-messages_pt_BR.properties @@ -302,6 +302,7 @@ WhatsAppReport.Hours=horas WhatsAppReport.Days=dias WhatsAppReport.CommunityChangedOnlyAdminsCanAdd=Somente admins da comunidade podem adicionar grupos. WhatsAppReport.CommunityChangedAllMembersCanAdd=Agora todos na comunidade podem adicionar grupos. +WhatsAppReport.GroupChangedAllMembersCanAdd=mudou as configurações deste grupo para permitir que todos os membros adicionem outras pessoas ao grupo. WhatsAppReport.GroupChangedOnlyAdminsCanAdd=mudou as configurações deste grupo para permitir que somente admins adicionem outras pessoas ao grupo. WhatsAppReport.GroupChangedAllMembersCanEdit=mudou as configurações deste grupo para permitir que todos os membros alterem os dados do grupo. WhatsAppReport.GroupChangedOnlyAdminsCanEdit=mudou as configurações deste grupo para permitir que somente admins alterem os dados do grupo. diff --git a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java index 514cd27c26..60dcce1748 100644 --- a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java +++ b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java @@ -31,6 +31,7 @@ import static iped.parsers.whatsapp.Message.MessageType.GROUP_ADDED_TO_COMMUNITY; import static iped.parsers.whatsapp.Message.MessageType.CONTACTED_FIND_BUSINESSES; import static iped.parsers.whatsapp.Message.MessageType.GROUP_CHANGED_ADMIN_APPROVAL_OFF; +import static iped.parsers.whatsapp.Message.MessageType.GROUP_CHANGED_ALL_MEMBERS_CAN_ADD; import static iped.parsers.whatsapp.Message.MessageType.GROUP_CHANGED_ALL_MEMBERS_CAN_EDIT; import static iped.parsers.whatsapp.Message.MessageType.GROUP_CHANGED_ALL_MEMBERS_CAN_SEND; import static iped.parsers.whatsapp.Message.MessageType.GROUP_CHANGED_ONLY_ADMINS_CAN_ADD; @@ -865,6 +866,9 @@ protected Message.MessageType decodeMessageType(int messageType, int status, Int case 90: result = USER_ADDED_TO_COMMUNITY; break; + case 91: + result = GROUP_CHANGED_ALL_MEMBERS_CAN_ADD; + break; case 92: result = GROUP_CHANGED_ONLY_ADMINS_CAN_ADD; break; diff --git a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/Message.java b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/Message.java index 356aa36c96..2b9057fa78 100644 --- a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/Message.java +++ b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/Message.java @@ -430,6 +430,7 @@ public boolean isSystemMessage() { case GROUP_ADDED_TO_COMMUNITY: case COMMUNITY_CHANGED_ONLY_ADMINS_CAN_ADD: case COMMUNITY_CHANGED_ALL_MEMBERS_CAN_ADD: + case GROUP_CHANGED_ALL_MEMBERS_CAN_ADD: case GROUP_CHANGED_ALL_MEMBERS_CAN_EDIT: case GROUP_CHANGED_ALL_MEMBERS_CAN_SEND: case GROUP_CHANGED_ONLY_ADMINS_CAN_ADD: @@ -681,7 +682,7 @@ public void setAddress(String address) { } public static enum MessageType { - TEXT_MESSAGE, IMAGE_MESSAGE, AUDIO_MESSAGE, VIDEO_MESSAGE, UNKNOWN_MEDIA_MESSAGE, CONTACT_MESSAGE, LOCATION_MESSAGE, SHARE_LOCATION_MESSAGE, VOICE_CALL, VIDEO_CALL, DOC_MESSAGE, GIF_MESSAGE, BLOCKED_CONTACT, UNBLOCKED_CONTACT, BUSINESS_CHAT, BUSINESS_TO_STANDARD, MESSAGES_ENCRYPTED, MESSAGES_NOW_ENCRYPTED, ENCRYPTION_KEY_CHANGED, MISSED_VOICE_CALL, MISSED_VIDEO_CALL, DELETED_MESSAGE, DELETED_BY_ADMIN, DELETED_BY_SENDER, GROUP_CREATED, USER_ADDED_TO_COMMUNITY, USER_ADDED_TO_GROUP, USER_JOINED_GROUP_FROM_COMMUNITY, USER_JOINED_GROUP_FROM_LINK, USER_JOINED_GROUP_FROM_INVITATION, USER_LEFT_GROUP, USER_REMOVED_FROM_GROUP, USER_COMMUNITY_ADMIN, URL_MESSAGE, GROUP_ICON_CHANGED, GROUP_ICON_DELETED, GROUP_DESCRIPTION_CHANGED, GROUP_DESCRIPTION_DELETED, SUBJECT_CHANGED, YOU_ADMIN, YOU_NOT_ADMIN, USER_ADMIN, WAITING_MESSAGE, STICKER_MESSAGE, REFUSED_VIDEO_CALL, REFUSED_VOICE_CALL, UNAVAILABLE_VIDEO_CALL, UNAVAILABLE_VOICE_CALL, UNKNOWN_VOICE_CALL, UNKNOWN_VIDEO_CALL, VIEW_ONCE_AUDIO_MESSAGE, VIEW_ONCE_IMAGE_MESSAGE, VIEW_ONCE_VIDEO_MESSAGE, CALL_MESSAGE, BUSINESS_META_SECURE_SERVICE, GROUP_INVITE, TEMPLATE_MESSAGE, TEMPLATE_QUOTE, POLL_MESSAGE, EPHEMERAL_DURATION_CHANGED, EPHEMERAL_SETTINGS_NOT_APPLIED, EPHEMERAL_CHANGED, EPHEMERAL_DEFAULT, EPHEMERAL_SAVE, GROUP_CHANGED_ONLY_ADMINS_CAN_ADD, GROUP_CHANGED_ONLY_ADMINS_CAN_SEND, GROUP_CHANGED_ALL_MEMBERS_CAN_SEND, GROUP_CHANGED_ONLY_ADMINS_CAN_EDIT, GROUP_CHANGED_ALL_MEMBERS_CAN_EDIT, GROUP_ONLY_ADMINS_CAN_SEND, CHANGED_DEVICE, CHANGED_NUMBER_TO, CHANGED_NUMBER_CHATTING_WITH_NEW, CHANGED_NUMBER_CHATTING_WITH_OLD, STANDARD_CHAT, SENDER_ADDED_TO_CONTACTS, SENDER_IN_CONTACTS, BUSINESS_OFFICIAL, GROUP_ADDED_TO_COMMUNITY, GROUP_REMOVED_FROM_COMMUNITY, COMMUNITY_MANAGEMENT_ACTION, COMMUNITY_WELCOME, UI_ELEMENTS, UI_ELEMENTS_QUOTE, CHAT_ADDED_PRIVACY, CHANNEL_ADDED_PRIVACY, CHANNEL_CREATED, ORDER_MESSAGE, PRODUCT_MESSAGE, BUSINESS_CHANGED_NAME, USER_JOINED_WHATSAPP, PINNED_MESSAGE, GROUP_NAME_CHANGED, AI_THIRD_PARTY, NEW_PARTICIPANTS_NEED_ADMIN_APPROVAL, RESET_GROUP_LINK, COMMUNITY_RENAMED, ANY_COMMUNITY_MEMBER_CAN_JOIN_GROUP, UNKNOWN_MESSAGE, OVER_256_MEMBERS_ONLY_ADMINS_CAN_EDIT, SECURITY_NOTIFICATIONS_NO_LONGER_AVAILABLE, CONTACTED_FIND_BUSINESSES, COMMUNITY_CHANGED_ONLY_ADMINS_CAN_ADD, COMMUNITY_CHANGED_ALL_MEMBERS_CAN_ADD, COMMUNITY_DESCRIPTION_CHANGED, COMMUNITY_NOT_AVAILABLE, GROUP_NOT_PART_OF_COMMUNITY, GROUP_CHANGED_ADMIN_APPROVAL_OFF + TEXT_MESSAGE, IMAGE_MESSAGE, AUDIO_MESSAGE, VIDEO_MESSAGE, UNKNOWN_MEDIA_MESSAGE, CONTACT_MESSAGE, LOCATION_MESSAGE, SHARE_LOCATION_MESSAGE, VOICE_CALL, VIDEO_CALL, DOC_MESSAGE, GIF_MESSAGE, BLOCKED_CONTACT, UNBLOCKED_CONTACT, BUSINESS_CHAT, BUSINESS_TO_STANDARD, MESSAGES_ENCRYPTED, MESSAGES_NOW_ENCRYPTED, ENCRYPTION_KEY_CHANGED, MISSED_VOICE_CALL, MISSED_VIDEO_CALL, DELETED_MESSAGE, DELETED_BY_ADMIN, DELETED_BY_SENDER, GROUP_CREATED, USER_ADDED_TO_COMMUNITY, USER_ADDED_TO_GROUP, USER_JOINED_GROUP_FROM_COMMUNITY, USER_JOINED_GROUP_FROM_LINK, USER_JOINED_GROUP_FROM_INVITATION, USER_LEFT_GROUP, USER_REMOVED_FROM_GROUP, USER_COMMUNITY_ADMIN, URL_MESSAGE, GROUP_ICON_CHANGED, GROUP_ICON_DELETED, GROUP_DESCRIPTION_CHANGED, GROUP_DESCRIPTION_DELETED, SUBJECT_CHANGED, YOU_ADMIN, YOU_NOT_ADMIN, USER_ADMIN, WAITING_MESSAGE, STICKER_MESSAGE, REFUSED_VIDEO_CALL, REFUSED_VOICE_CALL, UNAVAILABLE_VIDEO_CALL, UNAVAILABLE_VOICE_CALL, UNKNOWN_VOICE_CALL, UNKNOWN_VIDEO_CALL, VIEW_ONCE_AUDIO_MESSAGE, VIEW_ONCE_IMAGE_MESSAGE, VIEW_ONCE_VIDEO_MESSAGE, CALL_MESSAGE, BUSINESS_META_SECURE_SERVICE, GROUP_INVITE, TEMPLATE_MESSAGE, TEMPLATE_QUOTE, POLL_MESSAGE, EPHEMERAL_DURATION_CHANGED, EPHEMERAL_SETTINGS_NOT_APPLIED, EPHEMERAL_CHANGED, EPHEMERAL_DEFAULT, EPHEMERAL_SAVE, GROUP_CHANGED_ONLY_ADMINS_CAN_ADD, GROUP_CHANGED_ONLY_ADMINS_CAN_SEND, GROUP_CHANGED_ALL_MEMBERS_CAN_SEND, GROUP_CHANGED_ONLY_ADMINS_CAN_EDIT, GROUP_CHANGED_ALL_MEMBERS_CAN_EDIT, GROUP_ONLY_ADMINS_CAN_SEND, CHANGED_DEVICE, CHANGED_NUMBER_TO, CHANGED_NUMBER_CHATTING_WITH_NEW, CHANGED_NUMBER_CHATTING_WITH_OLD, STANDARD_CHAT, SENDER_ADDED_TO_CONTACTS, SENDER_IN_CONTACTS, BUSINESS_OFFICIAL, GROUP_ADDED_TO_COMMUNITY, GROUP_REMOVED_FROM_COMMUNITY, COMMUNITY_MANAGEMENT_ACTION, COMMUNITY_WELCOME, UI_ELEMENTS, UI_ELEMENTS_QUOTE, CHAT_ADDED_PRIVACY, CHANNEL_ADDED_PRIVACY, CHANNEL_CREATED, ORDER_MESSAGE, PRODUCT_MESSAGE, BUSINESS_CHANGED_NAME, USER_JOINED_WHATSAPP, PINNED_MESSAGE, GROUP_NAME_CHANGED, AI_THIRD_PARTY, NEW_PARTICIPANTS_NEED_ADMIN_APPROVAL, RESET_GROUP_LINK, COMMUNITY_RENAMED, ANY_COMMUNITY_MEMBER_CAN_JOIN_GROUP, UNKNOWN_MESSAGE, OVER_256_MEMBERS_ONLY_ADMINS_CAN_EDIT, SECURITY_NOTIFICATIONS_NO_LONGER_AVAILABLE, CONTACTED_FIND_BUSINESSES, COMMUNITY_CHANGED_ONLY_ADMINS_CAN_ADD, COMMUNITY_CHANGED_ALL_MEMBERS_CAN_ADD, COMMUNITY_DESCRIPTION_CHANGED, COMMUNITY_NOT_AVAILABLE, GROUP_NOT_PART_OF_COMMUNITY, GROUP_CHANGED_ADMIN_APPROVAL_OFF, GROUP_CHANGED_ALL_MEMBERS_CAN_ADD } public static enum MessageStatus { diff --git a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ReportGenerator.java b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ReportGenerator.java index 8a2f58fe26..57cc47c7cf 100644 --- a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ReportGenerator.java +++ b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ReportGenerator.java @@ -682,6 +682,10 @@ private synchronized void printMessage(PrintWriter out, Message message, boolean out.print(name + " "); out.println(Messages.getString("WhatsAppReport.UserAdmin") + "
"); break; + case GROUP_CHANGED_ALL_MEMBERS_CAN_ADD: + out.println("
"); + out.println(name + " " + Messages.getString("WhatsAppReport.GroupChangedAllMembersCanAdd") + "
"); + break; case GROUP_CHANGED_ONLY_ADMINS_CAN_ADD: out.println("
"); out.println(name + " " + Messages.getString("WhatsAppReport.GroupChangedOnlyAdminsCanAdd") + "
"); From a9fe73d9638d24520624afd1f4be3e7a7899cc32 Mon Sep 17 00:00:00 2001 From: tc-wleite Date: Tue, 7 Jan 2025 15:59:14 -0300 Subject: [PATCH 5/9] '#2400: Handle system message type 120 (request to add user to group). --- .../localization/iped-parsers-messages.properties | 1 + .../iped-parsers-messages_de_DE.properties | 1 + .../iped-parsers-messages_es_AR.properties | 1 + .../iped-parsers-messages_fr_FR.properties | 1 + .../iped-parsers-messages_it_IT.properties | 1 + .../iped-parsers-messages_pt_BR.properties | 1 + .../iped/parsers/whatsapp/ExtractorAndroidNew.java | 8 +++++++- .../main/java/iped/parsers/whatsapp/Message.java | 3 ++- .../java/iped/parsers/whatsapp/ReportGenerator.java | 13 +++++++++++-- 9 files changed, 26 insertions(+), 4 deletions(-) diff --git a/iped-app/resources/localization/iped-parsers-messages.properties b/iped-app/resources/localization/iped-parsers-messages.properties index 12a7c99d01..e83b2b3555 100644 --- a/iped-app/resources/localization/iped-parsers-messages.properties +++ b/iped-app/resources/localization/iped-parsers-messages.properties @@ -235,6 +235,7 @@ WhatsAppReport.UnknownVideoCall=Unknown type of video call WhatsAppReport.GroupCreated=Group created by WhatsAppReport.UserAddedToCommunity=added user to community WhatsAppReport.UserAddedToGroup=added user to group +WhatsAppReport.UserRequestToAddToGroup=requested to add WhatsAppReport.UserCommunityAdmin=set user as community admin WhatsAppReport.CommunityAdmin=is now community admin WhatsAppReport.UserLeftGroup=User left group diff --git a/iped-app/resources/localization/iped-parsers-messages_de_DE.properties b/iped-app/resources/localization/iped-parsers-messages_de_DE.properties index 1566d9f75a..af4cec0928 100644 --- a/iped-app/resources/localization/iped-parsers-messages_de_DE.properties +++ b/iped-app/resources/localization/iped-parsers-messages_de_DE.properties @@ -235,6 +235,7 @@ WhatsAppReport.UnknownVideoCall=Videoanruf unbekannten Typs WhatsAppReport.GroupCreated=Gruppe erstellt von WhatsAppReport.UserAddedToCommunity=added user to community[TBT] WhatsAppReport.UserAddedToGroup=added user to group[TBT] +WhatsAppReport.UserRequestToAddToGroup=requested to add[TBT] WhatsAppReport.UserCommunityAdmin=is now community admin[TBT] WhatsAppReport.CommunityAdmin=is now community admin[TBT] WhatsAppReport.UserLeftGroup=Benutzer hat Gruppe verlassen diff --git a/iped-app/resources/localization/iped-parsers-messages_es_AR.properties b/iped-app/resources/localization/iped-parsers-messages_es_AR.properties index 01c615e9a4..b14e253de0 100644 --- a/iped-app/resources/localization/iped-parsers-messages_es_AR.properties +++ b/iped-app/resources/localization/iped-parsers-messages_es_AR.properties @@ -235,6 +235,7 @@ WhatsAppReport.UnknownVideoCall=Videollamada de tipo desconocida WhatsAppReport.GroupCreated=Grupo creado por WhatsAppReport.UserAddedToCommunity=added user to community[TBT] WhatsAppReport.UserAddedToGroup=added user to group[TBT] +WhatsAppReport.UserRequestToAddToGroup=requested to add[TBT] WhatsAppReport.UserCommunityAdmin=is now community admin[TBT] WhatsAppReport.CommunityAdmin=is now community admin[TBT] WhatsAppReport.UserLeftGroup=El usuario dejó el grupo diff --git a/iped-app/resources/localization/iped-parsers-messages_fr_FR.properties b/iped-app/resources/localization/iped-parsers-messages_fr_FR.properties index d65c635f21..ad93457691 100644 --- a/iped-app/resources/localization/iped-parsers-messages_fr_FR.properties +++ b/iped-app/resources/localization/iped-parsers-messages_fr_FR.properties @@ -235,6 +235,7 @@ WhatsAppReport.UnknownVideoCall=Type d'appel vidéo inconnu WhatsAppReport.GroupCreated=Groupe créé par WhatsAppReport.UserAddedToCommunity=Utilisateur ajouté à la communauté WhatsAppReport.UserAddedToGroup=Utilisateur ajouté au groupe +WhatsAppReport.UserRequestToAddToGroup=requested to add[TBT] WhatsAppReport.UserCommunityAdmin=Définir l'utilisateur en tant qu'administrateur WhatsAppReport.CommunityAdmin=est à présent administrateur WhatsAppReport.UserLeftGroup=Utilisateur ayant quitté le groupe :\ diff --git a/iped-app/resources/localization/iped-parsers-messages_it_IT.properties b/iped-app/resources/localization/iped-parsers-messages_it_IT.properties index b1dd540bf2..68c7cedc44 100644 --- a/iped-app/resources/localization/iped-parsers-messages_it_IT.properties +++ b/iped-app/resources/localization/iped-parsers-messages_it_IT.properties @@ -235,6 +235,7 @@ WhatsAppReport.UnknownVideoCall=Tipo di videochiamata sconosciuto WhatsAppReport.GroupCreated=Gruppo creato da WhatsAppReport.UserAddedToCommunity=added user to community[TBT] WhatsAppReport.UserAddedToGroup=added user to group[TBT] +WhatsAppReport.UserRequestToAddToGroup=requested to add[TBT] WhatsAppReport.UserCommunityAdmin=is now community admin[TBT] WhatsAppReport.CommunityAdmin=is now community admin[TBT] WhatsAppReport.UserLeftGroup=Utente ha lasciato il gruppo diff --git a/iped-app/resources/localization/iped-parsers-messages_pt_BR.properties b/iped-app/resources/localization/iped-parsers-messages_pt_BR.properties index 55795a4043..36adf87ba2 100644 --- a/iped-app/resources/localization/iped-parsers-messages_pt_BR.properties +++ b/iped-app/resources/localization/iped-parsers-messages_pt_BR.properties @@ -235,6 +235,7 @@ WhatsAppReport.UnknownVideoCall=Chamada de vídeo de tipo desconhecido WhatsAppReport.GroupCreated=Grupo criado por WhatsAppReport.UserAddedToCommunity=adicionou usuário à comunidade WhatsAppReport.UserAddedToGroup=adicionou usuário ao grupo +WhatsAppReport.UserRequestToAddToGroup=dejesa adicionar WhatsAppReport.UserCommunityAdmin=tornou usuário admin da comunidade WhatsAppReport.CommunityAdmin=agora é admin da comunidade WhatsAppReport.UserLeftGroup=Usuário saiu do grupo diff --git a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java index 60dcce1748..b500f84318 100644 --- a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java +++ b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java @@ -82,6 +82,7 @@ import static iped.parsers.whatsapp.Message.MessageType.USER_JOINED_WHATSAPP; import static iped.parsers.whatsapp.Message.MessageType.USER_LEFT_GROUP; import static iped.parsers.whatsapp.Message.MessageType.USER_REMOVED_FROM_GROUP; +import static iped.parsers.whatsapp.Message.MessageType.USER_REQUEST_TO_ADD_TO_GROUP; import static iped.parsers.whatsapp.Message.MessageType.VIDEO_CALL; import static iped.parsers.whatsapp.Message.MessageType.VIDEO_MESSAGE; import static iped.parsers.whatsapp.Message.MessageType.VIEW_ONCE_AUDIO_MESSAGE; @@ -495,7 +496,9 @@ private void extractMessages(Connection conn, Map idToChat) throws S } if (hasSystemChat - && (m.getMessageType() == USER_ADDED_TO_COMMUNITY || m.getMessageType() == USER_ADDED_TO_GROUP + && (m.getMessageType() == USER_ADDED_TO_COMMUNITY + || m.getMessageType() == USER_ADDED_TO_GROUP + || m.getMessageType() == USER_REQUEST_TO_ADD_TO_GROUP || m.getMessageType() == USER_COMMUNITY_ADMIN || m.getMessageType() == USER_REMOVED_FROM_GROUP || m.getMessageType() == USER_JOINED_GROUP_FROM_COMMUNITY @@ -884,6 +887,9 @@ protected Message.MessageType decodeMessageType(int messageType, int status, Int case 118: result = PINNED_MESSAGE; break; + case 120: + result = USER_REQUEST_TO_ADD_TO_GROUP; + break; case 121: case 123: case 124: diff --git a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/Message.java b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/Message.java index 2b9057fa78..f92708276c 100644 --- a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/Message.java +++ b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/Message.java @@ -462,6 +462,7 @@ public boolean isSystemMessage() { case USER_JOINED_WHATSAPP: case USER_LEFT_GROUP: case USER_REMOVED_FROM_GROUP: + case USER_REQUEST_TO_ADD_TO_GROUP: case YOU_ADMIN: case YOU_NOT_ADMIN: case OVER_256_MEMBERS_ONLY_ADMINS_CAN_EDIT: @@ -682,7 +683,7 @@ public void setAddress(String address) { } public static enum MessageType { - TEXT_MESSAGE, IMAGE_MESSAGE, AUDIO_MESSAGE, VIDEO_MESSAGE, UNKNOWN_MEDIA_MESSAGE, CONTACT_MESSAGE, LOCATION_MESSAGE, SHARE_LOCATION_MESSAGE, VOICE_CALL, VIDEO_CALL, DOC_MESSAGE, GIF_MESSAGE, BLOCKED_CONTACT, UNBLOCKED_CONTACT, BUSINESS_CHAT, BUSINESS_TO_STANDARD, MESSAGES_ENCRYPTED, MESSAGES_NOW_ENCRYPTED, ENCRYPTION_KEY_CHANGED, MISSED_VOICE_CALL, MISSED_VIDEO_CALL, DELETED_MESSAGE, DELETED_BY_ADMIN, DELETED_BY_SENDER, GROUP_CREATED, USER_ADDED_TO_COMMUNITY, USER_ADDED_TO_GROUP, USER_JOINED_GROUP_FROM_COMMUNITY, USER_JOINED_GROUP_FROM_LINK, USER_JOINED_GROUP_FROM_INVITATION, USER_LEFT_GROUP, USER_REMOVED_FROM_GROUP, USER_COMMUNITY_ADMIN, URL_MESSAGE, GROUP_ICON_CHANGED, GROUP_ICON_DELETED, GROUP_DESCRIPTION_CHANGED, GROUP_DESCRIPTION_DELETED, SUBJECT_CHANGED, YOU_ADMIN, YOU_NOT_ADMIN, USER_ADMIN, WAITING_MESSAGE, STICKER_MESSAGE, REFUSED_VIDEO_CALL, REFUSED_VOICE_CALL, UNAVAILABLE_VIDEO_CALL, UNAVAILABLE_VOICE_CALL, UNKNOWN_VOICE_CALL, UNKNOWN_VIDEO_CALL, VIEW_ONCE_AUDIO_MESSAGE, VIEW_ONCE_IMAGE_MESSAGE, VIEW_ONCE_VIDEO_MESSAGE, CALL_MESSAGE, BUSINESS_META_SECURE_SERVICE, GROUP_INVITE, TEMPLATE_MESSAGE, TEMPLATE_QUOTE, POLL_MESSAGE, EPHEMERAL_DURATION_CHANGED, EPHEMERAL_SETTINGS_NOT_APPLIED, EPHEMERAL_CHANGED, EPHEMERAL_DEFAULT, EPHEMERAL_SAVE, GROUP_CHANGED_ONLY_ADMINS_CAN_ADD, GROUP_CHANGED_ONLY_ADMINS_CAN_SEND, GROUP_CHANGED_ALL_MEMBERS_CAN_SEND, GROUP_CHANGED_ONLY_ADMINS_CAN_EDIT, GROUP_CHANGED_ALL_MEMBERS_CAN_EDIT, GROUP_ONLY_ADMINS_CAN_SEND, CHANGED_DEVICE, CHANGED_NUMBER_TO, CHANGED_NUMBER_CHATTING_WITH_NEW, CHANGED_NUMBER_CHATTING_WITH_OLD, STANDARD_CHAT, SENDER_ADDED_TO_CONTACTS, SENDER_IN_CONTACTS, BUSINESS_OFFICIAL, GROUP_ADDED_TO_COMMUNITY, GROUP_REMOVED_FROM_COMMUNITY, COMMUNITY_MANAGEMENT_ACTION, COMMUNITY_WELCOME, UI_ELEMENTS, UI_ELEMENTS_QUOTE, CHAT_ADDED_PRIVACY, CHANNEL_ADDED_PRIVACY, CHANNEL_CREATED, ORDER_MESSAGE, PRODUCT_MESSAGE, BUSINESS_CHANGED_NAME, USER_JOINED_WHATSAPP, PINNED_MESSAGE, GROUP_NAME_CHANGED, AI_THIRD_PARTY, NEW_PARTICIPANTS_NEED_ADMIN_APPROVAL, RESET_GROUP_LINK, COMMUNITY_RENAMED, ANY_COMMUNITY_MEMBER_CAN_JOIN_GROUP, UNKNOWN_MESSAGE, OVER_256_MEMBERS_ONLY_ADMINS_CAN_EDIT, SECURITY_NOTIFICATIONS_NO_LONGER_AVAILABLE, CONTACTED_FIND_BUSINESSES, COMMUNITY_CHANGED_ONLY_ADMINS_CAN_ADD, COMMUNITY_CHANGED_ALL_MEMBERS_CAN_ADD, COMMUNITY_DESCRIPTION_CHANGED, COMMUNITY_NOT_AVAILABLE, GROUP_NOT_PART_OF_COMMUNITY, GROUP_CHANGED_ADMIN_APPROVAL_OFF, GROUP_CHANGED_ALL_MEMBERS_CAN_ADD + TEXT_MESSAGE, IMAGE_MESSAGE, AUDIO_MESSAGE, VIDEO_MESSAGE, UNKNOWN_MEDIA_MESSAGE, CONTACT_MESSAGE, LOCATION_MESSAGE, SHARE_LOCATION_MESSAGE, VOICE_CALL, VIDEO_CALL, DOC_MESSAGE, GIF_MESSAGE, BLOCKED_CONTACT, UNBLOCKED_CONTACT, BUSINESS_CHAT, BUSINESS_TO_STANDARD, MESSAGES_ENCRYPTED, MESSAGES_NOW_ENCRYPTED, ENCRYPTION_KEY_CHANGED, MISSED_VOICE_CALL, MISSED_VIDEO_CALL, DELETED_MESSAGE, DELETED_BY_ADMIN, DELETED_BY_SENDER, GROUP_CREATED, USER_ADDED_TO_COMMUNITY, USER_ADDED_TO_GROUP, USER_JOINED_GROUP_FROM_COMMUNITY, USER_JOINED_GROUP_FROM_LINK, USER_JOINED_GROUP_FROM_INVITATION, USER_LEFT_GROUP, USER_REMOVED_FROM_GROUP, USER_COMMUNITY_ADMIN, URL_MESSAGE, GROUP_ICON_CHANGED, GROUP_ICON_DELETED, GROUP_DESCRIPTION_CHANGED, GROUP_DESCRIPTION_DELETED, SUBJECT_CHANGED, YOU_ADMIN, YOU_NOT_ADMIN, USER_ADMIN, WAITING_MESSAGE, STICKER_MESSAGE, REFUSED_VIDEO_CALL, REFUSED_VOICE_CALL, UNAVAILABLE_VIDEO_CALL, UNAVAILABLE_VOICE_CALL, UNKNOWN_VOICE_CALL, UNKNOWN_VIDEO_CALL, VIEW_ONCE_AUDIO_MESSAGE, VIEW_ONCE_IMAGE_MESSAGE, VIEW_ONCE_VIDEO_MESSAGE, CALL_MESSAGE, BUSINESS_META_SECURE_SERVICE, GROUP_INVITE, TEMPLATE_MESSAGE, TEMPLATE_QUOTE, POLL_MESSAGE, EPHEMERAL_DURATION_CHANGED, EPHEMERAL_SETTINGS_NOT_APPLIED, EPHEMERAL_CHANGED, EPHEMERAL_DEFAULT, EPHEMERAL_SAVE, GROUP_CHANGED_ONLY_ADMINS_CAN_ADD, GROUP_CHANGED_ONLY_ADMINS_CAN_SEND, GROUP_CHANGED_ALL_MEMBERS_CAN_SEND, GROUP_CHANGED_ONLY_ADMINS_CAN_EDIT, GROUP_CHANGED_ALL_MEMBERS_CAN_EDIT, GROUP_ONLY_ADMINS_CAN_SEND, CHANGED_DEVICE, CHANGED_NUMBER_TO, CHANGED_NUMBER_CHATTING_WITH_NEW, CHANGED_NUMBER_CHATTING_WITH_OLD, STANDARD_CHAT, SENDER_ADDED_TO_CONTACTS, SENDER_IN_CONTACTS, BUSINESS_OFFICIAL, GROUP_ADDED_TO_COMMUNITY, GROUP_REMOVED_FROM_COMMUNITY, COMMUNITY_MANAGEMENT_ACTION, COMMUNITY_WELCOME, UI_ELEMENTS, UI_ELEMENTS_QUOTE, CHAT_ADDED_PRIVACY, CHANNEL_ADDED_PRIVACY, CHANNEL_CREATED, ORDER_MESSAGE, PRODUCT_MESSAGE, BUSINESS_CHANGED_NAME, USER_JOINED_WHATSAPP, PINNED_MESSAGE, GROUP_NAME_CHANGED, AI_THIRD_PARTY, NEW_PARTICIPANTS_NEED_ADMIN_APPROVAL, RESET_GROUP_LINK, COMMUNITY_RENAMED, ANY_COMMUNITY_MEMBER_CAN_JOIN_GROUP, UNKNOWN_MESSAGE, OVER_256_MEMBERS_ONLY_ADMINS_CAN_EDIT, SECURITY_NOTIFICATIONS_NO_LONGER_AVAILABLE, CONTACTED_FIND_BUSINESSES, COMMUNITY_CHANGED_ONLY_ADMINS_CAN_ADD, COMMUNITY_CHANGED_ALL_MEMBERS_CAN_ADD, COMMUNITY_DESCRIPTION_CHANGED, COMMUNITY_NOT_AVAILABLE, GROUP_NOT_PART_OF_COMMUNITY, GROUP_CHANGED_ADMIN_APPROVAL_OFF, GROUP_CHANGED_ALL_MEMBERS_CAN_ADD, USER_REQUEST_TO_ADD_TO_GROUP } public static enum MessageStatus { diff --git a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ReportGenerator.java b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ReportGenerator.java index 57cc47c7cf..4c25951d5d 100644 --- a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ReportGenerator.java +++ b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ReportGenerator.java @@ -565,6 +565,7 @@ private synchronized void printMessage(PrintWriter out, Message message, boolean case USER_JOINED_GROUP_FROM_COMMUNITY: case USER_JOINED_GROUP_FROM_INVITATION: case USER_JOINED_GROUP_FROM_LINK: + case USER_REQUEST_TO_ADD_TO_GROUP: case USER_REMOVED_FROM_GROUP: List users = message.getUsersAction(); out.println("
"); @@ -604,11 +605,19 @@ private synchronized void printMessage(PrintWriter out, Message message, boolean out.print(Messages.getString("WhatsAppReport.UserAddedToGroup")); } else if (message.getMessageType() == MessageType.USER_COMMUNITY_ADMIN) { out.print(Messages.getString("WhatsAppReport.UserCommunityAdmin")); + } else if (message.getMessageType() == MessageType.USER_REQUEST_TO_ADD_TO_GROUP) { + out.print(Messages.getString("WhatsAppReport.UserRequestToAddToGroup")); } + boolean first = true; for (int i = 0; i < users.size(); i++) { - out.print(i == 0 ? ": " : ", "); String user = users.get(i); - out.print(getBestContactName(user == null || user.isBlank(), user, contactsDirectory, account)); + String contactName = getBestContactName(user == null || user.isBlank(), user, contactsDirectory, + account); + if (!name.equals(contactName)) { + out.print(first ? ": " : ", "); + out.print(contactName); + first = false; + } } } out.print(".
"); From f1e9d4c667f98d81ad20ee9117863119595fede4 Mon Sep 17 00:00:00 2001 From: tc-wleite Date: Tue, 7 Jan 2025 16:03:00 -0300 Subject: [PATCH 6/9] '#2400: Handle system message type 158 (chat started from ad). --- .../resources/localization/iped-parsers-messages.properties | 1 + .../localization/iped-parsers-messages_de_DE.properties | 1 + .../localization/iped-parsers-messages_es_AR.properties | 1 + .../localization/iped-parsers-messages_fr_FR.properties | 1 + .../localization/iped-parsers-messages_it_IT.properties | 1 + .../localization/iped-parsers-messages_pt_BR.properties | 1 + .../main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java | 4 ++++ .../src/main/java/iped/parsers/whatsapp/Message.java | 3 ++- .../src/main/java/iped/parsers/whatsapp/ReportGenerator.java | 4 ++++ 9 files changed, 16 insertions(+), 1 deletion(-) diff --git a/iped-app/resources/localization/iped-parsers-messages.properties b/iped-app/resources/localization/iped-parsers-messages.properties index e83b2b3555..6f5fbb61b0 100644 --- a/iped-app/resources/localization/iped-parsers-messages.properties +++ b/iped-app/resources/localization/iped-parsers-messages.properties @@ -339,6 +339,7 @@ WhatsAppReport.EditedOn=Edited on WhatsAppReport.UserJoinedWhatsApp=joined WhatsApp WhatsAppReport.PinnedMessage=pinned a message WhatsAppReport.AIThirdParty=This AI is from a third-party developer. Meta receives your AI chats to improve AI quality. +WhatsAppReport.ChatStartedFromAd=This chat started from an ad on Facebook or Instagram. WhatsAppReport.Over256MembersOnlyAdminsCanEdit=This group has over 256 members so now only admins can edit the groups settings. WhatsAppReport.SecurityNotificationsNoLongerAvailable=Security code notifications are no longer available for this chat. UFEDChatParser.Broadcast=Broadcast diff --git a/iped-app/resources/localization/iped-parsers-messages_de_DE.properties b/iped-app/resources/localization/iped-parsers-messages_de_DE.properties index af4cec0928..ff6b1d19b6 100644 --- a/iped-app/resources/localization/iped-parsers-messages_de_DE.properties +++ b/iped-app/resources/localization/iped-parsers-messages_de_DE.properties @@ -339,6 +339,7 @@ WhatsAppReport.EditedOn=Edited on[TBT] WhatsAppReport.UserJoinedWhatsApp=joined WhatsApp[TBT] WhatsAppReport.PinnedMessage=pinned a message[TBT] WhatsAppReport.AIThirdParty=This AI is from a third-party developer. Meta receives your AI chats to improve AI quality.[TBT] +WhatsAppReport.ChatStartedFromAd=This chat started from an ad on Facebook or Instagram.[TBT] WhatsAppReport.Over256MembersOnlyAdminsCanEdit=Diese Gruppe hat mehr als 256 Mitglieder. Daher können jetzt nur noch Admins die Gruppeneinstellungen bearbeiten. WhatsAppReport.SecurityNotificationsNoLongerAvailable=Benachrichtigungen zur Sicherheitsnummer sind für diesen Chat nicht länger verfügbar. UFEDChatParser.Broadcast=Broadcast[TBT] diff --git a/iped-app/resources/localization/iped-parsers-messages_es_AR.properties b/iped-app/resources/localization/iped-parsers-messages_es_AR.properties index b14e253de0..7f84bf7d19 100644 --- a/iped-app/resources/localization/iped-parsers-messages_es_AR.properties +++ b/iped-app/resources/localization/iped-parsers-messages_es_AR.properties @@ -339,6 +339,7 @@ WhatsAppReport.EditedOn=Edited on[TBT] WhatsAppReport.UserJoinedWhatsApp=joined WhatsApp[TBT] WhatsAppReport.PinnedMessage=pinned a message[TBT] WhatsAppReport.AIThirdParty=This AI is from a third-party developer. Meta receives your AI chats to improve AI quality.[TBT] +WhatsAppReport.ChatStartedFromAd=This chat started from an ad on Facebook or Instagram.[TBT] WhatsAppReport.Over256MembersOnlyAdminsCanEdit=This group has over 256 members so now only admins can edit the groups settings.[TBT] WhatsAppReport.SecurityNotificationsNoLongerAvailable=Security code notifications are no longer available for this chat.[TBT] UFEDChatParser.Broadcast=Broadcast[TBT] diff --git a/iped-app/resources/localization/iped-parsers-messages_fr_FR.properties b/iped-app/resources/localization/iped-parsers-messages_fr_FR.properties index ad93457691..5c375e0783 100644 --- a/iped-app/resources/localization/iped-parsers-messages_fr_FR.properties +++ b/iped-app/resources/localization/iped-parsers-messages_fr_FR.properties @@ -339,6 +339,7 @@ WhatsAppReport.EditedOn=Modifié en WhatsAppReport.UserJoinedWhatsApp=a rejoint WhatsApp WhatsAppReport.PinnedMessage=a epinglé un message WhatsAppReport.AIThirdParty=Cette IA provient d'un développeur tiers. Meta reçoit vos discussions IA pour améliorer la qualité de l'IA. +WhatsAppReport.ChatStartedFromAd=This chat started from an ad on Facebook or Instagram.[TBT] WhatsAppReport.Over256MembersOnlyAdminsCanEdit=Comme ce groupe inclut plus de 256 membres, désormais, seulement les admins peuvent modifier les paramètres du groupe. WhatsAppReport.SecurityNotificationsNoLongerAvailable=Les notifications relatives aux codes de sécurité ne sont plus disponibles pour cette discoussion. UFEDChatParser.Broadcast=Broadcast[TBT] diff --git a/iped-app/resources/localization/iped-parsers-messages_it_IT.properties b/iped-app/resources/localization/iped-parsers-messages_it_IT.properties index 68c7cedc44..f639ac1389 100644 --- a/iped-app/resources/localization/iped-parsers-messages_it_IT.properties +++ b/iped-app/resources/localization/iped-parsers-messages_it_IT.properties @@ -339,6 +339,7 @@ WhatsAppReport.EditedOn=Edited on[TBT] WhatsAppReport.UserJoinedWhatsApp=joined WhatsApp[TBT] WhatsAppReport.PinnedMessage=pinned a message[TBT] WhatsAppReport.AIThirdParty=This AI is from a third-party developer. Meta receives your AI chats to improve AI quality.[TBT] +WhatsAppReport.ChatStartedFromAd=This chat started from an ad on Facebook or Instagram.[TBT] WhatsAppReport.Over256MembersOnlyAdminsCanEdit=Dato che questo gruppo ha più di 256 membri, solo gli amministratori potranno modificarne le impostazioni. WhatsAppReport.SecurityNotificationsNoLongerAvailable=Le notifiche sul codice di sicurezza non sono più disponibili per questa chat. UFEDChatParser.Broadcast=Broadcast[TBT] diff --git a/iped-app/resources/localization/iped-parsers-messages_pt_BR.properties b/iped-app/resources/localization/iped-parsers-messages_pt_BR.properties index 36adf87ba2..142537620a 100644 --- a/iped-app/resources/localization/iped-parsers-messages_pt_BR.properties +++ b/iped-app/resources/localization/iped-parsers-messages_pt_BR.properties @@ -339,6 +339,7 @@ WhatsAppReport.EditedOn=Editada em WhatsAppReport.UserJoinedWhatsApp=entrou no WhatsApp WhatsAppReport.PinnedMessage=fixou uma mensagem WhatsAppReport.AIThirdParty=Esta IA pertence a um desenvolvedor terceirizado. A Meta recebe suas conversas com IA para melhorar a qualidade desse recurso. +WhatsAppReport.ChatStartedFromAd=Conversa iniciada em um anúncio do Facebook ou Instagram. WhatsAppReport.Over256MembersOnlyAdminsCanEdit=Agora somente admins podem editar as configurações porque o grupo tem mais de 256 membros. WhatsAppReport.SecurityNotificationsNoLongerAvailable=As notificações sobre o código de segurança não estão mais disponíveis para esta conversa. UFEDChatParser.Broadcast=Broadcast diff --git a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java index b500f84318..a0207d3bd3 100644 --- a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java +++ b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java @@ -13,6 +13,7 @@ import static iped.parsers.whatsapp.Message.MessageType.CHANNEL_ADDED_PRIVACY; import static iped.parsers.whatsapp.Message.MessageType.CHANNEL_CREATED; import static iped.parsers.whatsapp.Message.MessageType.CHAT_ADDED_PRIVACY; +import static iped.parsers.whatsapp.Message.MessageType.CHAT_STARTED_FROM_AD; import static iped.parsers.whatsapp.Message.MessageType.COMMUNITY_MANAGEMENT_ACTION; import static iped.parsers.whatsapp.Message.MessageType.COMMUNITY_RENAMED; import static iped.parsers.whatsapp.Message.MessageType.COMMUNITY_WELCOME; @@ -914,6 +915,9 @@ protected Message.MessageType decodeMessageType(int messageType, int status, Int case 155: result = AI_THIRD_PARTY; break; + case 158: + result = CHAT_STARTED_FROM_AD; + break; default: break; } diff --git a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/Message.java b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/Message.java index f92708276c..25eaf8643f 100644 --- a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/Message.java +++ b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/Message.java @@ -418,6 +418,7 @@ public boolean isSystemMessage() { case CHANGED_NUMBER_TO: case CHANNEL_ADDED_PRIVACY: case CHANNEL_CREATED: + case CHAT_STARTED_FROM_AD: case COMMUNITY_MANAGEMENT_ACTION: case DELETED_BY_ADMIN: case DELETED_BY_SENDER: @@ -683,7 +684,7 @@ public void setAddress(String address) { } public static enum MessageType { - TEXT_MESSAGE, IMAGE_MESSAGE, AUDIO_MESSAGE, VIDEO_MESSAGE, UNKNOWN_MEDIA_MESSAGE, CONTACT_MESSAGE, LOCATION_MESSAGE, SHARE_LOCATION_MESSAGE, VOICE_CALL, VIDEO_CALL, DOC_MESSAGE, GIF_MESSAGE, BLOCKED_CONTACT, UNBLOCKED_CONTACT, BUSINESS_CHAT, BUSINESS_TO_STANDARD, MESSAGES_ENCRYPTED, MESSAGES_NOW_ENCRYPTED, ENCRYPTION_KEY_CHANGED, MISSED_VOICE_CALL, MISSED_VIDEO_CALL, DELETED_MESSAGE, DELETED_BY_ADMIN, DELETED_BY_SENDER, GROUP_CREATED, USER_ADDED_TO_COMMUNITY, USER_ADDED_TO_GROUP, USER_JOINED_GROUP_FROM_COMMUNITY, USER_JOINED_GROUP_FROM_LINK, USER_JOINED_GROUP_FROM_INVITATION, USER_LEFT_GROUP, USER_REMOVED_FROM_GROUP, USER_COMMUNITY_ADMIN, URL_MESSAGE, GROUP_ICON_CHANGED, GROUP_ICON_DELETED, GROUP_DESCRIPTION_CHANGED, GROUP_DESCRIPTION_DELETED, SUBJECT_CHANGED, YOU_ADMIN, YOU_NOT_ADMIN, USER_ADMIN, WAITING_MESSAGE, STICKER_MESSAGE, REFUSED_VIDEO_CALL, REFUSED_VOICE_CALL, UNAVAILABLE_VIDEO_CALL, UNAVAILABLE_VOICE_CALL, UNKNOWN_VOICE_CALL, UNKNOWN_VIDEO_CALL, VIEW_ONCE_AUDIO_MESSAGE, VIEW_ONCE_IMAGE_MESSAGE, VIEW_ONCE_VIDEO_MESSAGE, CALL_MESSAGE, BUSINESS_META_SECURE_SERVICE, GROUP_INVITE, TEMPLATE_MESSAGE, TEMPLATE_QUOTE, POLL_MESSAGE, EPHEMERAL_DURATION_CHANGED, EPHEMERAL_SETTINGS_NOT_APPLIED, EPHEMERAL_CHANGED, EPHEMERAL_DEFAULT, EPHEMERAL_SAVE, GROUP_CHANGED_ONLY_ADMINS_CAN_ADD, GROUP_CHANGED_ONLY_ADMINS_CAN_SEND, GROUP_CHANGED_ALL_MEMBERS_CAN_SEND, GROUP_CHANGED_ONLY_ADMINS_CAN_EDIT, GROUP_CHANGED_ALL_MEMBERS_CAN_EDIT, GROUP_ONLY_ADMINS_CAN_SEND, CHANGED_DEVICE, CHANGED_NUMBER_TO, CHANGED_NUMBER_CHATTING_WITH_NEW, CHANGED_NUMBER_CHATTING_WITH_OLD, STANDARD_CHAT, SENDER_ADDED_TO_CONTACTS, SENDER_IN_CONTACTS, BUSINESS_OFFICIAL, GROUP_ADDED_TO_COMMUNITY, GROUP_REMOVED_FROM_COMMUNITY, COMMUNITY_MANAGEMENT_ACTION, COMMUNITY_WELCOME, UI_ELEMENTS, UI_ELEMENTS_QUOTE, CHAT_ADDED_PRIVACY, CHANNEL_ADDED_PRIVACY, CHANNEL_CREATED, ORDER_MESSAGE, PRODUCT_MESSAGE, BUSINESS_CHANGED_NAME, USER_JOINED_WHATSAPP, PINNED_MESSAGE, GROUP_NAME_CHANGED, AI_THIRD_PARTY, NEW_PARTICIPANTS_NEED_ADMIN_APPROVAL, RESET_GROUP_LINK, COMMUNITY_RENAMED, ANY_COMMUNITY_MEMBER_CAN_JOIN_GROUP, UNKNOWN_MESSAGE, OVER_256_MEMBERS_ONLY_ADMINS_CAN_EDIT, SECURITY_NOTIFICATIONS_NO_LONGER_AVAILABLE, CONTACTED_FIND_BUSINESSES, COMMUNITY_CHANGED_ONLY_ADMINS_CAN_ADD, COMMUNITY_CHANGED_ALL_MEMBERS_CAN_ADD, COMMUNITY_DESCRIPTION_CHANGED, COMMUNITY_NOT_AVAILABLE, GROUP_NOT_PART_OF_COMMUNITY, GROUP_CHANGED_ADMIN_APPROVAL_OFF, GROUP_CHANGED_ALL_MEMBERS_CAN_ADD, USER_REQUEST_TO_ADD_TO_GROUP + TEXT_MESSAGE, IMAGE_MESSAGE, AUDIO_MESSAGE, VIDEO_MESSAGE, UNKNOWN_MEDIA_MESSAGE, CONTACT_MESSAGE, LOCATION_MESSAGE, SHARE_LOCATION_MESSAGE, VOICE_CALL, VIDEO_CALL, DOC_MESSAGE, GIF_MESSAGE, BLOCKED_CONTACT, UNBLOCKED_CONTACT, BUSINESS_CHAT, BUSINESS_TO_STANDARD, MESSAGES_ENCRYPTED, MESSAGES_NOW_ENCRYPTED, ENCRYPTION_KEY_CHANGED, MISSED_VOICE_CALL, MISSED_VIDEO_CALL, DELETED_MESSAGE, DELETED_BY_ADMIN, DELETED_BY_SENDER, GROUP_CREATED, USER_ADDED_TO_COMMUNITY, USER_ADDED_TO_GROUP, USER_JOINED_GROUP_FROM_COMMUNITY, USER_JOINED_GROUP_FROM_LINK, USER_JOINED_GROUP_FROM_INVITATION, USER_LEFT_GROUP, USER_REMOVED_FROM_GROUP, USER_COMMUNITY_ADMIN, URL_MESSAGE, GROUP_ICON_CHANGED, GROUP_ICON_DELETED, GROUP_DESCRIPTION_CHANGED, GROUP_DESCRIPTION_DELETED, SUBJECT_CHANGED, YOU_ADMIN, YOU_NOT_ADMIN, USER_ADMIN, WAITING_MESSAGE, STICKER_MESSAGE, REFUSED_VIDEO_CALL, REFUSED_VOICE_CALL, UNAVAILABLE_VIDEO_CALL, UNAVAILABLE_VOICE_CALL, UNKNOWN_VOICE_CALL, UNKNOWN_VIDEO_CALL, VIEW_ONCE_AUDIO_MESSAGE, VIEW_ONCE_IMAGE_MESSAGE, VIEW_ONCE_VIDEO_MESSAGE, CALL_MESSAGE, BUSINESS_META_SECURE_SERVICE, GROUP_INVITE, TEMPLATE_MESSAGE, TEMPLATE_QUOTE, POLL_MESSAGE, EPHEMERAL_DURATION_CHANGED, EPHEMERAL_SETTINGS_NOT_APPLIED, EPHEMERAL_CHANGED, EPHEMERAL_DEFAULT, EPHEMERAL_SAVE, GROUP_CHANGED_ONLY_ADMINS_CAN_ADD, GROUP_CHANGED_ONLY_ADMINS_CAN_SEND, GROUP_CHANGED_ALL_MEMBERS_CAN_SEND, GROUP_CHANGED_ONLY_ADMINS_CAN_EDIT, GROUP_CHANGED_ALL_MEMBERS_CAN_EDIT, GROUP_ONLY_ADMINS_CAN_SEND, CHANGED_DEVICE, CHANGED_NUMBER_TO, CHANGED_NUMBER_CHATTING_WITH_NEW, CHANGED_NUMBER_CHATTING_WITH_OLD, STANDARD_CHAT, SENDER_ADDED_TO_CONTACTS, SENDER_IN_CONTACTS, BUSINESS_OFFICIAL, GROUP_ADDED_TO_COMMUNITY, GROUP_REMOVED_FROM_COMMUNITY, COMMUNITY_MANAGEMENT_ACTION, COMMUNITY_WELCOME, UI_ELEMENTS, UI_ELEMENTS_QUOTE, CHAT_ADDED_PRIVACY, CHANNEL_ADDED_PRIVACY, CHANNEL_CREATED, ORDER_MESSAGE, PRODUCT_MESSAGE, BUSINESS_CHANGED_NAME, USER_JOINED_WHATSAPP, PINNED_MESSAGE, GROUP_NAME_CHANGED, AI_THIRD_PARTY, NEW_PARTICIPANTS_NEED_ADMIN_APPROVAL, RESET_GROUP_LINK, COMMUNITY_RENAMED, ANY_COMMUNITY_MEMBER_CAN_JOIN_GROUP, UNKNOWN_MESSAGE, OVER_256_MEMBERS_ONLY_ADMINS_CAN_EDIT, SECURITY_NOTIFICATIONS_NO_LONGER_AVAILABLE, CONTACTED_FIND_BUSINESSES, COMMUNITY_CHANGED_ONLY_ADMINS_CAN_ADD, COMMUNITY_CHANGED_ALL_MEMBERS_CAN_ADD, COMMUNITY_DESCRIPTION_CHANGED, COMMUNITY_NOT_AVAILABLE, GROUP_NOT_PART_OF_COMMUNITY, GROUP_CHANGED_ADMIN_APPROVAL_OFF, GROUP_CHANGED_ALL_MEMBERS_CAN_ADD, USER_REQUEST_TO_ADD_TO_GROUP, CHAT_STARTED_FROM_AD } public static enum MessageStatus { diff --git a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ReportGenerator.java b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ReportGenerator.java index 4c25951d5d..e2f08ed62d 100644 --- a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ReportGenerator.java +++ b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ReportGenerator.java @@ -281,6 +281,10 @@ private synchronized void printMessage(PrintWriter out, Message message, boolean out.println("
"); out.println(Messages.getString("WhatsAppReport.AIThirdParty")); break; + case CHAT_STARTED_FROM_AD: + out.println("
"); + out.println(Messages.getString("WhatsAppReport.ChatStartedFromAd")); + break; case ENCRYPTION_KEY_CHANGED: out.println("
"); out.print(lockedIcon); From 44bace6009c69d85b67bcd25f1fc285118abec86 Mon Sep 17 00:00:00 2001 From: tc-wleite Date: Tue, 7 Jan 2025 17:29:54 -0300 Subject: [PATCH 7/9] '#2400: Fix a typo in a just added localized message. --- .../localization/iped-parsers-messages_pt_BR.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iped-app/resources/localization/iped-parsers-messages_pt_BR.properties b/iped-app/resources/localization/iped-parsers-messages_pt_BR.properties index 142537620a..a4c178e573 100644 --- a/iped-app/resources/localization/iped-parsers-messages_pt_BR.properties +++ b/iped-app/resources/localization/iped-parsers-messages_pt_BR.properties @@ -235,7 +235,7 @@ WhatsAppReport.UnknownVideoCall=Chamada de vídeo de tipo desconhecido WhatsAppReport.GroupCreated=Grupo criado por WhatsAppReport.UserAddedToCommunity=adicionou usuário à comunidade WhatsAppReport.UserAddedToGroup=adicionou usuário ao grupo -WhatsAppReport.UserRequestToAddToGroup=dejesa adicionar +WhatsAppReport.UserRequestToAddToGroup=deseja adicionar WhatsAppReport.UserCommunityAdmin=tornou usuário admin da comunidade WhatsAppReport.CommunityAdmin=agora é admin da comunidade WhatsAppReport.UserLeftGroup=Usuário saiu do grupo From 6c11e369bce8c01babf12403f0f47ff84fe1c99e Mon Sep 17 00:00:00 2001 From: tc-wleite Date: Tue, 7 Jan 2025 17:33:27 -0300 Subject: [PATCH 8/9] '#2400: Fix "community welcome" action type (125 instead of 124). --- .../main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java index a0207d3bd3..45a3438792 100644 --- a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java +++ b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java @@ -893,7 +893,7 @@ protected Message.MessageType decodeMessageType(int messageType, int status, Int break; case 121: case 123: - case 124: + case 125: case 131: result = COMMUNITY_WELCOME; break; From 72d70ae45c3ab7c369e3c4306dea39093b709be4 Mon Sep 17 00:00:00 2001 From: tc-wleite Date: Tue, 7 Jan 2025 17:34:51 -0300 Subject: [PATCH 9/9] '#2400: Fix previous commit (action types should be 123,124,125,131). --- .../main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java index 45a3438792..381e0f9839 100644 --- a/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java +++ b/iped-parsers/iped-parsers-impl/src/main/java/iped/parsers/whatsapp/ExtractorAndroidNew.java @@ -891,8 +891,8 @@ protected Message.MessageType decodeMessageType(int messageType, int status, Int case 120: result = USER_REQUEST_TO_ADD_TO_GROUP; break; - case 121: case 123: + case 124: case 125: case 131: result = COMMUNITY_WELCOME;