微信xlog文件夹揭秘

微信xlog文件夹揭秘

以Android手机为例,安装了微信应用后,在安卓手机的文件夹tencent/MicroMsg下面有一个神秘的文件夹xlog。里面是大小不等的以xlog结尾的文件。

这些xlog文件的作用是什么?

在百度上以关键字“微信 xlog”搜索,得到的答案大多是把这些xlog文件当成微信语音聊天记录的语音片段文件。

作为一个程序员,我不是很赞同这种看法。我的看法是,这些xlog文件是微信应用里不同组件生成的(日志?)文件。理由如下。

为了方便研究,我将我手机上微信xlog文件夹下的全部xlog文件都拷贝到了电脑上,细细研究。总共有292MB大。

我将这些xlog文件以名称排序,得到一些有趣的发现。大家先观察一下,发现了什么规律么?

规律1:这些xlog文件的文件名有个规范,即<微信服务名>_<日期>。我把出现在xlog文件名头部的服务名罗列如下:

APPBRAND

EXDEVICE

MM

PUSH

SANDBOX

SUPPORT

这些服务正是我们能在Android手机的设置->应用程序->微信->内存使用里能看到的详细信息,大家比较一下。注意下图显示的大小为手机运行时这些服务实时消耗的内存空间,而不是xlog里对应的xlog文件总的大小。

规律2:尽管这些xlog名字头部的服务名不一样,但是后半部分的日期,全部都是从2018年7月6日开始,到7月16日结束。如果把这些xlog文件解释成语音聊天的记录文件,就太牵强了。因为这11天期间我有几天根本没有发出或收到语音格式的消息。如果大家做过程序开发,就能敏感地联想到,这种存储行为和很多日志系统很类似。

比如常用的log4j。我们常用下面这种日志配置:

log4j.appender.R.MaxFileSize=100MB

log4j.appender.R.MaxBackupIndex=11

上述配置的含义是,在系统任意时刻,最多维护11个日志文件,每个文件的大小上限为100MB。如果超过,会自动删除最旧的一个文件,同时创建一个新文件。

这和我们计算机专业课上学的LRU(Least Recently Used)—— 最近最少使用的缓存淘汰算法思路一致。

综合这两个规律,我认为这些xlog文件是微信对应服务组件自动生成的文件。

大家知道出于安全性考虑,日志文件是绝不能记录一些敏感信息,比如用户名和密码之类。

然而大名鼎鼎的twitter居然犯了低级失误。大家百度“twitter 日志泄密”,即可找到对应的新闻:

Twitter自己承认,由于一个漏洞,导致Twitter在用户密码加密前会将密码的明文写入一个内部的日志文件中。

这个消息一爆出,业界一片哗然,导致Twitter股票暴跌。

而微信xlog文件夹里的这些xlog文件都是经过加密的,不会存在安全性问题,大家可以放心使用。

xlog更多的内幕,应该只有等腾讯内部的微信开发者才能给大家分享了。

🎯 相关推荐

几种路由器、WIFI网络中无线中继、无线桥接WDS的信号扩展、增强
手机截音乐软件排行榜TOP10推荐
365bet提款问题

手机截音乐软件排行榜TOP10推荐

📅 09-01 👀 738
优酷vip如何取消续费 优酷VIP连续包月如何取消?