【微信账户】iOS & Android 殊途同归!

640?

来源:盘石软件PANSAFE

作者:母东升


iOS和Android系统下微信的账户信息、目录名称、微信ID是否有所不同呢?带着这些问题小编也是琢磨研究了一阵,根据经验并翻阅相关资料了解其原理,具体操作过程介绍如下。

首先了解微信的基础及原理知识,在iOS系统中微信的package名称为:com.tencent.xin,在Android系统中微信的package名称为:com.tencent.mm(mm是MicroMsg的缩写)。每个微信账户都会关联几个不同账户(微信号、缺省微信号、手机号码、QQ号码)等。对腾讯而言每个微信号码只有一个唯一账号,是“mm”+uin(即内部账号)组合计算出来的。

通过一个方法可以准确的定位到uin对应的EnMicroMsg.db文件,MD5(“mm”+“auth_info_key_prefs.xml”中解析出微信的uin码)生成的MD5就是EnMicroMsg.db所处的父级文件夹的名称。我们逆向反推才能看到这个“内部账号”,可以推测出来,所有的关联账号都以这个内部账号为基准。

使用MD5算法,计算这个内部账号的哈希值,可以得到一个32位的MD5值。下图分别为iOS、Android平台微信不同存储位置,如图:                             

640?wx_fmt=png

                 640?wx_fmt=png

iOS:一目了然

以iPhone6手机为例,解析iTunes备份,找到“/var/mobile/Applications/”路径,看到32位数字字母混合的文件夹名称为:“164916905def984f78c0fc07ecb70c6f”,如图:


640?wx_fmt=png

  • 如果想要知道当前登录的微信,需要在同一目录下找到Localinfo.lst文件,将该文件扩展名改为.plist,打开plist文件查看器可以看到UIN码、微信ID、手机号码、微信昵称等数据,如图:

640?wx_fmt=png

  • 使用HASH工具将微信ID计算MD5值后,发现和微信目录名称是相同的,如图:

640?wx_fmt=png

Android:错综复杂
  • 以华为P9为例,首先进行自备份,打开备份数据目录看到当前微信登录用户的数据库文件,该数据库采用透明加密方式,使用手机取证软件提取并分析微信得到完整目录进行查看,如图:

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

  • 前文已介绍Andriod系统微信目录的算法,通过逆向方法解析并破解出该微信UIN码,如图:

640?wx_fmt=png

  • 使用SQLite Database Brower数据库查看器,“Database Structure”里面都是表结构,“Browser Data”里面则是表里面的数据;【rcontact】联系人表,【message】聊天消息表,在“rcontact”表中看到微信账户,并对该账户计算HASH值,结果和iOS平台账户目录完全吻合,如图:

640?wx_fmt=png

640?wx_fmt=png

综上所述,同一微信账户在不同平台登录时生成的UIN码是相同的,微信ID也是相同的,只是计算方式不同而已。

640?wx_fmt=jpeg

640?wx_fmt=png


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页