CN113489635A - 基于微信的消息恢复方法和相关设备 - Google Patents

基于微信的消息恢复方法和相关设备 Download PDF

Info

Publication number
CN113489635A
CN113489635A CN202110676384.9A CN202110676384A CN113489635A CN 113489635 A CN113489635 A CN 113489635A CN 202110676384 A CN202110676384 A CN 202110676384A CN 113489635 A CN113489635 A CN 113489635A
Authority
CN
China
Prior art keywords
message
data
session
length
cache unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110676384.9A
Other languages
English (en)
Other versions
CN113489635B (zh
Inventor
李盛
李靖国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Ruan Niu Technology Group Co ltd
Original Assignee
Afirstsoft Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Afirstsoft Co Ltd filed Critical Afirstsoft Co Ltd
Priority to CN202110676384.9A priority Critical patent/CN113489635B/zh
Publication of CN113489635A publication Critical patent/CN113489635A/zh
Application granted granted Critical
Publication of CN113489635B publication Critical patent/CN113489635B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5683Storage of data provided by user terminals, i.e. reverse caching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于微信的消息恢复方法和相关设备,所述方法包括获取缓存文件,其中,所述缓存文件包含若干个缓存单元;针对每一个所述缓存单元,对该缓存单元进行解析,得到该缓存单元对应的若干个会话数据;针对每一个所述会话数据,根据该会话数据中的会话标签,确定所述会话数据中的若干个消息数据;针对每一个所述消息数据,根据该消息数据中的消息标签,对所述消息数据进行解析,得到若干个消息信息。本发明通过对缓存文件进行解析,能够恢复微信聊天记录,甚至是用户已经删除的聊天记录,帮助用户找回聊天记录。

Description

基于微信的消息恢复方法和相关设备
技术领域
本发明涉及数据处理技术领域,特别涉及一种基于微信的消息恢复方法和相关设备。
背景技术
随着科技发展,移动通信技术正在不断的提高,智能终端,例如手机、电脑,已经成为人们工作生活中不可缺少的一项社交工具。微信(WeChat)是腾讯公司于2011年1月21日推出的一个为智能终端提供即时通讯服务的免费应用程序,微信支持跨通信运营商、跨操作系统平台通过网络快速发送免费(需消耗少量网络流量)语音短信、视频、图片和文字。据统计,截至2019年,微信的活跃账户达到11.51亿,用户覆盖200多个国家,超过20种语言。
微信具有一个功能叫做删除,作用是将聊天内容从聊天记录中删除。但是有时候用户会因为误点删除,或者删除之后又想要找回该聊天内容,此时用户需要启用恢复微信删除数据的手段。目前的手段主要有两种,一种是预先将聊天记录备份至PC端本地,再基于的备份的聊天记录寻找之前删除的聊天内容。另一种方式是通过微信数据库,通过数据库的删除数据只是标记删除而非真正删除这一设定来进行恢复,或者通过微信自身的索引数据库查找删除的聊天内容。
现在主要的恢复软件或恢复方法主要采用第二种方式实现,但随着微信对数据安全越来越重视,其对微信数据库和索引数据库设置删除的数据采用填零操作,因此当用户删除一条消息后,在微信的数据库中也无法找到该消息。因此除非在聊天记录删除后立刻关闭手机,或者删除聊天记录之后立刻进行备份,数据库中可能还留存删除的聊天记录。因此条件过于苛刻,缺乏实用性。
发明内容
本发明要解决的技术问题在于基于微信的消息恢复,针对现有技术的不足,提供一种基于微信的消息恢复方法。
为了解决上述技术问题,本发明所采用的技术方案如下:
一种基于微信的消息恢复方法,所述方法包括:
获取缓存文件,其中,所述缓存文件包含若干个缓存单元;
针对每一个所述缓存单元,对该缓存单元进行解析,得到该缓存单元对应的若干个会话数据;
针对每一个所述会话数据,根据该会话数据中的会话标签,确定所述会话数据中的若干个消息数据;
针对每一个所述消息数据,根据该消息数据中的消息标签,对所述消息数据进行解析,得到若干个消息信息。
所述基于微信的消息恢复方法,其中,所述针对每一个所述缓存单元,对该缓存单元进行解析,得到该缓存单元对应的若干个会话数据,具体包括:
针对每一个所述缓存单元,根据预设的会话数据长度地址,确定该缓存单元对应的会话数据长度,以及根据预设的会话名长度地址,确定该缓存单元对应的会话名长度;
根据所述会话名长度和预设的会话初始地址,确定该缓存单元对应的会话数据起点;
根据所述会话数据长度,以所述会话数据起点为读取起点,读取与所述会话数据长度相等长度的数据,得到与该缓存单元对应的会话数据。
所述基于微信的消息恢复方法,其中,所述针对每一个所述会话数据,根据该会话数据中的会话标签,确定所述会话数据中的若干个消息数据,具体包括:
针对每一个所述会话数据,遍历该会话数据中的若干个会话标签,直至遍历到该会话数据中的最后一个会话标签;以及,
在遍历过程中,针对每一个所述会话标签,当该会话标签的数值等于为预设的消息值时,根据该会话标签对应的长度参数,以所述长度参数的后一位数据为读取起点,读取与所述长度参数的数值相等的数据,得到与所述会话数据对应的若干个消息数据。
所述基于微信的消息恢复方法,其中,所述消息信息包括若干个消息参数;所述针对每一个所述消息数据,根据该消息数据中的消息标签,对所述消息数据进行解析,得到若干个消息信息,具体包括:
针对每一个所述消息数据,遍历该消息数据中的若干个消息标签,直至遍历到该消息数据中的最后一个消息标签;
以及,在遍历过程中,针对每一个所述消息标签,根据该消息标签的数值,提取该消息数据中的消息参数。
所述基于微信的消息恢复方法,其中,所述消息参数包括创建时刻和消息内容;所述根据该消息标签的数值,提取该消息数据中的消息参数,具体包括:
当该消息标签的数值为预设的创建值时,以该消息标签的后一位数据为读取起点,读取该消息标签对应的小端整形值,得到该消息标签对应的创建时刻;
当该消息标签的数字为预设的内容长度值时,以该消息标签的后一位数据为读取起点,读取该消息标签对应的小端整形值,得到该消息标签对应的消息长度;
根据该消息长度,以该消息长度的后一位数据为读取起点,读取与该消息长度相等长度的数据,得到与该消息标签对应的消息内容。
所述基于微信的消息恢复方法,其中,所述获取缓存文件之前,具体包括:
获取备份文件
根据预设的缓存地址规则和缓存命名规则,确定所述备份文件中的缓存文件。
所述基于微信的消息恢复方法,其中,所述针对每一个所述缓存单元,对该缓存单元进行解析,得到该缓存单元对应的若干个会话数据,具体包括:
针对每一个所述缓存单元,根据预设的会话名长度地址,确定该缓存单元对应的会话名长度;
根据所述会话名长度,以预设的会话名起点为读取起点,读取与所述会话名长度相等长度的数据,得到会话名。
一种基于微信的消息恢复装置,其中,所述针对每一个所述消息数据,根据该消息数据中的消息标签,对所述消息数据进行解析,得到若干个消息信息之后,还包括:
根据预设的消息命名规则和消息地址规则,确定所述备份文件中的消息文件;
根据所述会话名,确定所述消息文件中与所述会话名对应的消息记录表;
根据所述消息内容和所述创建时刻,对所述消息记录表进行遍历,确定所述消息信息中的删除信息。
一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的基于微信的消息恢复方法中的步骤。
一种终端设备,其包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如上任一所述的基于微信的消息恢复方法中的步骤。
有益效果:与现有技术相比,本发明提供了一种基于微信的消息恢复方法和相关设备。在会话聊天过程中,软件程序会对数据进行缓存,只要用户不主动删除,缓存文件会长期保存,本发明利用缓存文件的这一个特点,先获取缓存文件,缓存文件中包含有若干个缓存单元,每一个缓存单元记录有若干个会话数据,而会话数据是通过对多个消息数据进行整合得到的,因此本发明依次对单元、会话数据、消息数据进行解析,从而从缓存数据中恢复用户在聊天过程中的消息内容。虽然用户在聊天内容中误将重要的消息删除,微信会在数据库中将该消息删除,但是缓存文件中依然保存有该数据,因此针对用户误删除的重要消息,基于本方案也能实现有效恢复。
附图说明
图1为本发明提供的基于微信的消息恢复方法的总体流程图。
图2为本发明提供的基于微信的消息恢复方法中获取缓存文件的地址示意图。
图3为本发明提供的基于微信的消息恢复方法中对消息数据进行解析的流程图。
图4为本发明提供的基于微信的消息恢复方法中获取消息文件的地址示意图。
图5为本发明提供的基于微信的消息恢复方法中对确定删除信息的流程图。
图6为本发明提供的终端设备的结构原理图。
具体实施方式
本发明提供一种基于微信的消息恢复方法和相关设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
发明人经过研究发现,随着微信对数据安全越来越重视,其对微信数据库和索引数据库设置删除的数据采用填零操作,因此当用户删除一条消息后,在微信的数据库中也无法找到该消息。因此除非在聊天记录删除后立刻关闭手机,或者删除聊天记录之后立刻进行备份,数据库中可能还留存删除的聊天记录。因此条件过于苛刻,缺乏实用性。
为了解决上述问题,在本发明实施例中,获取缓存文件,其中,所述缓存文件包含若干个缓存单元;针对每一个所述缓存单元,对该缓存单元进行解析,得到该缓存单元对应的若干个会话数据;针对每一个所述会话数据,根据该会话数据中的会话标签,确定所述会话数据中的若干个消息数据;针对每一个所述消息数据,根据该消息数据中的消息标签,对所述消息数据进行解析,得到若干个消息信息。
下面结合附图,通过对实施例的描述,对发明内容作进一步说明。
如图1所示,本实施提供了一种基于微信的消息恢复方法,所述方法可以包括以下步骤:
S10、获取缓存文件。
具体地,缓存文件是指在用户通过微信进行聊天会话过程与服务器之间对传输的数据进行缓存的得到的文件。首先需要将缓存文件进行导出。本实施例以苹果电脑或其他第三方软件为例,描述获取缓存文件的过程。
首先对在智能终端登录的微信账号对应的聊天内容进行备份,得到基于iOS系统的备份文件。默认的备份文件的文件名为“Manifest.db”。备份文件本质上就是一个数据库,在该数据库中包含有多个子数据库,根据预设的缓存地址规则和缓存命名规则,确定所述备份文件中的缓存文件。其中,缓存地址规则是指在备份文件中缓存文件存储位置的地址规则,而缓存命名规则是指对缓存文件进行命名的规则,缓存文件的文件名默认为“level_\*”,例如“level_0”、“level_1”。在本实施例中,如同2所示,其中白框部分为查找语句,可采用图中的查找语句查找到缓存文件:“SELECT fileID FROM Files WHEREdomain='AppDomain-com.tencent.xin'AND relativePath LIKE'Documents/{用户对应的md5值}/session/lsm_data/level_%”。
S20、针对每一个所述缓存单元,对该缓存单元进行解析,得到该缓存单元对应的若干个会话数据。
具体地,在微信中,缓存文件“level_*”文件是一种二进制文件,由若干个缓存单元组成,每一个缓存单元代表着一个会话信息,包含有头部信息、会话名以及内容信息。以一个缓存单元为例,根据该缓存单元中相对于该缓存单元的开头地址,对该缓存单元的组成进行描述,一个缓存单元包括:
0x00:一个4字节小端整形类型的时间戳,这个时间戳用于记录该缓存单元的创建时刻。
0x04:一段32字节的空白,用于将时间戳与其他内容进行隔开。
0x24:一个4字节小端整形类型的cell_key(单元-关键)值,用于记录描述该缓存单元的关键值。
0x28:一个4字节小端整形类型的会话名长度session_id_size,用于记录后续的会话名的长度,以便于将会话名与其他内容区分。
0x2C:一个4字节小端整形类型的内容长度content_size(会话数据长度),用于该缓存单元所附带会话数据的总长度。
0x30:一段长度为session_id_size(会话名长度)的会话名字符串,用于记录该会话的会话名。
因此,针对每一个所述缓存单元,根据预设的会话数据长度地址,确定该缓存单元对应的会话数据长度。在本实施例中,会话数据长度地址即前面描述的缓存单元结构中的0x2C。同时,根据预设的会话名长度地址,确定该缓存单元对应的会话名长度,会话名长度地址即前文描述的缓存单元结构中的0x28。
然后根据所述会话名长度和预设的会话初始地址,确定该缓存单元对应的会话数据起点,会话数据起点即0x30+session_id_size的下一个字节,由于session_id_size的具体长度不一,因此从该缓存单元的0x30+session_id_size的下一个字节为会话数据起点,并没有固定的会话数据起点。
最后,根据所述会话数据长度,以会话数据起点为读取起点,读取与所述会话数据长度相等长度的数据,得到与该缓存单元对应的会话数据。
进一步地,针对每一个所述缓存单元,根据预设的会话名长度地址,确定该缓存单元对应的会话名长度。在本实施例中,会话名长度地址即前面描述的缓存单元结构中的0x28,先根据该会话名长度地址,获取该地址的数字,从而确定会话名长度。然后根据所述会话名长度,以预设的会话名起点为读取起点,读取与所述会话名长度相等长度的数据,得到会话名。在本实施例中,预设的会话名起点为在缓存单元中地址为0x28的下一个字节,从会话名起点为读取起点持续地读取后续数据,直至读取的数据长度与会话名长度相等,即得到了该缓存单元对应的会话名。此外,这种方式读取的会话名并非是可直接显示在,其一般为进行编码后的数据,因此如果后续用于恢复的消息展示时,需要对得到的会话名进行解码,得到可视化的会话名。
此外,上述实施例只描述了会话名与会话数据的获取方式,但是在缓存单元中的其他数据可采用类似的方式获取,在此不再一一赘述。
S30、针对每一个所述会话数据,根据该会话数据中的会话标签,确定所述会话数据中的若干个消息数据。
具体地,在上一步解析所获取的会话数据并非能够直接被用户所识别,是以计算机语言存储的,因此还需要对会话数据进行解析。在会话数据中包含若干个会话标签,用于区分会话数据中与聊天记录直接相关的数据以及不相关的数据。
首先读取会话数据中的会话标签,在本实施例中,会话标签为一个小端变长整形值标记(tag),以此判断是该会话标签后续的数据是否是与聊天内容有关的信息,即是否为消息数据。
预先根据针对每一个会话标签,先判断会话标签的数值是否为预设的消息标签值,在本实施例中,预设的消息标签值为0x12。若tag值等于0x12,即会话标签的数值等于消息标签值,则直接在会话标签后读取小端变长整形值消息长度值(len值)。并根据len值,在消息长度值后读取与len值相等长度的数据,得到与该会话标签对应的消息数据。
若tag值不等于0x12,即会话标签的数值等于消息标签值,则在tag后读取小端变长整形值的非消息长度值,并根据非消息长度值,跳过与非消息长度值长度相等的数据,从而读取下一个会话标签,直至该会话数据中的所有会话标签被遍历完毕。
S40、针对每一个所述消息数据,根据该消息数据中的消息标签,对所述消息数据进行解析,得到若干个消息信息。
具体地,消息数据中也存在有若干个消息标签,本实施例中的消息标签的形式为小端变长整形值标签。消息标签用于标记消息数据中的每一段数据的数据类型,根据消息标签,可确定消息标签后的数据的数据类型。针对每一个所述消息数据,遍历该消息数据中的若干个消息标签,直至遍历到该消息数据中的最后一个消息标签,在遍历过程中,针对每一个所述消息标签,根据该消息标签的数值,提取该消息数据中的消息参数。本实施例中,消息参数包括创建时刻、单条消息发送者名称、群聊消息发送者、消息内容等。具体过程如图3所示,当消息数据的数值等于预设的消息类型值时,在本实施例中消息类型值为0x18,读取在该消息标签之后的小端整形值作为该消息数据对应的消息类型。
若消息数据的数值等于预设的创建值,在本实施例中为创建值0x38,则说明该消息标签之后的数据类型为消息创建时刻。因此以该消息标签的后一位数据为读取起点,读取在该消息标签之后的小端整形值作为该消息数据对应的创建时刻。
当消息标签的数值等于预设单条消息发送者值时,在本实施例中单条消息发送者值为0x42,说明该消息标签之后的数据类型为单条消息发送者名称(sender_wxid)。因此以该消息标签的后一位数据为读取起点,读取在该消息标签之后的小端整形值,得到单条消息发送者名称长度,然后根据单条消息发送者名称长度,在小端整形值之后读取与单条消息发送者名称长度相等长度的字符串,并将该字符串作为单条消息发送者名称。
当消息标签的数值等于预设的群聊消息发送者值时,在本实施例中群聊消息发送者值为0x52,说明该消息标签之后的数据类型为群聊消息发送者名称。因此以该消息标签的后一位数据为读取起点,读取在该消息标签之后的小端整形值,得到群聊消息发送者名称长度,然后根据群聊消息发送者名称长度,在小端整形值之后提取与群聊消息发送者名称长度相等长度的字符串,并将该字符串作为群聊消息发送者名称。
当消息标签的数值等于预设的消息长度值时,在本实施例中预设的消息长度值为0x5a,说明该消息标签之后的数据类型为消息内容。因此以该消息标签的后一位数据为读取起点,读取在该消息标签之后的小端整形值,得到消息长度,然后根据消息长度,以该消息长度的后一位数据为读取起点,读取与该消息长度相等长度的数据,得到与该消息标签对应的消息内容。
当消息标签的数值等于预设的跳转值时,例如等于0x4a或0x6a,则紧接着消息标签读取一个小端整形值作为跳转长度,然后跳过长度与跳转长度相等的数据,以读取下一个消息标签
当消息标签的数值不是上述情况,则说明该消息标签之后的数据类型为数据暂不需要,跳过即可。因此读取紧接着消息标签的一个小端变长整形值,在跳过该小端变长整形值。
通过以上方式,可得到多个消息参数。在本实施例中,消息信息由消息参数构成。在本实施例的第一种实现方式中,将上述所有的消息参数进行整合,即可得到用户想要恢复的会话数据。
在本实施例的第二种实现方式中,用户可能大多数消息都已经保存,主要是想要恢复被自己删除的数据,那么就需要将所得到的消息信息与现有的消息记录进行比较。为此,预先根据预设的消息命名规则和消息地址规则,确定所述备份文件中的消息文件。消息文件即存储有已经被微信软件处理过的记录消息记录的文件。在本实施例中,消息文件命名规则为“message_%.sqlite”,例如“message_1.sqlite”、“message_2.sqlite”。而地址规则为“Documents/{用户对应的md5值}/DB/”。因此可采用查找语句在备份文件中查找到消息文件,查找语句可参阅图4中的白框部分,查找语句可为“SELECT fileID FROM FilesWHERE domain=’AppDomain-com.tencent.xin’AND relativePath LIKE‘Documents/{用户对应的md5值}/DB/message_%.sqlite”。
消息文件中包含有若干张消息记录表,消息记录表用于记录每一个会话对应的消息记录。在消息记录表中,为区分所对应的会话,一般采用会话名命名。因此可根据所述会话名,确定所述消息文件中与所述会话名对应的消息记录表在本实施例中,根据会话名(session_id),确定消息记录表的名称为Chat_{session_id的32位md5值}的表为与会话名对应的消息表。
最后,消息记录表中除记录有消息内容外,还会记录该消息的发送时刻,也就是消息内容的创建时刻。如图5所示,因此根据所述消息内容和所述创建时刻,对所述消息记录表进行遍历。针对每一条消息信息,若该消息信息在消息记录表中存在消息内容一致的信息,则该消息信息为未删除信息。若该消息信息在消息记录表中不存在消息内容一致的信息,则该消息信息为删除信息。后续用户可根据自己的需求进行恢复或者筛选等操作。
基于上述基于微信的消息恢复方法,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例所述的基于微信的消息恢复方法中的步骤。
基于上述基于微信的消息恢复方法,本发明还提供了一种终端设备,如图6所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取计算机可读存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态计算机可读存储介质。
此外,上述计算机可读存储介质以及终端设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于微信的消息恢复方法,其特征在于,所述方法包括:
获取缓存文件,其中,所述缓存文件包含若干个缓存单元;
针对每一个所述缓存单元,对该缓存单元进行解析,得到该缓存单元对应的若干个会话数据;
针对每一个所述会话数据,根据该会话数据中的会话标签,确定所述会话数据中的若干个消息数据;
针对每一个所述消息数据,根据该消息数据中的消息标签,对所述消息数据进行解析,得到若干个消息信息。
2.根据权利要求1所述基于微信的消息恢复方法,其特征在于,所述针对每一个所述缓存单元,对该缓存单元进行解析,得到该缓存单元对应的若干个会话数据,具体包括:
针对每一个所述缓存单元,根据预设的会话数据长度地址,确定该缓存单元对应的会话数据长度,以及根据预设的会话名长度地址,确定该缓存单元对应的会话名长度;
根据所述会话名长度和预设的会话初始地址,确定该缓存单元对应的会话数据起点;
根据所述会话数据长度,以所述会话数据起点为读取起点,读取与所述会话数据长度相等长度的数据,得到与该缓存单元对应的会话数据。
3.根据权利要求1所述基于微信的消息恢复方法,其特征在于,所述针对每一个所述会话数据,根据该会话数据中的会话标签,确定所述会话数据中的若干个消息数据,具体包括:
针对每一个所述会话数据,遍历该会话数据中的若干个会话标签,直至遍历到该会话数据中的最后一个会话标签;以及,
在遍历过程中,针对每一个所述会话标签,当该会话标签的数值等于为预设的消息值时,根据该会话标签对应的长度参数,以所述长度参数的后一位数据为读取起点,读取与所述长度参数的数值相等的数据,得到与所述会话数据对应的若干个消息数据。
4.根据权利要求1所述基于微信的消息恢复方法,其特征在于,所述消息信息包括若干个消息参数;所述针对每一个所述消息数据,根据该消息数据中的消息标签,对所述消息数据进行解析,得到若干个消息信息,具体包括:
针对每一个所述消息数据,遍历该消息数据中的若干个消息标签,直至遍历到该消息数据中的最后一个消息标签;
以及,在遍历过程中,针对每一个所述消息标签,根据该消息标签的数值,提取该消息数据中的消息参数。
5.根据权利要求4所述基于微信的消息恢复方法,其特征在于,所述消息参数包括创建时刻和消息内容;所述根据该消息标签的数值,提取该消息数据中的消息参数,具体包括:
当该消息标签的数值为预设的创建值时,以该消息标签的后一位数据为读取起点,读取该消息标签对应的小端整形值,得到该消息标签对应的创建时刻;
当该消息标签的数字为预设的内容长度值时,以该消息标签的后一位数据为读取起点,读取该消息标签对应的小端整形值,得到该消息标签对应的消息长度;
根据该消息长度,以该消息长度的后一位数据为读取起点,读取与该消息长度相等长度的数据,得到与该消息标签对应的消息内容。
6.根据权利要求5所述基于微信的消息恢复方法,其特征在于,所述获取缓存文件之前,具体包括:
获取备份文件
根据预设的缓存地址规则和缓存命名规则,确定所述备份文件中的缓存文件。
7.根据权利要求6所述基于微信的消息恢复方法,其特征在于,所述针对每一个所述缓存单元,对该缓存单元进行解析,得到该缓存单元对应的若干个会话数据,具体包括:
针对每一个所述缓存单元,根据预设的会话名长度地址,确定该缓存单元对应的会话名长度;
根据所述会话名长度,以预设的会话名起点为读取起点,读取与所述会话名长度相等长度的数据,得到会话名。
8.根据权利要求7所述基于微信的消息恢复方法,其特征在于,所述针对每一个所述消息数据,根据该消息数据中的消息标签,对所述消息数据进行解析,得到若干个消息信息之后,还包括:
根据预设的消息命名规则和消息地址规则,确定所述备份文件中的消息文件;
根据所述会话名,确定所述消息文件中与所述会话名对应的消息记录表;
根据所述消息内容和所述创建时刻,对所述消息记录表进行遍历,确定所述消息信息中的删除信息。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1~8任意一项所述的基于微信的消息恢复方法中的步骤。
10.一种终端设备,其特征在于,包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如权利要求1~8任意一项所述的基于微信的消息恢复方法中的步骤。
CN202110676384.9A 2021-06-18 2021-06-18 基于微信的消息恢复方法和相关设备 Active CN113489635B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110676384.9A CN113489635B (zh) 2021-06-18 2021-06-18 基于微信的消息恢复方法和相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110676384.9A CN113489635B (zh) 2021-06-18 2021-06-18 基于微信的消息恢复方法和相关设备

Publications (2)

Publication Number Publication Date
CN113489635A true CN113489635A (zh) 2021-10-08
CN113489635B CN113489635B (zh) 2023-08-18

Family

ID=77933943

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110676384.9A Active CN113489635B (zh) 2021-06-18 2021-06-18 基于微信的消息恢复方法和相关设备

Country Status (1)

Country Link
CN (1) CN113489635B (zh)

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080195891A1 (en) * 2007-02-13 2008-08-14 International Business Machines Corporation Computer-implemented methods, systems, and computer program products for autonomic recovery of messages
CN104598324A (zh) * 2014-10-13 2015-05-06 腾讯科技(深圳)有限公司 一种已删除信息的恢复方法和装置
CN105243340A (zh) * 2015-11-18 2016-01-13 浪潮(北京)电子信息产业有限公司 一种防止HBase中数据误删除的方法及系统
CN105338006A (zh) * 2015-12-15 2016-02-17 烽火通信科技股份有限公司 Ims系统中被叫侧sip协议栈会话状态备份恢复的方法
CN105591810A (zh) * 2015-10-22 2016-05-18 杭州华三通信技术有限公司 备份消息发送方法和设备
US20160277327A1 (en) * 2014-06-20 2016-09-22 Tencent Technology (Shenzhen) Company Limited Method and system for caching input content
US20170195375A1 (en) * 2016-01-04 2017-07-06 Cisco Technology, Inc. Multiparty real-time communications support over information-centric networking
CN107666625A (zh) * 2017-08-08 2018-02-06 武汉斗鱼网络科技有限公司 一种消息处理方法、装置及电子设备
WO2018060598A1 (fr) * 2016-09-30 2018-04-05 Orange Procédé de restitution d'une pluralité de messages échangés avec un agent conversationnel
CN108200263A (zh) * 2017-12-28 2018-06-22 维沃移动通信有限公司 一种信息处理方法及装置
CN109308229A (zh) * 2017-07-26 2019-02-05 四川秘无痕信息安全技术有限责任公司 一种恢复微信聊天记录的方法
CN109450777A (zh) * 2018-12-28 2019-03-08 苏州开心盒子软件有限公司 会话信息提取方法、装置、设备和介质
CN109783258A (zh) * 2019-02-21 2019-05-21 北京奇艺世纪科技有限公司 一种消息处理方法、装置及服务器
CN109857812A (zh) * 2019-02-27 2019-06-07 珠海天燕科技有限公司 一种处理缓存中数据的方法和装置
US20190238536A1 (en) * 2018-01-26 2019-08-01 Qualcomm Incorporated Techniques for resuming a secure communication session
CN110392120A (zh) * 2019-08-15 2019-10-29 锐捷网络股份有限公司 一种消息推送过程中故障的恢复方法及装置
US20200192766A1 (en) * 2018-12-17 2020-06-18 Sap Se Transparent Database Session Recovery With Client-Side Caching
KR20200136631A (ko) * 2019-05-28 2020-12-08 국민대학교산학협력단 캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법
CN112306748A (zh) * 2020-10-21 2021-02-02 深圳万兴软件有限公司 数据恢复方法、设备及存储介质

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080195891A1 (en) * 2007-02-13 2008-08-14 International Business Machines Corporation Computer-implemented methods, systems, and computer program products for autonomic recovery of messages
US20160277327A1 (en) * 2014-06-20 2016-09-22 Tencent Technology (Shenzhen) Company Limited Method and system for caching input content
CN104598324A (zh) * 2014-10-13 2015-05-06 腾讯科技(深圳)有限公司 一种已删除信息的恢复方法和装置
CN105591810A (zh) * 2015-10-22 2016-05-18 杭州华三通信技术有限公司 备份消息发送方法和设备
CN105243340A (zh) * 2015-11-18 2016-01-13 浪潮(北京)电子信息产业有限公司 一种防止HBase中数据误删除的方法及系统
CN105338006A (zh) * 2015-12-15 2016-02-17 烽火通信科技股份有限公司 Ims系统中被叫侧sip协议栈会话状态备份恢复的方法
US20170195375A1 (en) * 2016-01-04 2017-07-06 Cisco Technology, Inc. Multiparty real-time communications support over information-centric networking
WO2018060598A1 (fr) * 2016-09-30 2018-04-05 Orange Procédé de restitution d'une pluralité de messages échangés avec un agent conversationnel
CN109308229A (zh) * 2017-07-26 2019-02-05 四川秘无痕信息安全技术有限责任公司 一种恢复微信聊天记录的方法
CN107666625A (zh) * 2017-08-08 2018-02-06 武汉斗鱼网络科技有限公司 一种消息处理方法、装置及电子设备
CN108200263A (zh) * 2017-12-28 2018-06-22 维沃移动通信有限公司 一种信息处理方法及装置
US20190238536A1 (en) * 2018-01-26 2019-08-01 Qualcomm Incorporated Techniques for resuming a secure communication session
US20200192766A1 (en) * 2018-12-17 2020-06-18 Sap Se Transparent Database Session Recovery With Client-Side Caching
CN109450777A (zh) * 2018-12-28 2019-03-08 苏州开心盒子软件有限公司 会话信息提取方法、装置、设备和介质
CN109783258A (zh) * 2019-02-21 2019-05-21 北京奇艺世纪科技有限公司 一种消息处理方法、装置及服务器
CN109857812A (zh) * 2019-02-27 2019-06-07 珠海天燕科技有限公司 一种处理缓存中数据的方法和装置
KR20200136631A (ko) * 2019-05-28 2020-12-08 국민대학교산학협력단 캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법
CN110392120A (zh) * 2019-08-15 2019-10-29 锐捷网络股份有限公司 一种消息推送过程中故障的恢复方法及装置
CN112306748A (zh) * 2020-10-21 2021-02-02 深圳万兴软件有限公司 数据恢复方法、设备及存储介质

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
YOUNG JIN NAM; DONGCHUL PARK; DU, D.H.C.: "Assuring demanded read performance of data deduplication storage with backup datasets", 《2012 IEEE 20TH INTERNATIONAL SYMPOSIUM ON MODELLING, ANALYSIS & SIMULATION OF COMPUTER AND TELECOMMUNICATION SYSTEMS (MASCOTS)》 *
YOUNG JIN NAM; DONGCHUL PARK; DU, D.H.C.: "Assuring demanded read performance of data deduplication storage with backup datasets", 《2012 IEEE 20TH INTERNATIONAL SYMPOSIUM ON MODELLING, ANALYSIS & SIMULATION OF COMPUTER AND TELECOMMUNICATION SYSTEMS (MASCOTS)》, 12 October 2012 (2012-10-12) *
刘东华, 侯志强: "GSRP――一种支持连接恢复和会话移动的消息传输协议", 计算机研究与发展, no. 12 *
李永泽: "高扩展性的海量存储文件系统设计与实现", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 *
李永泽: "高扩展性的海量存储文件系统设计与实现", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》, 15 June 2015 (2015-06-15) *
赵炯;周影;: "面向Android的工业设备远程监控系统设计", 机电工程, no. 12 *
魏驰;黄君灿;陈兆烟;: "两种基于Windows系统的QQ聊天记录删除恢复方法比较", 海峡科学, no. 10 *

Also Published As

Publication number Publication date
CN113489635B (zh) 2023-08-18

Similar Documents

Publication Publication Date Title
CN104077341B (zh) 即时通讯中生成关键词自动回复映射关系的方法和装置
CN109451006B (zh) 一种数据传输方法、装置、服务器及计算机存储介质
US20170126723A1 (en) Method and device for identifying url legitimacy
Alyahya et al. Snapchat analysis to discover digital forensic artifacts on android smartphone
US11625412B2 (en) Storing data items and identifying stored data items
CN111447505A (zh) 视频剪辑方法、网络设备及计算机可读存储介质
CN109885577B (zh) 数据处理方法、装置、终端及存储介质
CN106155845B (zh) 一种基于xfs文件系统数据的重组恢复方法
CN105760522A (zh) 基于应用程序的信息搜索方法及装置
US20150278248A1 (en) Personal Information Management Service System
CN112559463B (zh) 压缩文件处理的方法及装置
WO2024061005A1 (zh) 一种音视频缓冲区读取处理方法及装置
CN108768835B (zh) 一种邮件解析方法、装置、服务器和存储介质
CN113051460A (zh) 基于Elasticsearch的数据检索方法、系统、电子设备及存储介质
CN106899755B (zh) 信息分享方法、信息分享装置及终端
CN111491209A (zh) 视频封面确定方法、装置、电子设备和存储介质
CN106878145B (zh) 一种自定义图片的显示方法、显示装置及显示系统
CN106612283B (zh) 一种识别下载文件来源的方法及装置
CN113489635A (zh) 基于微信的消息恢复方法和相关设备
CN105872731A (zh) 数据处理的方法和装置
CN109308229B (zh) 一种恢复微信聊天记录的方法
CN116610489A (zh) 一种基于SQLite全文索引的数据恢复方法及其系统
CN113438503B (zh) 视频文件还原方法、装置、计算机设备和存储介质
CN112036133B (zh) 一种文件保存方法、装置、电子设备及存储介质
CN114036431A (zh) 页面缓存跳转方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 1301-1310, building 2, jinlitong financial center building, 1100 Xingye Road, Haiwang community, Xin'an street, Bao'an District, Shenzhen, Guangdong 518000

Patentee after: Shenzhen Ruan Niu Technology Group Co.,Ltd.

Address before: 1301-1310, building 2, jinlitong financial center building, 1100 Xingye Road, Haiwang community, Xin'an street, Bao'an District, Shenzhen, Guangdong 518000

Patentee before: AFIRSTSOFT CO.,LTD.

CP01 Change in the name or title of a patent holder