Skip to content

WhatsApp parser may be missing table jid_map #676

@Phyambre

Description

@Phyambre

I input a WhatsApp extraction made with Avilla Forensics to ALEAPP and I got 0 results but I knew there were contacts, chats and messages in it. After I checked the msgstore.db and the wa.db, I found out there is a table that ALEAPP doesn't recognize (jid_map).

Please find the Avilla extraction here:
https://drive.google.com/file/d/1y1XO7lmQsWv_rvwVYEaClEF5mfZ7m4m-/view?usp=sharing
(Please download as I will remove it from the Google Drive soon).

I discovered that the values ​​in the "jid_row_id" column of the "chat" table (in my case 3 and 12) did NOT match the values ​​in the "_id" column of the "jid" table (in my case 4 and 11). So then I found the table "jid_map". That table mapped values ​​3 and 12 in the "lid_row_id" column to values ​​4 and 11 in the "jid_row_id" column. I searched a little bit and the AI says it associates the new users based on id (LID) and the old users based on phone number (JID).

In my case, these joins solved the query:
message m INNER JOIN chat c ON m.chat_row_id == c._id
INNER JOIN jid_map jm ON c.jid_row_id == jm.lid_row_id
INNER JOIN jid j ON jm.jid_row_id == j._id
INNER JOIN wa_contacts w ON j.raw_string == w.jid

The complete solution seems to be checking whether that table exists, and if so, adapt the joins according to the situation. I found it by checking the source code of Wa Immich Tagger (https://github.com/mac12m99/Wa_Immich_Tagger) and WhatsApp Chat Exporter (https://github.com/KnugiHK/WhatsApp-Chat-Exporter/).

Regards

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions