mirror of
https://github.com/mvt-project/mvt.git
synced 2026-10-24 08:08:25 +02:00
Compare commits
base: CalvinBackup/mvt:feat/whatsapp-contacts-module
CalvinBackup/mvt:main
CalvinBackup/mvt:auto/add-new-ios-releases
CalvinBackup/mvt:feature/parallel-module-execution
CalvinBackup/mvt:feat/coruna-artifact-detection
CalvinBackup/mvt:fix_tombstone
CalvinBackup/mvt:feature/android-browser-history
CalvinBackup/mvt:feat/output-schemas
CalvinBackup/mvt:fix/update-ios-backup-decryption
CalvinBackup/mvt:docs/recommend-pymobiledevice3
CalvinBackup/mvt:feature/accessibility-enabled-logging
CalvinBackup/mvt:feature/androidqf-root-zip-931
CalvinBackup/mvt:fix/native-docker-runners
CalvinBackup/mvt:besendorf-patch-5
CalvinBackup/mvt:chore/update-iphone-backup-decrypt-0.10.0
CalvinBackup/mvt:feat/module-run-stats
CalvinBackup/mvt:fix/recover-truncated-sysdiagnose
CalvinBackup/mvt:fix/alert-timestamps
CalvinBackup/mvt:fix/ios-parser-field-coverage
CalvinBackup/mvt:fix/settings-env-persist
CalvinBackup/mvt:fix/coverage-logging
CalvinBackup/mvt:backup_extraction
CalvinBackup/mvt:feature/monthly-releases
CalvinBackup/mvt:fix/bugreport-parser-coverage
CalvinBackup/mvt:feature/fast-cli-startup
CalvinBackup/mvt:feature/cli-plugin-enhancements
CalvinBackup/mvt:feature/check-iocs-auto-modules
CalvinBackup/mvt:feature/module-replaces
CalvinBackup/mvt:feature/plugin-api
CalvinBackup/mvt:feature/check-iocs-module-lists
CalvinBackup/mvt:feature/plugin-verbose-logging
CalvinBackup/mvt:feature/plugin-updates
CalvinBackup/mvt:feature/mvt-cli
CalvinBackup/mvt:feature/plugin-cli-registration
CalvinBackup/mvt:feature/plugin-dependency-skip
CalvinBackup/mvt:feature/plugin-config
CalvinBackup/mvt:feature/plugin-cli-neutral-group
CalvinBackup/mvt:feat/bugreport-schema-v2
CalvinBackup/mvt:feature/installed-module-packages
CalvinBackup/mvt:feature/development-docs
CalvinBackup/mvt:feat/whatsapp-contacts-module
CalvinBackup/mvt:feature/build-arm64-docker-images
CalvinBackup/mvt:fix/docker-adb-generation
CalvinBackup/mvt:feature/document-ios-docker-usbmuxd
CalvinBackup/mvt:fix/parse-dumpsys-package-system-flag
CalvinBackup/mvt:fix/scope-package-user-fields
CalvinBackup/mvt:fix/parse-package-installer
CalvinBackup/mvt:feature/update-github-actions
CalvinBackup/mvt:fix/ios-data-dependencies
CalvinBackup/mvt:fix/preserve-tombstone-causes
CalvinBackup/mvt:feature/custom-cli-commands
CalvinBackup/mvt:feature/url-logging
CalvinBackup/mvt:feature/androidqf-adb-host-key-alerts
CalvinBackup/mvt:roaree-patch-2
CalvinBackup/mvt:roaree-patch-1
CalvinBackup/mvt:agent/add-sysdiagnose-command-scoping
CalvinBackup/mvt:feature/fix-module-audit-findings
CalvinBackup/mvt:fix/dumpsys-receivers-misindented-actions
CalvinBackup/mvt:feature/fix-text-tombstone-crashing-thread
CalvinBackup/mvt:feature/parallel-url-checks
CalvinBackup/mvt:feature/skip-google-maps-short-urls
CalvinBackup/mvt:feature/deduplicate-androidqf-sms
CalvinBackup/mvt:fix/receiver-app-id-matching
CalvinBackup/mvt:fix/shutdown-log-rotations
CalvinBackup/mvt:fix/pinstorage-key-generation-warning
CalvinBackup/mvt:fix-ios-check-backup-path
CalvinBackup/mvt:add-shell-completion-command
CalvinBackup/mvt:feature/custom-module-loading
CalvinBackup/mvt:fix-malformed-androidqf-backup
CalvinBackup/mvt:dependabot/uv/types-pyyaml-6.0.12.20260518
CalvinBackup/mvt:dependabot/uv/betterproto2-0.10.0
CalvinBackup/mvt:dependabot/uv/simplejson-4.1.1
CalvinBackup/mvt:dependabot/uv/types-requests-2.33.0.20260518
CalvinBackup/mvt:dependabot/uv/rich-15.0.0
CalvinBackup/mvt:fix/dumpsys-battery-daily-order
CalvinBackup/mvt:ci/run-mypy-on-pull-requests
CalvinBackup/mvt:feature/module-dependency-ordering
CalvinBackup/mvt:fix/intrusion-log-event-id
CalvinBackup/mvt:docs/network-access-options
CalvinBackup/mvt:fix/enforce-network-access-allowed
CalvinBackup/mvt:todos
CalvinBackup/mvt:fix/dumpsys-accessibility-alert
CalvinBackup/mvt:fix/timeline-append-mode
CalvinBackup/mvt:release/v2026.5.12
CalvinBackup/mvt:intrusion-logging
CalvinBackup/mvt:accessibility_enabled
CalvinBackup/mvt:uv-dependency-cooldown
CalvinBackup/mvt:besendorf-patch-4
CalvinBackup/mvt:warn-encrypted-backup
CalvinBackup/mvt:besendorf-patch-3
CalvinBackup/mvt:fix_sms
CalvinBackup/mvt:besendorf-patch-2
CalvinBackup/mvt:fix/stix2-hash-key-normalization
CalvinBackup/mvt:fix/betterproto2-migration
CalvinBackup/mvt:besendorf-patch-1
CalvinBackup/mvt:fix/dependabot-vulnerabilities
CalvinBackup/mvt:bugfix/ioc-import
CalvinBackup/mvt:feature/updates_downgrades
CalvinBackup/mvt:feature/anonymous-metrics
CalvinBackup/mvt:feature/deduplicate-adb-aqf-modules
CalvinBackup/mvt:fix/webkit_session_resource_error_handling
CalvinBackup/mvt:update-check
CalvinBackup/mvt:root_binaries
CalvinBackup/mvt:mounts
CalvinBackup/mvt:fix/tombstone_values
CalvinBackup/mvt:refactor/structured-alerting
CalvinBackup/mvt:fix/tombstone-int
CalvinBackup/mvt:tzdata-dependency
CalvinBackup/mvt:fix/vt
CalvinBackup/mvt:dev_deps
CalvinBackup/mvt:ios-version
CalvinBackup/mvt:fix_tests
CalvinBackup/mvt:fix/install_non_market_apps
CalvinBackup/mvt:fix/tcc
CalvinBackup/mvt:fix/safari_browserstate
CalvinBackup/mvt:fix-mms
CalvinBackup/mvt:Te-k-patch-1
CalvinBackup/mvt:makitos666-patch-1
CalvinBackup/mvt:bugfix/tombstones
CalvinBackup/mvt:fix/tombstone-defaults
CalvinBackup/mvt:fix/create-auto-pr-as-draft-yaml
CalvinBackup/mvt:feature/android-sub-module-loading
CalvinBackup/mvt:feature/command_completion_docs
CalvinBackup/mvt:feature/ios-app
CalvinBackup/mvt:tmp/timeline-improvements
CalvinBackup/mvt:feature/add-package-detections
CalvinBackup/mvt:wip/android-dumpstate-parser
CalvinBackup/mvt:feature/structured-alerting
CalvinBackup/mvt:feature/post-run-detections
CalvinBackup/mvt:feature/network-interface-parser
CalvinBackup/mvt:ios_lockdown
CalvinBackup/mvt:Te-k-feature/ios-check-usb
CalvinBackup/mvt:v2026.10.12
CalvinBackup/mvt:v2026.10.5
CalvinBackup/mvt:v2026.9.28
CalvinBackup/mvt:v2026.9.21
CalvinBackup/mvt:v2026.9.14
CalvinBackup/mvt:v2026.9.7
CalvinBackup/mvt:v2026.9.1
CalvinBackup/mvt:v2026.7.29
CalvinBackup/mvt:v2026.5.12
CalvinBackup/mvt:v2026.4.28
CalvinBackup/mvt:v2.7.0
CalvinBackup/mvt:v2.6.1
CalvinBackup/mvt:v2.6.0
CalvinBackup/mvt:v2.5.4
CalvinBackup/mvt:v2.5.3
CalvinBackup/mvt:v2.5.2
CalvinBackup/mvt:v2.5.1
CalvinBackup/mvt:v2.5.0
CalvinBackup/mvt:v2.4.5
CalvinBackup/mvt:v2.4.4
CalvinBackup/mvt:v2.4.3
CalvinBackup/mvt:v2.4.2
CalvinBackup/mvt:v2.4.1
CalvinBackup/mvt:v2.4.0
CalvinBackup/mvt:v2.3.0
CalvinBackup/mvt:v2.2.6
CalvinBackup/mvt:v2.2.5
CalvinBackup/mvt:v2.2.4
CalvinBackup/mvt:v2.2.3
CalvinBackup/mvt:v2.2.2
CalvinBackup/mvt:v2.2.1
CalvinBackup/mvt:v2.2
CalvinBackup/mvt:v2.1.6
CalvinBackup/mvt:v2.1.5
CalvinBackup/mvt:v2.1.4
CalvinBackup/mvt:v2.1.3
CalvinBackup/mvt:v2.1.2
CalvinBackup/mvt:v2.1.1
CalvinBackup/mvt:v2.1
CalvinBackup/mvt:v2.0
CalvinBackup/mvt:v1.5.5
CalvinBackup/mvt:v1.5.4
CalvinBackup/mvt:v1.5.3
CalvinBackup/mvt:v1.5.2
CalvinBackup/mvt:v1.5.1
CalvinBackup/mvt:v1.4.11
CalvinBackup/mvt:v1.4.10
CalvinBackup/mvt:v1.4.9
CalvinBackup/mvt:v1.4.8
CalvinBackup/mvt:v1.4.7
CalvinBackup/mvt:v1.4.6
CalvinBackup/mvt:v1.4.5
CalvinBackup/mvt:v1.4.4
CalvinBackup/mvt:v1.4.3
CalvinBackup/mvt:v1.4.2
CalvinBackup/mvt:v1.4.1
CalvinBackup/mvt:v1.4.0
CalvinBackup/mvt:v1.3.2
CalvinBackup/mvt:v1.3.1
CalvinBackup/mvt:v1.2.14
CalvinBackup/mvt:v1.2.10
CalvinBackup/mvt:v1.2.13
CalvinBackup/mvt:v1.2.12
CalvinBackup/mvt:v1.2.11
CalvinBackup/mvt:v1.2.9
CalvinBackup/mvt:v1.2.8
CalvinBackup/mvt:v1.2.7
CalvinBackup/mvt:v1.2.6
CalvinBackup/mvt:v1.3
CalvinBackup/mvt:v1.2.5
CalvinBackup/mvt:v1.2.3
CalvinBackup/mvt:v1.2.2
CalvinBackup/mvt:v1.2.1
CalvinBackup/mvt:v1.2.0
CalvinBackup/mvt:v1.1.0
CalvinBackup/mvt:v1.0.17
CalvinBackup/mvt:v1.0.16
CalvinBackup/mvt:v1.0.15
CalvinBackup/mvt:v1.0.14
CalvinBackup/mvt:v1.0.13
CalvinBackup/mvt:v1.0.11
..
compare: CalvinBackup/mvt:feature/development-docs
CalvinBackup/mvt:auto/add-new-ios-releases
CalvinBackup/mvt:main
CalvinBackup/mvt:feature/parallel-module-execution
CalvinBackup/mvt:feat/coruna-artifact-detection
CalvinBackup/mvt:fix_tombstone
CalvinBackup/mvt:feature/android-browser-history
CalvinBackup/mvt:feat/output-schemas
CalvinBackup/mvt:fix/update-ios-backup-decryption
CalvinBackup/mvt:docs/recommend-pymobiledevice3
CalvinBackup/mvt:feature/accessibility-enabled-logging
CalvinBackup/mvt:feature/androidqf-root-zip-931
CalvinBackup/mvt:fix/native-docker-runners
CalvinBackup/mvt:besendorf-patch-5
CalvinBackup/mvt:chore/update-iphone-backup-decrypt-0.10.0
CalvinBackup/mvt:feat/module-run-stats
CalvinBackup/mvt:fix/recover-truncated-sysdiagnose
CalvinBackup/mvt:fix/alert-timestamps
CalvinBackup/mvt:fix/ios-parser-field-coverage
CalvinBackup/mvt:fix/settings-env-persist
CalvinBackup/mvt:fix/coverage-logging
CalvinBackup/mvt:backup_extraction
CalvinBackup/mvt:feature/monthly-releases
CalvinBackup/mvt:fix/bugreport-parser-coverage
CalvinBackup/mvt:feature/fast-cli-startup
CalvinBackup/mvt:feature/cli-plugin-enhancements
CalvinBackup/mvt:feature/check-iocs-auto-modules
CalvinBackup/mvt:feature/module-replaces
CalvinBackup/mvt:feature/plugin-api
CalvinBackup/mvt:feature/check-iocs-module-lists
CalvinBackup/mvt:feature/plugin-verbose-logging
CalvinBackup/mvt:feature/plugin-updates
CalvinBackup/mvt:feature/mvt-cli
CalvinBackup/mvt:feature/plugin-cli-registration
CalvinBackup/mvt:feature/plugin-dependency-skip
CalvinBackup/mvt:feature/plugin-config
CalvinBackup/mvt:feature/plugin-cli-neutral-group
CalvinBackup/mvt:feat/bugreport-schema-v2
CalvinBackup/mvt:feature/installed-module-packages
CalvinBackup/mvt:feature/development-docs
CalvinBackup/mvt:feat/whatsapp-contacts-module
CalvinBackup/mvt:feature/build-arm64-docker-images
CalvinBackup/mvt:fix/docker-adb-generation
CalvinBackup/mvt:feature/document-ios-docker-usbmuxd
CalvinBackup/mvt:fix/parse-dumpsys-package-system-flag
CalvinBackup/mvt:fix/scope-package-user-fields
CalvinBackup/mvt:fix/parse-package-installer
CalvinBackup/mvt:feature/update-github-actions
CalvinBackup/mvt:fix/ios-data-dependencies
CalvinBackup/mvt:fix/preserve-tombstone-causes
CalvinBackup/mvt:feature/custom-cli-commands
CalvinBackup/mvt:feature/url-logging
CalvinBackup/mvt:feature/androidqf-adb-host-key-alerts
CalvinBackup/mvt:roaree-patch-2
CalvinBackup/mvt:roaree-patch-1
CalvinBackup/mvt:agent/add-sysdiagnose-command-scoping
CalvinBackup/mvt:feature/fix-module-audit-findings
CalvinBackup/mvt:fix/dumpsys-receivers-misindented-actions
CalvinBackup/mvt:feature/fix-text-tombstone-crashing-thread
CalvinBackup/mvt:feature/parallel-url-checks
CalvinBackup/mvt:feature/skip-google-maps-short-urls
CalvinBackup/mvt:feature/deduplicate-androidqf-sms
CalvinBackup/mvt:fix/receiver-app-id-matching
CalvinBackup/mvt:fix/shutdown-log-rotations
CalvinBackup/mvt:fix/pinstorage-key-generation-warning
CalvinBackup/mvt:fix-ios-check-backup-path
CalvinBackup/mvt:add-shell-completion-command
CalvinBackup/mvt:feature/custom-module-loading
CalvinBackup/mvt:fix-malformed-androidqf-backup
CalvinBackup/mvt:dependabot/uv/types-pyyaml-6.0.12.20260518
CalvinBackup/mvt:dependabot/uv/betterproto2-0.10.0
CalvinBackup/mvt:dependabot/uv/simplejson-4.1.1
CalvinBackup/mvt:dependabot/uv/types-requests-2.33.0.20260518
CalvinBackup/mvt:dependabot/uv/rich-15.0.0
CalvinBackup/mvt:fix/dumpsys-battery-daily-order
CalvinBackup/mvt:ci/run-mypy-on-pull-requests
CalvinBackup/mvt:feature/module-dependency-ordering
CalvinBackup/mvt:fix/intrusion-log-event-id
CalvinBackup/mvt:docs/network-access-options
CalvinBackup/mvt:fix/enforce-network-access-allowed
CalvinBackup/mvt:todos
CalvinBackup/mvt:fix/dumpsys-accessibility-alert
CalvinBackup/mvt:fix/timeline-append-mode
CalvinBackup/mvt:release/v2026.5.12
CalvinBackup/mvt:intrusion-logging
CalvinBackup/mvt:accessibility_enabled
CalvinBackup/mvt:uv-dependency-cooldown
CalvinBackup/mvt:besendorf-patch-4
CalvinBackup/mvt:warn-encrypted-backup
CalvinBackup/mvt:besendorf-patch-3
CalvinBackup/mvt:fix_sms
CalvinBackup/mvt:besendorf-patch-2
CalvinBackup/mvt:fix/stix2-hash-key-normalization
CalvinBackup/mvt:fix/betterproto2-migration
CalvinBackup/mvt:besendorf-patch-1
CalvinBackup/mvt:fix/dependabot-vulnerabilities
CalvinBackup/mvt:bugfix/ioc-import
CalvinBackup/mvt:feature/updates_downgrades
CalvinBackup/mvt:feature/anonymous-metrics
CalvinBackup/mvt:feature/deduplicate-adb-aqf-modules
CalvinBackup/mvt:fix/webkit_session_resource_error_handling
CalvinBackup/mvt:update-check
CalvinBackup/mvt:root_binaries
CalvinBackup/mvt:mounts
CalvinBackup/mvt:fix/tombstone_values
CalvinBackup/mvt:refactor/structured-alerting
CalvinBackup/mvt:fix/tombstone-int
CalvinBackup/mvt:tzdata-dependency
CalvinBackup/mvt:fix/vt
CalvinBackup/mvt:dev_deps
CalvinBackup/mvt:ios-version
CalvinBackup/mvt:fix_tests
CalvinBackup/mvt:fix/install_non_market_apps
CalvinBackup/mvt:fix/tcc
CalvinBackup/mvt:fix/safari_browserstate
CalvinBackup/mvt:fix-mms
CalvinBackup/mvt:Te-k-patch-1
CalvinBackup/mvt:makitos666-patch-1
CalvinBackup/mvt:bugfix/tombstones
CalvinBackup/mvt:fix/tombstone-defaults
CalvinBackup/mvt:fix/create-auto-pr-as-draft-yaml
CalvinBackup/mvt:feature/android-sub-module-loading
CalvinBackup/mvt:feature/command_completion_docs
CalvinBackup/mvt:feature/ios-app
CalvinBackup/mvt:tmp/timeline-improvements
CalvinBackup/mvt:feature/add-package-detections
CalvinBackup/mvt:wip/android-dumpstate-parser
CalvinBackup/mvt:feature/structured-alerting
CalvinBackup/mvt:feature/post-run-detections
CalvinBackup/mvt:feature/network-interface-parser
CalvinBackup/mvt:ios_lockdown
CalvinBackup/mvt:Te-k-feature/ios-check-usb
CalvinBackup/mvt:v2026.10.12
CalvinBackup/mvt:v2026.10.5
CalvinBackup/mvt:v2026.9.28
CalvinBackup/mvt:v2026.9.21
CalvinBackup/mvt:v2026.9.14
CalvinBackup/mvt:v2026.9.7
CalvinBackup/mvt:v2026.9.1
CalvinBackup/mvt:v2026.7.29
CalvinBackup/mvt:v2026.5.12
CalvinBackup/mvt:v2026.4.28
CalvinBackup/mvt:v2.7.0
CalvinBackup/mvt:v2.6.1
CalvinBackup/mvt:v2.6.0
CalvinBackup/mvt:v2.5.4
CalvinBackup/mvt:v2.5.3
CalvinBackup/mvt:v2.5.2
CalvinBackup/mvt:v2.5.1
CalvinBackup/mvt:v2.5.0
CalvinBackup/mvt:v2.4.5
CalvinBackup/mvt:v2.4.4
CalvinBackup/mvt:v2.4.3
CalvinBackup/mvt:v2.4.2
CalvinBackup/mvt:v2.4.1
CalvinBackup/mvt:v2.4.0
CalvinBackup/mvt:v2.3.0
CalvinBackup/mvt:v2.2.6
CalvinBackup/mvt:v2.2.5
CalvinBackup/mvt:v2.2.4
CalvinBackup/mvt:v2.2.3
CalvinBackup/mvt:v2.2.2
CalvinBackup/mvt:v2.2.1
CalvinBackup/mvt:v2.2
CalvinBackup/mvt:v2.1.6
CalvinBackup/mvt:v2.1.5
CalvinBackup/mvt:v2.1.4
CalvinBackup/mvt:v2.1.3
CalvinBackup/mvt:v2.1.2
CalvinBackup/mvt:v2.1.1
CalvinBackup/mvt:v2.1
CalvinBackup/mvt:v2.0
CalvinBackup/mvt:v1.5.5
CalvinBackup/mvt:v1.5.4
CalvinBackup/mvt:v1.5.3
CalvinBackup/mvt:v1.5.2
CalvinBackup/mvt:v1.5.1
CalvinBackup/mvt:v1.4.11
CalvinBackup/mvt:v1.4.10
CalvinBackup/mvt:v1.4.9
CalvinBackup/mvt:v1.4.8
CalvinBackup/mvt:v1.4.7
CalvinBackup/mvt:v1.4.6
CalvinBackup/mvt:v1.4.5
CalvinBackup/mvt:v1.4.4
CalvinBackup/mvt:v1.4.3
CalvinBackup/mvt:v1.4.2
CalvinBackup/mvt:v1.4.1
CalvinBackup/mvt:v1.4.0
CalvinBackup/mvt:v1.3.2
CalvinBackup/mvt:v1.3.1
CalvinBackup/mvt:v1.2.14
CalvinBackup/mvt:v1.2.10
CalvinBackup/mvt:v1.2.13
CalvinBackup/mvt:v1.2.12
CalvinBackup/mvt:v1.2.11
CalvinBackup/mvt:v1.2.9
CalvinBackup/mvt:v1.2.8
CalvinBackup/mvt:v1.2.7
CalvinBackup/mvt:v1.2.6
CalvinBackup/mvt:v1.3
CalvinBackup/mvt:v1.2.5
CalvinBackup/mvt:v1.2.3
CalvinBackup/mvt:v1.2.2
CalvinBackup/mvt:v1.2.1
CalvinBackup/mvt:v1.2.0
CalvinBackup/mvt:v1.1.0
CalvinBackup/mvt:v1.0.17
CalvinBackup/mvt:v1.0.16
CalvinBackup/mvt:v1.0.15
CalvinBackup/mvt:v1.0.14
CalvinBackup/mvt:v1.0.13
CalvinBackup/mvt:v1.0.11
3
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
237f77bf7f | Merge branch 'main' into feature/development-docs | ||
|
|
30c11f68c7 |
Add WhatsApp contacts module and fix InteractionC contact resolution (#882)
* Add WhatsappContacts module to extract WhatsApp disappearing messages state
WhatsApp on iOS stores the disappearing messages timer for 1:1 chats on
the contact records in ContactsV2.sqlite, not in ChatStorage.sqlite. Add
a new WhatsappContacts module which extracts contact records from this
database, including phone numbers, WhatsApp and LID identifiers, and the
per-contact disappearing messages duration, and emits a timeline event
when a disappearing messages timer was set.
The database is often missing from incremental backups, so the module
logs a clear warning and returns no results instead of failing. Columns
are selected based on the actual table schema to tolerate changes across
WhatsApp versions, and if the disappearing messages column is absent the
state is reported as unknown rather than off.
The test fixture is a synthetic ContactsV2.sqlite with fictional
contacts, stored under the backup file ID derived from the WhatsApp
shared app group domain.
* Fix InteractionC contact resolution and resolve WhatsApp LIDs to contacts
The two primary InteractionC queries contained a SQL syntax error in
their direction CASE expression (a double column alias), so they always
failed and the module silently fell back to a reduced query without the
recipient join. As a result outgoing messages were serialized with no
counterpart at all ("from None (None)"). Fix the syntax so recipient
names and identifiers are extracted again, and normalize the raw 0/1
direction values from the fallback queries to INCOMING/OUTGOING.
WhatsApp identifies chat peers in interactionC.db by LID and stores the
peer LID in the domain identifier, which InteractionC could not map to a
person. Declare a dependency on the WhatsappContacts module and resolve
sender, recipient and domain identifiers (LID, JID or phone number)
against the WhatsApp contacts database, adding resolved phone number and
name fields to WhatsApp records.
Rewrite the timeline serialization to use the resolved values, fall back
to the chat peer from the domain identifier when no recipient was
recorded, label the local user instead of printing None, and include the
message direction and group name.
* Add timeline events for all WhatsApp contact timestamps
Extract ZABOUTEXPIRATIONTIMESTAMP and emit a timeline event for each
timestamp stored on a WhatsApp contact record: disappearing messages
timer changes, "about" text changes and scheduled expiry, and contact
record updates. ContactsV2.sqlite stores no other date attributes in
any released schema version.
* Add first and last interaction timeline events for WhatsApp chats
Extract one record per ZWACHATSESSION with the first and last stored
message dates, the session's own last-message date, the group creation
date and message counts. Each chat produces chat_first_message and
chat_last_message timeline events, and groups a group_created event.
The session last-message date is preferred over the newest stored
message because it survives message deletion.
* Resolve WhatsApp LID chat identifiers via the LID pair table
Recent WhatsApp versions key 1:1 chat sessions by an opaque LID rather
than the contact's phone number. Extract the ZWAPHONENUMBERLIDPAIR
table from the dedicated LID.sqlite database (or from ChatStorage
itself in versions that store it there) and use it to populate
partner_resolved_phone_number on chat session records and in timeline
events, without requiring the often-missing ContactsV2.sqlite. Each
pair is also extracted as a record and produces a lid_pair_recorded
timeline event marking when the association was learned.
* Reduce duplicate InteractionC timeline events
The interaction record's creation date normally trails its start date
by milliseconds, so serializing both nearly doubled the timeline with
duplicate entries. Only emit the creation date when it diverges from
the start date by more than an hour, with explicit wording, since a
record created long after its event indicates backfill by sync,
restore or tampering.
Per-contact aggregate dates from ZCONTACTS repeat on every interaction
row of the same contact and carried that row's message text. Serialize
them with contact-centric data strings instead, so timeline
de-duplication collapses them into one first/last-seen event per
contact.
|
||
|
|
08e076b71e | Group custom docs under development |
1 changed files with 3 additions and 2 deletions
+3
-2
@@ -31,7 +31,6 @@ nav:
|
||||
- Introduction: "introduction.md"
|
||||
- Installation: "install.md"
|
||||
- Command Completion: "command_completion.md"
|
||||
- Custom CLI Commands: "custom_commands.md"
|
||||
- Using Docker: "docker.md"
|
||||
- MVT for iOS:
|
||||
- iOS Forensic Methodology: "ios/methodology.md"
|
||||
@@ -50,5 +49,7 @@ nav:
|
||||
- Check an Android Backup (SMS messages): "android/backup.md"
|
||||
- Check Android Intrusion Logs: "android/intrusion_logs.md"
|
||||
- Indicators of Compromise: "iocs.md"
|
||||
- Development: "development.md"
|
||||
- Development:
|
||||
- Development Instructions: "development.md"
|
||||
- Custom CLI Commands: "custom_commands.md"
|
||||
- License: "license.md"
|
||||
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.