WhatsApp parser may be missing table jid_map
- 主要言語
- Python
- スター
- 908
- フォーク
- 244
- 平均マージ
- 10時間 18分
- マージ済み PR(30日)
- 288
説明
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
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
評価
この issue はまだ評価されていません。