Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix jump quoted edited messages on whatsapp, add new message types, fix quoted status, quoted private and quoted catalog messages #2246

Open
wants to merge 51 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
00c35b8
set property editId to save row id tha was edit
gfd2020 Jun 24, 2024
d9b5407
change sql and set logic
gfd2020 Jun 24, 2024
7598349
The id of the edited message may not be in the table, test it again
gfd2020 Jun 24, 2024
b9b69a4
add action type 63 and 142 message string
gfd2020 Jun 26, 2024
3566aa3
add action type 63 and 142
gfd2020 Jun 26, 2024
db5e808
add action type 63 and 142
gfd2020 Jun 26, 2024
a6c86f5
add action type 63 and 142
gfd2020 Jun 26, 2024
6f69a1b
message type 15 and status 13 is deleted message
gfd2020 Jun 26, 2024
c587394
add action type 63 and 142 message string
gfd2020 Jun 26, 2024
89294ee
action 69 has a subtype message on table message_system_business_state
gfd2020 Jun 26, 2024
1b8a85a
add new QuoteStatus
gfd2020 Jun 27, 2024
b247afa
implement quoted status messages
gfd2020 Jun 27, 2024
dfd1753
implement quoted status messages logic
gfd2020 Jun 27, 2024
a6bb06b
add messagequotetype for quoted messages
gfd2020 Jun 27, 2024
f06af9a
add statusIcon for quoted status messages, fix vertical-align on dele…
gfd2020 Jun 27, 2024
d034612
change flag to quoted type. Use messagequotetype instead of isDeleted
gfd2020 Jun 27, 2024
eacf715
add new messages for Quoted Status and Quoted Privately
gfd2020 Jun 28, 2024
60d2d0b
implement quoted status and quoted privately
gfd2020 Jun 28, 2024
152bc3d
add quoted types quoted status and quoted privately, add quotechatid …
gfd2020 Jun 28, 2024
44b90da
add showmessage function
gfd2020 Jun 28, 2024
09b7595
add privacy icons for quoted private messages, add class for blue font
gfd2020 Jun 28, 2024
e13c79f
render the new types of quoted messages, status, privacy and privacy …
gfd2020 Jun 28, 2024
d72031e
Merge branch 'sepinf-inc:master' into fix-jump-quote-edit-messages
gfd2020 Jul 1, 2024
c923947
set default quoted type to quote_not_found, add quote_catalog type
gfd2020 Jul 2, 2024
f990992
add catalog icon
gfd2020 Jul 2, 2024
de78599
add quote catalog info, add contacted find bysinesses action type 76
gfd2020 Jul 2, 2024
7c66840
add product _message from quoted catalog, add contacted_find_businesses
gfd2020 Jul 2, 2024
b23c1f3
add quoted catalog to iphone logic, set quoted type uuid is found, ad…
gfd2020 Jul 2, 2024
ff43521
add quoted catalog to android set quoted type if original id found, a…
gfd2020 Jul 2, 2024
3e10a0e
fix import
gfd2020 Jul 2, 2024
3e04379
Merge branch 'fix-jump-quote-edit-messages' of https://github.com/gfd…
gfd2020 Jul 2, 2024
6343806
add case CONTACTED_FIND_BUSINESSES to system message
gfd2020 Jul 2, 2024
44ac743
fix android old with new message quote type
gfd2020 Jul 3, 2024
d44a936
add group name parameter on message
gfd2020 Jul 5, 2024
2f952ba
add group name parameter on message
gfd2020 Jul 5, 2024
94db5ba
add variable args on getString method
gfd2020 Jul 5, 2024
ee09a91
Merge branch 'master' into pr-2246
lfcnassif Jul 27, 2024
8b5f7fd
change message to correct info about quote privacey
gfd2020 Jul 29, 2024
a71efdd
translate from whatsapp app
gfd2020 Jul 29, 2024
f6824da
Add message about group name even if the message id is not identified…
gfd2020 Jul 29, 2024
c8b7b77
Get the group name even if the message is not identified, search opti…
gfd2020 Jul 29, 2024
1649c2b
create new property to save quoted Private Group Name
gfd2020 Jul 29, 2024
8fe4ce4
save quoted private group name in reserverd property
gfd2020 Jul 29, 2024
f12e775
get quoted private group name from reserverd property
gfd2020 Jul 29, 2024
e59710b
save quoted private group name in reserverd property
gfd2020 Jul 29, 2024
21216e6
speed up search
gfd2020 Jul 29, 2024
0690179
set privateGroupName even if not found ( maybe the chat group was del…
gfd2020 Jul 29, 2024
a8e4973
fix chat owner for quote catalgo on iphone
gfd2020 Jul 29, 2024
54475e7
remove delete flag, fix quote private id in the groups, simplify logic
gfd2020 Jul 30, 2024
cfb13de
remove delete flag, simplify logic, adjust message owner
gfd2020 Jul 30, 2024
93e89d6
remove delete flag
gfd2020 Jul 30, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,12 @@ WhatsAppReport.FoundInPedoHashDB=Found in Child Porn Alert Hash Database
WhatsAppReport.Owner=Owner
WhatsAppReport.Recovered=Recovered
WhatsAppReport.QuoteNotFound=Quoted message not found
WhatsAppReport.QuoteStaus=Quoted Status
WhatsAppReport.QuotePrivacy=Message quoted privately through the group
WhatsAppReport.QuotePrivacyMessage=This quoted message was created in the group
WhatsAppReport.QuotePrivacyNotFound=Message quoted privately through the group not found
WhatsAppReport.QuoteCatalog=Quoted Catalog
WhatsAppReport.ContactedFindBusinesses=You contacted {0} from find businesses
WhatsAppReport.Document=Document
WhatsAppReport.Photo=Photo
WhatsAppReport.Audio=Audio
Expand Down Expand Up @@ -325,6 +331,8 @@ 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.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.
VCardParser.FormattedName=Formatted Name
VCardParser.Name=Name
VCardParser.Nickname=Nickname
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,12 @@ WhatsAppReport.FoundInPedoHashDB=gefunden in KiPo Hash Database
WhatsAppReport.Owner=Besitzer
WhatsAppReport.Recovered=Recovered[TBT]
WhatsAppReport.QuoteNotFound=Quoted message not found[TBT]
WhatsAppReport.QuoteStaus=Quoted Status[TBT]
WhatsAppReport.QuotePrivacy=Message quoted privately through the group[TBT]
WhatsAppReport.QuotePrivacyMessage=This quoted message was created in the group[TBT]
WhatsAppReport.QuotePrivacyNotFound=Message quoted privately through the group not found[TBT]
WhatsAppReport.QuoteCatalog=Quoted Catalog[TBT]
WhatsAppReport.ContactedFindBusinesses=You contacted {0} from find businesses[TBT]
WhatsAppReport.Document=Document[TBT]
WhatsAppReport.Photo=Photo[TBT]
WhatsAppReport.Audio=Audio[TBT]
Expand Down Expand Up @@ -325,6 +331,8 @@ 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.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.
VCardParser.FormattedName=Name formatiert
VCardParser.Name=Name
VCardParser.Nickname=Nickname
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,12 @@ WhatsAppReport.FoundInPedoHashDB=Encontrado en la base de datos Hash de Alerta d
WhatsAppReport.Owner=Propietario
WhatsAppReport.Recovered=Recovered[TBT]
WhatsAppReport.QuoteNotFound=Quoted message not found[TBT]
WhatsAppReport.QuoteStaus=Quoted Status[TBT]
WhatsAppReport.QuotePrivacy=Message quoted privately through the group[TBT]
WhatsAppReport.QuotePrivacyMessage=This quoted message was created in the group[TBT]
WhatsAppReport.QuotePrivacyNotFound=Message quoted privately through the group not found[TBT]
WhatsAppReport.QuoteCatalog=Quoted Catalog[TBT]
WhatsAppReport.ContactedFindBusinesses=You contacted {0} from find businesses[TBT]
WhatsAppReport.Document=Document[TBT]
WhatsAppReport.Photo=Photo[TBT]
WhatsAppReport.Audio=Audio[TBT]
Expand Down Expand Up @@ -325,6 +331,8 @@ 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.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]
VCardParser.FormattedName=Nombre con formato
VCardParser.Name=Nombre
VCardParser.Nickname=Sobrenombre
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,12 @@ WhatsAppReport.FoundInPedoHashDB=Contenu pédopornographique détecté via la ba
WhatsAppReport.Owner=Propriétaire
WhatsAppReport.Recovered=Récupéré
WhatsAppReport.QuoteNotFound=Message cité est introuvable
WhatsAppReport.QuoteStaus=Quoted Status[TBT]
WhatsAppReport.QuotePrivacy=Message quoted privately through the group[TBT]
WhatsAppReport.QuotePrivacyMessage=This quoted message was created in the group[TBT]
WhatsAppReport.QuotePrivacyNotFound=Message quoted privately through the group not found[TBT]
WhatsAppReport.QuoteCatalog=Quoted Catalog[TBT]
WhatsAppReport.ContactedFindBusinesses=You contacted {0} from find businesses[TBT]
WhatsAppReport.Document=Document
WhatsAppReport.Photo=Photo
WhatsAppReport.Audio=Audio
Expand Down Expand Up @@ -325,6 +331,8 @@ 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.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.
VCardParser.FormattedName=Nom formaté
VCardParser.Name=Nom
VCardParser.Nickname=Surnom
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,12 @@ WhatsAppReport.FoundInPedoHashDB=Trovato nel Database di materiale pedopornograf
WhatsAppReport.Owner=Proprietario
WhatsAppReport.Recovered=Recovered[TBT]
WhatsAppReport.QuoteNotFound=Quoted message not found[TBT]
WhatsAppReport.QuoteStaus=Quoted Status[TBT]
WhatsAppReport.QuotePrivacy=Message quoted privately through the group[TBT]
WhatsAppReport.QuotePrivacyMessage=This quoted message was created in the group[TBT]
WhatsAppReport.QuotePrivacyNotFound=Message quoted privately through the group not found[TBT]
WhatsAppReport.QuoteCatalog=Quoted Catalog[TBT]
WhatsAppReport.ContactedFindBusinesses=You contacted {0} from find businesses[TBT]
WhatsAppReport.Document=Document[TBT]
WhatsAppReport.Photo=Photo[TBT]
WhatsAppReport.Audio=Audio[TBT]
Expand Down Expand Up @@ -325,6 +331,8 @@ 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.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.
VCardParser.FormattedName=Nome formattato
VCardParser.Name=Nome
VCardParser.Nickname=Nickname
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,12 @@ WhatsAppReport.FoundInPedoHashDB=Encontrado em base de hashes de pornografia inf
WhatsAppReport.Owner=Proprietário
WhatsAppReport.Recovered=Recuperado
WhatsAppReport.QuoteNotFound=Mensagem citada não localizada
WhatsAppReport.QuoteStaus=Status citado
WhatsAppReport.QuotePrivacy=Mensagem citada em particular através de grupo
WhatsAppReport.QuotePrivacyMessage=Esta mensagem citada foi criada no grupo
WhatsAppReport.QuotePrivacyNotFound=Mensagem citada em particular através de grupo não encontrada
WhatsAppReport.QuoteCatalog=Catálogo citado
WhatsAppReport.ContactedFindBusinesses=Você entrou em contato com a empresa {0} usando o recurso de encontrar empresas
WhatsAppReport.Document=Documento
WhatsAppReport.Photo=Foto
WhatsAppReport.Audio=Áudio
Expand Down Expand Up @@ -325,6 +331,8 @@ 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.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.
VCardParser.FormattedName=Nome Formatado
VCardParser.Name=Nome
VCardParser.Nickname=Apelido
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import java.util.Locale;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
import java.text.MessageFormat;

public class Messages {

Expand All @@ -13,7 +14,7 @@ public class Messages {
private Messages() {
}

public static String getString(String key) {
public static String get(String key) {
if (RESOURCE_BUNDLE == null) {
String str = System.getProperty(iped.localization.Messages.LOCALE_SYS_PROP); // $NON-NLS-1$
Locale locale = str != null ? Locale.forLanguageTag(str) : Locale.getDefault();
Expand All @@ -27,4 +28,11 @@ public static String getString(String key) {
throw e;
}
}

public static String getString(String key, Object... args) {
String value = get(key);
if (args != null)
value = MessageFormat.format(value, args);
return value;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@
import iped.parsers.sqlite.SQLiteUndeleteTable;
import iped.parsers.sqlite.SQLiteUndeleteTableResultSetAdapter;
import iped.parsers.whatsapp.Message.MessageStatus;
import iped.parsers.whatsapp.Message.MessageQuotedType;

/**
*
Expand Down Expand Up @@ -436,9 +437,10 @@ private List<Message> extractMessages(Connection conn, WAContact remote, boolean
if (m != null){// Has quote
Message original = messagesMapUuid.get(mq.getUuid());//Try to find orginal message in messages
if (original != null){// has found original message reference, more complete
original.setMessageQuotedType(MessageQuotedType.QUOTE_FOUND);
m.setMessageQuote(original);
}else{// not found original message reference, get info from message_quotes table, less complete
mq.setDeleted(true);
mq.setMessageQuotedType(MessageQuotedType.QUOTE_NOT_FOUND);
mq.setId(fakeIds--);
m.setMessageQuote(mq);
}
Expand Down
Loading