伪造微信语音文件的过程分析

编者按

说实话,写这篇《续》,小编是很纠结的。我们绝不是要传授犯罪方法,而是要告诉大家,伪造微信语音聊天记录的行为是如何进行的。(安卓实测,苹果略有不同)

一、微信语音文件的存储

关于这一点,在上篇文章中已经有所描述了。微信语音文件存储在特殊的路径下面,如:

“\tencent\MicroMsg\eba0728********b0dc37b485f3bd894\voice2\a4\7a\msg_1014170619186b86ec8b45f105.amr”

其实,在这个路径下,仅仅保存了语音文件本身。微信app还将依靠一个巨大的数据库文件,对所有的聊天记录进行管理,这个数据库的名字是:EnMicroMsg,当然还有其他一些辅助的db文件。

在这个数据库的某些重要数据表中,保存了文本型、媒体型的聊天记录信息。当然,我们在本文中仍然以语音聊天记录为例进行讲述。关于EnMicroMsg的文件结构,此处不予赘述。

二、微信语音聊天的设计机制

为便于表述,我们以A接收到B的语音为例。

(1)首先对文件名进行解析,在voice2下产生两级目录.

(2)将该文件复制到该目录下存储。

(3)更新EnMicroMsg数据库,把接收到这条语音的信息计入数据库,登记的信息至少包括以下内容:

(字段名称和表结构非取自真实环境,小编演绎了一下)

2、同样的,当微信号B点击该语音收听时,发生的过程是这样的:

(1)从EnMicroMsg中找到这条记录,按照记录中登记的路径和文件名找到语音文件msg_1014170619186b86ec8b45f105.amr.

(2)获取文件大小字节数,与EnMicroMsg中记录的字节大小是否一致,如果一致就播放,不一致就提示“播放失败”。

三、伪造语音文件的两个办法

从上文的介绍,我们至少可以分析出两种伪造微信录音的方法。(提示:伪造的方法有很多,但是有的方法过于复杂,本文解析的两个方法相对容易实施。)

1、仅替换语音文件名

操作步骤如下:

(1)找一个与原语音文件字节相近的文件(amr),删除末尾若干字节,或者在末尾处添加若干0,使文件与原文件字节大小完全一致。如本文中的示例文件3920字节。

(2)在手机voice2\…\…\下,将原文件删除或改名,把修改好的文件复制于此。

(3)将目标文件的名称修改为原文件名。

来看看效果怎么样。

2、修改EnMicroMsg数据库和语音文件(手机本身需要root)

操作步骤如下:

(1)确定一个目标语音文件(amr)

(2)将目标文件复制到voice2\…\…\相应的目录下

(3)在EnMicroMsg中的某数据表内找到该条语音记录,把目标文件的名称、路径、文件大小等数值填入数据表。

(4)尽量不修改消息id

第二种方法,需要注意的事项、需要修改的地方比较多,因而产生的修改痕迹也会比较多。

四、未尽事宜

1、建议腾讯对微信语音的存储和播放机制,升级验证方式。

2、帮助毁灭、伪造证据罪有关释义:根据《中华人民共和国刑法》第三百零七条第二款规定,帮助当事人毁灭、伪造证据,情节严重的,处三年以下有期徒刑或者拘役。司法工作人员犯该罪的,从重处罚。本罪不限于刑事诉讼中,还包括民事诉讼和行政诉讼。

请长按选择识别图中的二维码并关注【信息时代的犯罪侦查】公众号,了解犯罪手段、侦查技术、办案心得,做到自我提升、自我救赎!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180620B0WRQQ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券