🔥空闲之余我对抖音数据库聊天进行了浅浅的解析

目前在抖音打出的包里面:在database文件夹下面存在存着许多数据库,这个大概挨个梳理了一下,有用目前就两个数据库:抖音id_im.db(eg:95034530671_im.db):这里面存放了抖音会话,聊天消息记录信息;im_biz_抖音id(eg:im_biz_95034530671.db):这里面存放的是抖音联系人的信息,例如昵称,头像地址,备注......等等

当前抖音id获取方式:当前抖音id在打出来的包shared_pref文件夹下面local_user.xml里面可以拿到

项目推荐:基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba企业级系统架构底层框架封装,解决业务开发时常见的非功能性需求,防止重复造轮子,方便业务快速开发和企业技术栈框架统一管理。引入组件化的思想实现高内聚低耦合并且高度可配置化,做到可插拔。严格控制包依赖和统一版本管理,做到最少化依赖。注重代码规范和注释,非常适合个人学习和企业使用

Github地址github.com/plasticene/...

Gitee地址gitee.com/plasticene3...

微信公众号Shepherd进阶笔记

接下来进入今天主题:基于Android解析抖音数据库

1.聊天会话

会话涉及两张表在(抖音id_im.db)库中:conversation_list(会话列表), conversation_core(会话信息表),在

conversation_list存放了当前微信的所有会话,包括好友会话,群会话

conversation_core存放是单个会话的信息,这里如果是群会话,群的昵称要在这里才能取到。

查收会话的sql如下:

css 复制代码
select a.conversation_id, a.short_id, a.type, b.name, b.icon from conversation_list a inner join conversation_core b on b.conversation_id=a.conversation_id where a.updated_time > 0
​

2.聊天消息记录

抖音的聊天消息记录存放在(抖音id_im.db)库的msg表中,查询sql如下:

css 复制代码
select a.conversation_id, a.short_id, a.type, b.name, b.icon from conversation_list a inner join conversation_core b on b.conversation_id=a.conversation_id where a.updated_time > 0
​

conversation_type:会话类型 1:好友会话 2:群会话

type:消息类型 7:文本 27:图片 17或501:语音(501目前猜测就是最条语音看到,但是没有点看来听) 30:小视频 73:语音通话

以上type不一定准确,数据包研究场景比较少

3.抖音联系人

抖音的联系在(im_biz_抖音id)库的SIMPLE_USER中,具体联系人的昵称,抖音号,备注,头像......等等字段可自行去查看

相关推荐
minji...16 分钟前
MySQL数据库 (八) MySQL表的基本查询(下),truncate、group by、聚合函数、分组聚合统计
数据库·mysql·聚合函数·update·分组聚合统计
乐世东方客20 分钟前
备份脚本记录(binlog文件+mysql+mongo)
android·数据库·mysql
暴力求解20 分钟前
MySQL---数据类型
数据库·mysql
Nturmoils22 分钟前
分页别写太顺手,LIMIT 背后还有排序和边界
数据库·后端
小饕23 分钟前
RAG学习之【向量数据库】Milvus 从入门到精通:索引、检索、混合搜索一篇打通(RAG 必备)
数据库·人工智能·学习·milvus
神奇小汤圆26 分钟前
国产版“Codex”初体验,智谱ZCode很强啊!
后端
站大爷IP27 分钟前
Python里的“赋值”到底是什么意思?
后端
鹅城剑仙1 小时前
Spring Boot 微服务架构设计与最佳实践
spring boot·后端·微服务
kisdiem1 小时前
RAG ENGINEERING · 中文教程从文档到可靠答案
数据库
SilentSamsara1 小时前
向量数据库实战:Chroma/Milvus/Qdrant 选型与语义搜索应用
开发语言·数据库·人工智能·python·青少年编程·milvus