WhatsApp 在您的手掌中:在哪里以及如何找到法医文物?

WhatsApp 在您的手掌中:在哪里以及如何找到法医文物?

如果您想了解不同操作系统上存在哪些类型的 WhatsApp 取证工件以及到底在哪里可以找到它们,那么这里就是您的最佳选择。 本文来自 Group-IB 计算机取证实验室的专家 伊戈尔·米哈伊洛夫(Igor Mikhailov) 一系列有关 WhatsApp 取证以及通过分析设备可以收集哪些信息的帖子拉开了序幕。

让我们立即注意到,不同的操作系统存储不同类型的 WhatsApp 工件,如果研究人员可以从一台设备提取某些类型的 WhatsApp 数据,这并不意味着可以从另一台设备提取类似类型的数据。 例如,如果删除运行 Windows 操作系统的系统单元,则可能无法在其磁盘上找到 WhatsApp 聊天记录(iOS 设备的备份副本除外,可以在同一驱动器上找到这些副本)。 笔记本电脑和移动设备的查获都有其自身的特点。 让我们更详细地讨论一下这个问题。

Android 设备中的 WhatsApp 工件

为了从 Android 设备中提取 WhatsApp 工件,研究人员必须拥有超级用户权限('根')在正在调查的设备上,或者能够以其他方式提取设备或其文件系统的物理内存转储(例如,使用特定移动设备的软件漏洞)。

应用程序文件位于手机内存中保存用户数据的部分。 通常,此部分被命名为 '用户数据'。 子目录和程序文件位于以下路径: '/data/data/com.whatsapp/'.

WhatsApp 在您的手掌中:在哪里以及如何找到法医文物?
Android 操作系统中包含 WhatsApp 取证工件的主要文件是数据库 'wa.db' и 'msgstore.db'.

在数据库中 'wa.db' 包含 WhatsApp 用户的完整联系人列表,包括电话号码、显示名称、时间戳以及注册 WhatsApp 时提供的任何其他信息。 文件 'wa.db' 位于路径沿线: '/data/data/com.whatsapp/databases/' 并具有以下结构:

WhatsApp 在您的手掌中:在哪里以及如何找到法医文物?
数据库中最有趣的表 'wa.db' 对于研究人员来说:

  • 'wa_联系人'
    该表包含联系人信息:WhatsApp 联系人 ID、状态信息、用户显示名称、时间戳等。

    桌子外观:

    WhatsApp 在您的手掌中:在哪里以及如何找到法医文物?
    表结构

    字段名称
    _ID 记录序列号(在SQL表中)
    JID WhatsApp 联系人 ID,格式为<电话号码>@s.whatsapp.net
    is_whatsapp_user 如果联系人对应于实际的 WhatsApp 用户,则包含“1”,否则包含“0”
    状态 包含联系人状态中显示的文本
    状态时间戳 包含 Unix Epoch Time (ms) 格式的时间戳
    与联系人关联的电话号码
    原始联系人 ID 联系序列号
    DISPLAY_NAME 联系人显示名称
    电话类型 电话类型
    电话标签 与联系号码关联的标签
    未见消息数 联系人发送但收件人未阅读的消息数
    照片_ts 包含 Unix Epoch Time 格式的时间戳
    拇指_ts 包含 Unix Epoch Time 格式的时间戳
    照片_id_时间戳 包含 Unix Epoch Time (ms) 格式的时间戳
    给定的名称 字段值与每个联系人的“display_name”匹配
    wa_名称 WhatsApp 联系人姓名(显示联系人个人资料中指定的姓名)
    排序名称 排序操作中使用的联系人姓名
    昵称 联系人在 WhatsApp 中的昵称(显示联系人个人资料中指定的昵称)
    公司 公司(显示联系人个人资料中指定的公司)
    标题 职称(女士/先生;显示联系人个人资料中配置的职称)
    抵消 排量
  • 'sqlite_sequence'
    该表包含有关联系人数量的信息;
  • 'android_元数据'
    此表包含有关 WhatsApp 语言本地化的信息。

