一种针对手机企业微信的数据提取方法,系统以及存储介质与流程

文档序号:22923746发布日期:2020-11-13 16:16阅读:557来源:国知局
本发明涉及数据提取技术,具体设计移动终端数据提取技术。
背景技术
::目前中国手机用户数达到8亿,办公手段也越来越多的从依赖电脑转移到手机。目前市面上针对办公的社交软件种类较多,针对手机办公软件上的数据量越来越大。手机办公软件记录了用户的个人信息、工作信息以及位置信息等。目前手机数据提取已经不是单纯的手机物理内存中个人信息的提取,大多数时候已经转移到手机app中。近年来针对微信、微博、qq等个人社交app的数据提取较为成熟,但是针对办公社交软件的数据取证较少。现有的手机app取证方法大多是通过解析app存储文件,再通过解密方法对存储文件中的账户信息和数据信息等进行解密,最后提取出重要的信息。但是不同的app文件存储路径不同,且文件加密方法各异,所以发展一种企业微信的数据提取方法较为重要。现有针对企业微信的数据提取方案在实际使用过程中主要存在如下问题:1.数据提取较少:现有的企业微信提取办法大多是利用涉案人员提供的企业微信账号,登录后对企业微信进行提取;在无法获取企业微信登录账号与密码的情况下,难以对企业微信数据进行提取。2.提取的数据不全:企业微信数据包含种类较多,包含用户账户信息、待办已办事项信息、好友信息、群组信息和定位信息等。现有企业微信提取办法往往难以对全部信息进行提取。3.提取效率较低:目前针对企业微信尚无完整流程方法,所以对企业微信的取证依赖临时的调研,导致数据提取效率低下。技术实现要素:针对现有企业微信数据提取方案所存在的问题,需要一种新的数据提取方案。为此,本发明的目的在于提供一种针对手机企业微信的数据提取方法,其能够有效解决现有技术所存在的问题。据此,本发明还进一步提供一种数据提取系统,以及存储介质。为了达到上述目的,本发明提供的针对手机企业微信的数据提取方法,包括:解析企业微信数据在手机中的存储文件,并对企业微信各类型数据的存储位置进行分析;利用秘钥生成算法对企业微信数据存储路径中各文件信息进行解码,提取出企业微信所有数据信息。进一步的,所述方法对企业微信数据在手机中的存储文件进行解析时,提取出存储账户信息的文件夹,解析出企业微信包含的账户信息;从手机中提取出加密企业微信文件,并将需要解码的企业微信文件写入一个临时文件夹,针对其中提取出的文件,先找到文件“io_data.json”,通过反序列的方式取“login_keys”的值,用于解密存储企业微信数据的数据库文件;获取到login_keys的值之后,再通过解码和反序列的方式解密出相关秘钥key_1。进一步的,所述方法针对得到的秘钥key_1,通过秘钥生成算法生成的解密秘钥,使用对称加密算法,对企业微信数据存储路径中的各文件信息进行解码。进一步的,所述方法对解码后的内容,在函数getprotogb中使用utf-8可以转成对应的中文字符串。为了达到上述目的,本发明提供的针对手机企业微信的数据提取系统,包括:路径解析模块,所述路径解析模块用于解析企业微信数据在手机中的存储文件,并对企业微信中各类型数据的存储位置进行分析;文件解密模块,所述文件解密模块利用秘钥生成算法对企业微信数据存储路径中各文件信息进行解码,提取出企业微信的所有数据信息。为了达到上述目的,本发明提供的存储介质,所述存储介质包括存储的程序,所述程序执行上述的数据提取方法。本发明提供的方案通过调研企业微信存储文件,解析出企业微信存储文件信息;同时,采用秘钥生成算法,对企业微信存储文件信息进行解密,提取数据信息;由此保证数据提取全面。本发明提供的方案通过对企业微信各个存储文件进行解码,发展企业微信数据提取流程,提高企业微信数据解析效率,由此提高数据提取效率。附图说明以下结合附图和具体实施方式来进一步说明本发明。图1为本发明实例中秘钥生成算法的运行流程示例图;图2为本发明实例中自定义置换算法的运行流程示例图。具体实施方式为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。本方案针对手机企业微信运行产生的数据,首先,通过解析企业微信数据存储文件,并对企业微信各类型数据的存储位置进行分析;接着,利用秘钥生成算法对企业微信数据存储路径中各文件信息进行解码,提取出企业微信所有数据信息。由此实现对手机企业微信运行产生的数据进行全面且高效的提取。本方案提供的针对手机企业微信数据的提取方法,其在具体实施时通过如下步骤来实现:(1)提取企业微信在手机中的安装与存储路径,找到profiles文件。(2)提取出存储账户信息的文件夹,企业微信会为每一个用户创建一个文件夹,文件夹名为用户id的md5值,该文件夹用于存储用户数据,解析出企业微信包含的账户信息,即可获取企业微信的用户数据文件夹。根据文件夹名称的属性即可找到企业微信中存储的用户数据,从而方便后续步骤中将用户数据导出到指定文件夹。(3)为了保证原始手机数据不被修改,将需要解码的企业微信数据导出到一个临时文件,针对提取出的手机企业微信文件,从中获取到login_keys的值,通过解码和反序列的方式解密出相关秘钥key_1。作为举例,可通过base64解码和googleprotobuf反序列化得到解密info.db和message1等文件的相关密钥key_1。(4)针对解码后的内容,在函数getprotogb中使用utf-8可以转成对应的中文字符串。(5)参照上述解析框架,可以解析出好友群组信息、个人信息、好友、群、聊天信息、公告、同事吧、待办事项等内容。本方法通过调研企业微信存储文件,解析出企业微信存储文件信息;同时,采用秘钥生成算法,对企业微信存储文件信息进行解密,提取数据信息。由此有效克服现有方案数据提取较少的问题。本方案利用秘钥生成算法,对企业微信存储文件中各个文件信息进行解码与逆向,提取出对应信息的相关存储区域,解析完成数据信息。由此有效克服现有方案提取数据不全的问题。本方案通过对企业微信各个存储文件进行解码,发展企业微信数据提取流程,提高企业微信数据解析效率。有效克服现有方案提取效率较低的问题。本方案在具体实现时,可利用相应的软件程序形式呈现,并可存储在相应的存储介质中,这里对于存储介质的构型形式不加以限定。针对上述的数据提取方法,本方案给出一种针对手机企业微信数据的提取系统,该提取系统主要由路径解析模块和文件解密模块配合构成。本系统中的路径解析模块用于解析企业微信数据在手机中的存储文件,并对企业微信各类型数据的存储位置进行分析。作为举例,本系统中的路径解析模块针对企业微信,主要分析三个文件:从“io_data.json”文件中可以解析出用户的账号信息以及秘钥key_1;使用秘钥key_1解密“session.db”文件后可以解析出用户的好友信息;使用秘钥key_1解密“info.db”文件后可以解析出用户的聊天信息与群聊信息。本系统中的文件解密模块利用秘钥生成算法对企业微信数据存储路径中各文件信息进行解码,提取出企业微信所有数据信息。由此所形成的数据提取系统在运行时,可按照上述数据提取方法流程对手机企业微信的数据进行全面和高效的提取。针对上述方案,以下通过以具体应用实例来进一步说明其实施过程。本应用实例通过构件相应的数据提取系统来对手机企业微信数据进行提取,整个提取过程主要包括:企业微信文件路径解析和企业微信文件解密两部分。其中,首先进行企业微信文件路径解析,其过程如下。针对企业微信在andriod与ios系统中的安装路径不同,本方案分别对两种操作系统中企业微信的存储路径进行解析;找出企业微信的存储路径:andriod手机存储位置:data/data/com.tencent.wework/app_data/profiles;如:小米手机存放路径为"/data/data/com.tencent.wework/r/app_data/profiles/^[0-9a-fa-f]{32}$";其他andriod手机存放路径为"/data/data/com.tencent.wework/app_data/profiles/^[0-9a-fa-f]{32}$"ios手机存储位置:/com.tencent.ww/documents/profiles。具体为:"/appdomain/com.tencent.ww/documents/profiles/^[0-9a-fa-f]{32}$")。对企业微信存储路径下相关文件中账户信息进行解析,通过解析发现企业微信针对每个账户创建一个文件夹用于存储账户数据信息,主要信息保存在profiles/md5/message1目录下;同时对账户信息存储文件采用aes-128-cbc方式加密,解密相关密钥保存在profiles/md5/io_data.json中。接着,进行企业微信文件解密,其过程如下。针对io_data.json文件,获取键值为“login_keys”的值,为base64字符串,对其进行解码,解码后得到protobuf序列化后的二进制数据块。接着对得到的protobuf序列化后的二进制数据块通过protoc.exe可反序列化成可读结构体,即可获取解密相关密钥key_1。此时可通过秘钥生成算法对文件进行解密和解析,并提取出有效的数据,其中,秘钥生成算法的具体实施如图1所示。这里针对获取到的解密相关密钥key_1,通过相应的秘钥生成算法(如图1所示)生成相应的密钥aeskey,以用于对账户信息存储文件进行解密。其基本流程如下:(1)从profiles/md5/io_data.json中解析出key_1(过程如上);(2)将密钥key_1通过图1所示的秘钥生成算法,生成密钥aeskey;(3)接着通过aes-123-cbc算法,解密上述message1和info.db等相关文件。作为举例,以下结合附图1说明一下,本实例中密钥生成的过程:1)取key_1前8字节与一个默认的24字节数据组成中间密钥key_a;2)将默认32字节数据进行50次循环md5计算得到中间密钥key_a_1;3)将key_a和key_a_1进行自定义置换算法生成32字节md5值temp_b;4)将key_a和temp_b组合成64字节数据块进行50次md5得到的前16字节数据与当前页数+4字节缺省值组成24字节的中间密钥key_b;5)对key_b做一次md5计算得到最终解密用的aeskey。与之配合的,本密钥生成过程中采用到的自定义置换过程如下(如图2所示):1)初始化256字节的置换表init_table;2)根据循环次数count与key_a_1的每一个字节进行与操作生成初始置换项init_md5;3)依次将init_table[i]与init_md5[i%16]进行与操作,得到中间索引temp,最后交换init_table[i]和init_table[temp]的值;4)依次将key_a[i-1]与init_table[temp]进行与操作得到temp_2,并将temp_2存放入key_a[i-1];5)循环步骤1-4预定次数(如20次),得到key_a。据此方法能够快速且安全的生成密钥,从而能够进一步的提高整个方案的安全可靠性。最后,需要说明的,上述本发明的方法,或特定系统单元、或其部份单元,为纯软件架构,可以透过程序代码布设于实体媒体,如硬盘、光盘片、或是任何电子装置(如智能型手机、计算机可读取的储存媒体),当机器加载程序代码且执行(如智能型手机加载且执行),机器成为用以实行本发明的装置。上述本发明的方法与装置亦可以程序代码型态透过一些传送媒体,如电缆、光纤、或是任何传输型态进行传送,当程序代码被机器(如智能型手机)接收、加载且执行,机器成为用以实行本发明的装置。以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1