在数据库中 'msgstore.db' 包含有关已发送消息的信息,例如联系人号码、消息文本、消息状态、时间戳、消息中包含的传输文件的详细信息等。 文件 'msgstore.db' 位于路径沿线: '/data/data/com.whatsapp/databases/' 并具有以下结构:

WhatsApp 在您的手掌中:在哪里以及如何找到法医文物?
文件中最有趣的表 'msgstore.db' 对于研究人员来说:

  • 'sqlite_sequence'
    该表包含有关该数据库的一般信息,例如存储的消息总数、聊天总数等。

    桌子外观:

    WhatsApp 在您的手掌中:在哪里以及如何找到法医文物?

  • 'message_fts_content'
    包含已发送消息的文本。

    桌子外观:

    WhatsApp 在您的手掌中:在哪里以及如何找到法医文物?

  • “消息”
    该表包含诸如联系号码、消息文本、消息状态、时间戳、消息中包含的已传输文件的信息等信息。

    桌子外观:

    WhatsApp 在您的手掌中:在哪里以及如何找到法医文物?
    表结构

    字段名称
    _ID 记录序列号(在SQL表中)
    key_remote_jid 通讯伙伴的 WhatsApp ID
    来自我的密钥 消息方向:'0' - 传入,'1' - 传出
    密钥 ID 唯一的消息标识符
    状态 消息状态:'0' - 已发送,'4' - 在服务器上等待,'5' - 在目的地收到,'6' - 控制消息,'13' - 收件人打开的消息(已读)
    需要推送 如果是广播消息,则值为“2”,否则包含“0”
    data 消息文本(当“media_wa_type”参数为“0”时)
    时间戳 包含 Unix Epoch Time (ms) 格式的时间戳,该值取自设备时钟
    媒体地址 包含传输文件的URL(当'media_wa_type'参数为'1'、'2'、'3'时)
    媒体mime_类型 传输文件的MIME类型(当'media_wa_type'参数等于'1'、'2'、'3'时)
    媒体类型 消息类型:“0”- 文本、“1”- 图形文件、“2”- 音频文件、“3”- 视频文件、“4”- 联系人卡片、“5”- 地理数据
    媒体大小 传输文件的大小(当'media_wa_type'参数为'1'、'2'、'3'时)
    媒体名称 传输文件的名称(当“media_wa_type”参数为“1”、“2”、“3”时)
    媒体标题 包含单词'audio'、'video'为'media_wa_type'参数对应的值(当'media_wa_type'参数为'1'、'3'时)
    媒体哈希值 传输文件的 Base64 编码哈希,使用 HAS-256 算法计算(当“media_wa_type”参数等于“1”、“2”、“3”时)
    媒体持续时间 媒体文件的持续时间(以秒为单位)(当“media_wa_type”为“1”、“2”、“3”时)
    起源 如果是广播消息,则值为“2”,否则包含“0”
    纬度 地理数据:纬度(当“media_wa_type”参数为“5”时)
    经度 地理数据:经度(当“media_wa_type”参数为“5”时)
    拇指图像 服务信息
    远程资源 发件人 ID(仅适用于群聊)
    收到的时间戳 接收时间,包含 Unix Epoch Time (ms) 格式的时间戳,该值取自设备时钟(当 'key_from_me' 参数为 '0'、'-1' 或其他值时)
    发送时间戳 未使用,通常值为“-1”
    收据服务器时间戳 中央服务器收到的时间,包含 Unix Epoch Time (ms) 格式的时间戳,该值取自设备时钟(当 'key_from_me' 参数为 '1'、'-1' 或其他值时
    收据_设备_时间戳 另一个订阅者收到消息的时间,包含 Unix Epoch Time (ms) 格式的时间戳,该值取自设备时钟(当 'key_from_me' 参数具有 '1'、'-1' 或其他值时
    读取设备时间戳 打开(读取)消息的时间,包含 Unix Epoch Time (ms) 格式的时间戳,该值取自设备时钟
    播放设备时间戳 消息播放时间,包含 Unix Epoch Time (ms) 格式的时间戳,该值取自设备时钟
    原始数据 传输文件的缩略图(当“media_wa_type”参数为“1”或“3”时)
    收件人数 接收者数量(对于广播消息)
    参与者哈希值 传输带有地理数据的消息时使用
    主演 没用过
    引用行 ID 未知,通常包含值“0”
    提到的jids 没用过
    多播ID 没用过
    抵消 排量

    此字段列表并不详尽。 对于不同版本的 WhatsApp,某些字段可能存在或不存在。 此外,还可能存在字段 'media_enc_hash', '编辑版本', '付款交易ID' 等等

  • '消息缩略图'
    该表包含有关传输的图像和时间戳的信息。 在“时间戳”列中,时间以 Unix 纪元时间 (ms) 格式指示。
  • '聊天列表'
    该表包含有关聊天的信息。

    桌子外观:

    WhatsApp 在您的手掌中:在哪里以及如何找到法医文物?

此外,在运行 Android 的移动设备上检查 WhatsApp 时,您应该注意以下文件:

  • 文件 'msgstore.db.cryptXX' (其中 XX 是 0 到 12 之间的一位或两位数字,例如 msgstore.db.crypt12)。 包含 WhatsApp 消息的加密备份(备份文件 消息存储库)。 文件 'msgstore.db.cryptXX' 位于路径沿线: '/data/media/0/WhatsApp/数据库/' (虚拟SD卡), '/mnt/sdcard/WhatsApp/数据库/ (物理 SD 卡)'。
  • 文件 '钥匙'。 包含加密密钥。 位于路径沿线: '/data/data/com.whatsapp/files/'。 用于解密加密的 WhatsApp 备份。
  • 文件 'com.whatsapp_preferences.xml'。 包含有关您的 WhatsApp 帐户个人资料的信息。 该文件位于以下路径: '/data/data/com.whatsapp/shared_prefs/'.

    文件内容片段

    <?xml version="1.0" encoding="ISO-8859-1"?>
    …
    <string name="ph">9123456789</string> (номер телефона, ассоциированный с аккаунтом WhatsApp)
    …
    <string name="version">2.17.395</string> (версия WhatsApp)
    …
    <string name="my_current_status">Hey there! I am using WhatsApp.</string> (сообщение, отображаемое в статусе аккаунта)
    …
    <string name="push_name">Alex</string> (имя владельца аккаунта)
    … 
  • 文件 '注册.RegisterPhone.xml'。 包含有关与 WhatsApp 帐户关联的电话号码的信息。 该文件位于以下路径: '/data/data/com.whatsapp/shared_prefs/'.

    文件内容

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <map>
    <string name="com.whatsapp.registration.RegisterPhone.phone_number">9123456789</string>
    <int name="com.whatsapp.registration.RegisterPhone.verification_state" value="0"/>
    <int name="com.whatsapp.registration.RegisterPhone.country_code_position" value="-1"/>
    <string name="com.whatsapp.registration.RegisterPhone.input_phone_number">912 345-67-89</string>
    <int name="com.whatsapp.registration.RegisterPhone.phone_number_position" value="10"/>
    <string name="com.whatsapp.registration.RegisterPhone.input_country_code">7</string>
    <string name="com.whatsapp.registration.RegisterPhone.country_code">7</string>
    </map>
  • 文件 '蝾螈.db'。 包含识别帐户所有者所需的加密密钥和其他数据。 位于路径沿线: '/data/data/com.whatsapp/databases/'.
  • 文件 '聊天设置.db'。 包含应用程序配置信息。
  • 文件 'wa.db'。 包含联系方式。 一个非常有趣(从法医方面来看)且内容丰富的数据库。 它可以包含有关已删除联系人的详细信息。

您还需要注意以下目录:

  • 目录 '/data/media/0/WhatsApp/Media/WhatsApp 图片/'。 包含传输的图形文件。
  • 目录 '/data/media/0/WhatsApp/Media/WhatsApp 语音笔记/'。 包含 .OPUS 格式文件中的语音消息。
  • 目录 '/data/data/com.whatsapp/cache/个人资料图片/'。 包含图形文件 - 联系人图像。
  • 目录 '/data/data/com.whatsapp/files/Avatars/'。 包含图形文件 - 联系人的缩略图。 这些文件具有“.j”扩展名,但仍然是 JPEG (JPG) 图像文件。
  • 目录 '/data/data/com.whatsapp/files/Avatars/'。 包含图形文件 - 由帐户所有者设置为头像的图像和图像的缩略图。
  • 目录 '/data/data/com.whatsapp/files/Logs/'。 包含程序操作日志(文件“whatsapp.log”)和程序操作日志的备份副本(名称格式为 Whatsapp-yyyy-mm-dd.1.log.gz 的文件)。

WhatsApp 日志文件:

WhatsApp 在您的手掌中:在哪里以及如何找到法医文物?
日记片段2017-01-10 09:37:09.757 LL_ID [524:WhatsApp Worker #1] 未接来电通知/初始化计数:0 时间戳:0
2017-01-10 09:37:09.758 LL_ID [524:WhatsApp Worker #1] 未接来电通知/更新取消 true
2017-01-10 09:37:09.768 LL_ID [1:main] 应用程序初始化/加载我
2017-01-10 09:37:09.772 LL_ID [1:main] 密码文件丢失或不可读
2017-01-10 09:37:09.782 LL_ID [1:main] 统计 短信:发送 59 条,接收 82 条 / 媒体消息:发送 1 条(0 字节),接收 0 条(9850158 字节) / 离线消息:接收 81 条(平均延迟 19522 毫秒) / 消息服务:发送 116075 字节,接收 211729 字节 / Voip 呼叫:1 次拨出呼叫,0 次来电,发送 2492 字节,接收 1530 字节 / Google Drive:发送 0 字节,接收 0 字节 / 漫游:1524发送的字节,接收的 1826 字节/总数据:发送的 118567 字节,接收的 10063417 字节
2017-01-10 09:37:09.785 LL_ID [1:main] 媒体状态管理器/刷新媒体状态/可写媒体
2017-01-10 09:37:09.806 LL_ID [1:main] 应用程序初始化/初始化/计时器/停止:24
2017-01-10 09:37:09.811 LL_ID [1:main] msgstore/checkhealth
2017-01-10 09:37:09.817 LL_ID [1:main] msgstore/checkhealth/journal/delete false
2017-01-10 09:37:09.818 LL_ID [1:main] msgstore/checkhealth/back/delete false
2017-01-10 09:37:09.818 LL_ID [1:main] msgstore/checkdb/data/data/com.whatsapp/databases/msgstore.db
2017-01-10 09:37:09.819 LL_ID [1:main] msgstore/checkdb/list _jobqueue-WhatsAppJobManager 16384 drw=011
2017-01-10 09:37:09.820 LL_ID [1:main] msgstore/checkdb/list _jobqueue-WhatsAppJobManager-journal 21032 drw=011
2017-01-10 09:37:09.820 LL_ID [1:main] msgstore/checkdb/list axolotl.db 184320 drw=011
2017-01-10 09:37:09.821 LL_ID [1:main] msgstore/checkdb/list axolotl.db-wal 436752 drw=011
2017-01-10 09:37:09.821 LL_ID [1:main] msgstore/checkdb/list axolotl.db-shm 32768 drw=011
2017-01-10 09:37:09.822 LL_ID [1:main] msgstore/checkdb/list msgstore.db 540672 drw=011
2017-01-10 09:37:09.823 LL_ID [1:main] msgstore/checkdb/list msgstore.db-wal 0 drw=011
2017-01-10 09:37:09.823 LL_ID [1:main] msgstore/checkdb/list msgstore.db-shm 32768 drw=011
2017-01-10 09:37:09.824 LL_ID [1:main] msgstore/checkdb/list wa.db 69632 drw=011
2017-01-10 09:37:09.825 LL_ID [1:main] msgstore/checkdb/list wa.db-wal 428512 drw=011
2017-01-10 09:37:09.825 LL_ID [1:main] msgstore/checkdb/list wa.db-shm 32768 drw=011
2017-01-10 09:37:09.826 LL_ID [1:main] msgstore/checkdb/list chatsettings.db 4096 drw=011
2017-01-10 09:37:09.826 LL_ID [1:main] msgstore/checkdb/list chatsettings.db-wal 70072 drw=011
2017-01-10 09:37:09.827 LL_ID [1:main] msgstore/checkdb/list chatsettings.db-shm 32768 drw=011
2017-01-10 09:37:09.838 LL_ID [1:main] msgstore/checkdb/版本 1
2017-01-10 09:37:09.839 LL_ID [1:main] msgstore/canquery
2017-01-10 09:37:09.846 LL_ID [1:main] msgstore/canquery/count 1
2017-01-10 09:37:09.847 LL_ID [1:main] msgstore/canquery/timer/stop: 8
2017-01-10 09:37:09.847 LL_ID [1:main] msgstore/canquery 517 | 花费时间:8
2017-01-10 09:37:09.848 LL_ID [529:WhatsApp Worker #3] media-state-manager/refresh-media-state/internal-storage 可用:1,345,622,016 总计:5,687,922,688

  • 目录 '/data/media/0/WhatsApp/Media/WhatsApp 音频/'。 包含收到的音频文件。
  • 目录 '/data/media/0/WhatsApp/Media/WhatsApp 音频/已发送/'。 包含发送的音频文件。
  • 目录 '/data/media/0/WhatsApp/Media/WhatsApp 图片/'。 包含生成的图形文件。
  • 目录 '/data/media/0/WhatsApp/Media/WhatsApp 图片/已发送/'。 包含发送的图形文件。
  • 目录 '/data/media/0/WhatsApp/Media/WhatsApp 视频/'。 包含收到的视频文件。
  • 目录 '/data/media/0/WhatsApp/Media/WhatsApp 视频/已发送/'。 包含发送的视频文件。
  • 目录 '/data/media/0/WhatsApp/Media/WhatsApp 个人资料照片/'。 包含与 WhatsApp 帐户所有者关联的图形文件。
  • 为了节省 Android 智能手机的存储空间,一些 WhatsApp 数据可以存储在 SD 卡上。 在SD卡上,根目录下有一个目录 'WhatsApp',其中可以找到该程序的以下工件:

    WhatsApp 在您的手掌中:在哪里以及如何找到法医文物?

  • 目录 '。分享' ('/mnt/sdcard/WhatsApp/.Share/')。 包含已与其他 WhatsApp 用户共享的文件的副本。
  • 目录 '。垃圾' ('/mnt/sdcard/WhatsApp/.trash/')。 包含已删除的文件。
  • 目录 “数据库” ('/mnt/sdcard/WhatsApp/数据库/')。 包含加密备份。 如果文件存在,则可以解密它们 '钥匙',从被分析设备的内存中提取。

    位于子目录中的文件 “数据库”:

    WhatsApp 在您的手掌中:在哪里以及如何找到法医文物?

  • 目录 '媒体' ('/mnt/sdcard/WhatsApp/Media/')。 包含子目录 '墙纸', “WhatsApp 音频”, “WhatsApp 图片”, “WhatsApp 个人资料照片”, “WhatsApp 视频”, “WhatsApp 语音笔记”,其中包含接收和传输的多媒体文件(图形文件、视频文件、语音消息、与 WhatsApp 帐户所有者的个人资料相关的照片、壁纸)。
  • 目录 “个人资料图片” ('/mnt/sdcard/WhatsApp/个人资料图片/')。 包含与 WhatsApp 帐户所有者的个人资料关联的图形文件。
  • 有时SD卡上可能存在一个目录 “文件” ('/mnt/sdcard/WhatsApp/文件/')。 该目录包含存储程序设置和用户首选项的文件。

部分型号移动设备的数据存储特点

某些运行 Android 操作系统的移动设备型号可能会将 WhatsApp 工件存储在不同的位置。 这是由于移动设备的系统软件改变了应用数据的存储空间。 例如,小米移动设备具有创建第二工作空间(“SecondSpace”)的功能。 激活此功能后,数据的位置会发生变化。 因此,如果在运行 Android 操作系统的常规移动设备中,用户数据存储在该目录中 '/数据/用户/0/' (这是对通常的参考 '/数据/数据/'),然后在第二个工作区中应用程序数据存储在目录中 '/数据/用户/10/'。 也就是说,使用文件位置的示例 'wa.db':

  • 在运行 Android 操作系统的普通智能手机中: /data/user/0/com.whatsapp/databases/wa.db' (这相当于 '/data/data/com.whatsapp/databases/wa.db');
  • 在小米智能手机的第二个工作区中: '/data/user/10/com.whatsapp/databases/wa.db'.

iOS 设备中的 WhatsApp 工件

与 Android 操作系统不同,iOS WhatsApp 应用程序数据会传输到备份副本(iTunes 备份)。 因此,从此应用程序提取数据不需要提取文件系统或创建所调查设备的物理内存转储。 大部分相关信息都包含在数据库中 '聊天存储.sqlite',它位于路径上: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/' (在某些程序中,该路径显示为 'AppDomainGroup-group.net.whatsapp.WhatsApp.shared').

产品管理 '聊天存储.sqlite':

WhatsApp 在您的手掌中:在哪里以及如何找到法医文物?
“ChatStorage.sqlite”数据库中信息最丰富的表是 'ZWA消息' и 'ZWAMEDIAITEM'.

台面外观 'ZWA消息':

WhatsApp 在您的手掌中:在哪里以及如何找到法医文物?
表“ZWAMESSAGE”的结构

字段名称
Z_PK 记录序列号(在SQL表中)
Z_ENT 表标识符,值为“9”
Z_OPT 未知,通常包含从'1'到'6'的值
ZChildMessagesDeliveredCOUNT 未知,通常包含值“0”
ZChildMessagesPlayedCount 未知,通常包含值“0”
ZChildmessagesreadcount 未知,通常包含值“0”
ZDATAIT版本 未知,通常包含值“3”,可能是短信指示符
ZDOCID 未知
ZENCRYCOUNT 未知,通常包含值“0”
ZFILTERED收件人计数 未知,通常包含值'0'、'2'、'256'
齐斯弗洛姆 消息方向:'0' - 传入,'1' - 传出
Z消息错误状态 消息传输状态。 如果消息已发送/接收,则其值为“0”
Z消息类型 正在传输的消息类型
零排序 未知
ZSpotlight状态 未知
Z星红 未知,未使用过
Z聊天会话 未知
Z集团成员 未知,未使用过
ZLAST会话 未知
ZMEDIATEM 未知
Z消息信息 未知
Z家长留言 未知,未使用过
Z消息日期 OS X Epoch Time 格式的时间戳
发送日期 以 OS X Epoch Time 格式发送消息的时间
ZFROMJID WhatsApp 发件人 ID
ZMediaSectionID 包含发送媒体文件的年份和月份
ZPHASH 未知,未使用过
ZPUSHPAME 发送 UTF-8 格式媒体文件的联系人姓名
兹斯坦兹 唯一的消息标识符
中文本 留言文字
中通吉德 收件人的 WhatsApp ID
OFFSET 排量

台面外观 'ZWAMEDIAITEM':

WhatsApp 在您的手掌中:在哪里以及如何找到法医文物?
表“ZWAMEDIAITEM”的结构

字段名称
Z_PK 记录序列号(在SQL表中)
Z_ENT 表标识符,值为“8”
Z_OPT 未知,通常包含从“1”到“3”的值。
ZCloud状态 如果文件已加载,则包含值“4”。
Z文件大小 包含下载文件的文件长度(以字节为单位)
ZMedia起源 未知,通常值为“0”
Z电影教育时长 媒体文件的持续时间,对于 pdf 文件,可能包含文档的页数
Z消息 包含序列号(该数字与“Z_PK”列中指示的数字不同)
纵横比 宽高比,未使用,通常设置为“0”
准确度 未知,通常值为“0”
纬度 宽度(以像素为单位)
中龙纬度 高度(以像素为单位)
ZMedia URL日期 OS X Epoch Time 格式的时间戳
作者姓名 作者(对于文档,可能包含文件名)
Z集合名称 没用过
ZMediaLocalPath 设备文件系统中的文件名(包括路径)
ZMediaURL 媒体文件所在的 URL。 如果文件从一个订阅者传输到另一个订阅者,则会对其进行加密,并且其扩展名将指示为所传输文件的扩展名 - .enc
Z缩略图本地路径 设备文件系统中文件缩略图的路径
标题 文件头
ZV卡名 媒体文件的哈希值;将文件传输到组时,它可能包含发送者标识符
ZV卡字符串 包含有关正在传输的文件类型的信息(例如,image/jpeg);将文件传输到组时,它可能包含接收者的标识符
ZXMPPT拇指路径 设备文件系统中文件缩略图的路径
ZMEDIAKEY 未知,可能包含解密加密文件的密钥。
元数据 所传输消息的元数据
抵销 排量

其他有趣的数据库表 '聊天存储.sqlite' 分别是:

  • 'ZWAPROFILEPUSHNAME'。 将 WhatsApp ID 与联系人姓名相匹配;
  • 'ZWA个人资料图片项目'。 将 WhatsApp ID 与联系人头像相匹配;
  • 'Z_PRIMARYKEY'。 该表包含有关此数据库的一般信息,例如存储的消息总数、聊天总数等。

此外,在运行 iOS 的移动设备上检查 WhatsApp 时,您应该注意以下文件:

  • 文件 'BackedUpKeyValue.sqlite'。 包含识别帐户所有者所需的加密密钥和其他数据。 位于路径沿线: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • 文件 'ContactsV2.sqlite'。 包含有关用户联系人的信息,例如全名、电话号码、联系状态(文本形式)、WhatsApp ID 等。 位于路径沿线: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • 文件 '消费者版本'。 包含已安装的 WhatsApp 应用程序的版本号。 位于路径沿线: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • 文件 '当前_壁纸.jpg'。 包含当前 WhatsApp 背景壁纸。 位于路径沿线: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/。 旧版本的应用程序使用该文件 '墙纸',它位于路径上: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'.
  • 文件 'blockedcontacts.dat'。 包含有关被阻止的联系人的信息。 位于路径沿线: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
  • 文件 'pw.dat'。 包含加密的密码。 位于路径沿线: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/'.
  • 文件 'net.whatsapp.WhatsApp.plist' (或文件 'group.net.whatsapp.WhatsApp.shared.plist')。 包含有关您的 WhatsApp 帐户个人资料的信息。 该文件位于以下路径: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/'.

文件“group.net.whatsapp.WhatsApp.shared.plist”的内容 WhatsApp 在您的手掌中:在哪里以及如何找到法医文物?
您还需要注意以下目录:

  • 目录 '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/'。 包含联系人、群组的缩略图(扩展名为 。拇指)、联系人头像、WhatsApp 帐户所有者头像(文件 '照片.jpg').
  • 目录 '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/'。 包含多媒体文件及其缩略图
  • 目录 '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'。 包含程序运行日志(文件 '通话记录')和程序操作日志的备份副本(文件 '通话.备份.日志').
  • 目录 '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/'。 包含贴纸(格式为的文件 '.webp').
  • 目录 '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/'。 包含程序运行日志。

Windows 上的 WhatsApp 工件

Windows 上的 WhatsApp 工件可以在多个地方找到。 首先,这些是包含可执行文件和辅助程序文件的目录(适用于 Windows 8/10):

  • 'C:Program Files (x86)WhatsApp'
  • 'C:Users%用户个人资料%AppDataLocalWhatsApp'
  • 'C:Users%用户个人资料%AppDataLocalVirtualStore程序文件(x86)WhatsApp'

在目录中 'C:Users%用户个人资料%AppDataLocalWhatsApp' 日志文件位于 'SquirrelSetup.log',其中包含有关检查更新和安装程序的信息。

在目录中 'C:Users%用户个人资料%AppDataRoamingWhatsApp' 有几个子目录:

WhatsApp 在您的手掌中:在哪里以及如何找到法医文物?
文件 '主进程.log' 包含有关 WhatsApp 程序操作的信息。

子目录 “数据库” 包含一个文件 '数据库.db',但此文件不包含有关聊天或联系人的任何信息。

从取证的角度来看,最有趣的是位于目录中的文件 '缓存'。 这些基本上是名为 'F_*******' (其中*是0到9的数字)包含加密的多媒体文件和文档,但其中也有未加密的文件。 特别感兴趣的是文件 “数据_0”, “数据_1”, “数据_2”, “数据_3”,位于同一子目录中。 文件 “数据_0”, “数据_1”, “数据_3” 包含传输的加密多媒体文件和文档的外部链接。

文件“data_1”中包含的信息示例WhatsApp 在您的手掌中:在哪里以及如何找到法医文物?
还归档 “数据_3” 可能包含图形文件。

文件 “数据_2” 包含联系人头像(可以通过文件头搜索来恢复)。

文件中包含的头像 “数据_2”:

WhatsApp 在您的手掌中:在哪里以及如何找到法医文物?
因此,聊天本身无法在计算机内存中找到,但您可以找到:

  • 多媒体文件;
  • 通过 WhatsApp 传输的文件;
  • 有关帐户所有者的联系人的信息。

MacOS 上的 WhatsApp 工件

在 MacOS 中,您可以找到与 Windows 操作系统中类似的 WhatsApp 工件类型。

程序文件位于以下目录中:

  • 'C:ApplicationsWhatsApp.app'
  • 'C:应用程序._WhatsApp.app'
  • 'C:Users%用户配置文件%LibraryPreferences'
  • 'C:Users%用户个人资料%LibraryLogsWhatsApp'
  • 'C:Users%用户个人资料%LibrarySaved应用程序状态WhatsApp.savedState'
  • 'C:Users%用户配置文件%LibraryApplication Scripts'
  • 'C:Users%用户配置文件%LibraryApplication SupportCloudDocs'
  • 'C:Users%用户个人资料%LibraryApplication SupportWhatsApp.ShipIt'
  • 'C:Users%用户个人资料%LibraryContainerscom.rockysandstudio.app-for-whatsapp'
  • 'C:Users%用户个人资料%库移动文档 <文本变量> WhatsApp 帐户'
    此目录包含子目录,其名称是与 WhatsApp 帐户所有者关联的电话号码。
  • 'C:Users%用户个人资料%LibraryCachesWhatsApp.ShipIt'
    该目录包含有关安装程序的信息。
  • 'C:Users%用户个人资料%PicturesiPhoto Library.photolibraryMasters', 'C:Users%用户个人资料%PicturesiPhoto Library.photolibraryThumbnails'
    这些目录包含程序的服务文件,包括 WhatsApp 联系人的照片和缩略图。
  • 'C:Users%用户个人资料%LibraryCachesWhatsApp'
    该目录包含多个用于数据缓存的 SQLite 数据库。
  • 'C:Users%用户个人资料%LibraryApplication SupportWhatsApp'
    该目录包含几个子目录:

    WhatsApp 在您的手掌中:在哪里以及如何找到法医文物?
    在目录中 'C:Users%用户个人资料%LibraryApplication SupportWhatsAppCache' 有文件 “数据_0”, “数据_1”, “数据_2”, “数据_3” 以及带有名称的文件 'F_*******' (其中 * 是 0 到 9 之间的数字)。 有关这些文件包含哪些信息的信息,请参阅 Windows 上的 WhatsApp Artifacts。

    在目录中 'C:Users%用户个人资料%LibraryApplication SupportWhatsAppIndexedDB' 可能包含多媒体文件(文件没有扩展名)。

    文件 '主进程.log' 包含有关 WhatsApp 程序操作的信息。

来源

  1. Android 智能手机上 WhatsApp Messenger 的取证分析,作者:Cosimo Anglano,2014 年。
  2. Whatsapp 取证:Eksplorasi 系统和基础数据应用程序 Android 和 iOS 作者:Ahmad Pratama,2014 年。

在本系列的以下文章中:

加密 WhatsApp 数据库的解密这篇文章将提供有关如何生成 WhatsApp 加密密钥的信息以及展示如何解密该应用程序的加密数据库的实际示例。
从云存储中提取 WhatsApp 数据在一篇文章中,我们将告诉您 WhatsApp 数据存储在云中,并描述从云存储中检索这些数据的方法。
WhatsApp 数据提取:实例这篇文章将逐步介绍哪些程序以及如何从各种设备中提取 WhatsApp 数据。

来源: habr.com

添加评论