chrome 插件 抓取网页qq聊天记录(《关于QQ读取历史记录的澄清》访问量突然爆发,貌似引起了很大的震动)
优采云 发布时间: 2021-12-21 01:15chrome 插件 抓取网页qq聊天记录(《关于QQ读取历史记录的澄清》访问量突然爆发,貌似引起了很大的震动)
原因
今天关注看雪的帖子《关于QQ阅读Chrome历史记录的澄清》,流量突然暴增,似乎引起了很大的震动。
帖子内容大致是作者看到一个v2ex帖子“试图读取你的浏览历史”,说QQ后台试图读取你的浏览历史。
接着,作者本着探索的精神,简单抓取了QQ的文件访问行为,进行了简单的逆向分析。
然后得出结论,QQ不是针对Chrome的,而是会遍历读取所有浏览器的历史记录,确认招募的浏览器包括但不限于Chrome、Chromium、360极速、360安全、猎豹等、2345等浏览器(你看到了吗,都是使用chrome内核的浏览器)。
这……我有点……震惊!不敢相信。
于是,根据作者帖子提供的线索,我也去查看了QQ相关位置的代码,看看是什么功能。
分析
原帖作者通过历史搜索关键代码,我也跟着做了,发现了不一样的东西。
可能有点先入为主。原帖作者没有仔细看相关代码的逻辑和功能,以为是QQ读取了chrome历史文件,进行了sqlite数据操作。
实际上?如果你仔细看,你会发现下面的代码。
很明显,QQ只是将chrome历史文件临时复制到临时文件temphis.db中,然后选择url进行一些检查。在日志信息中看到了关键字ptjcur Detect2。
然后通过DeleteFile删除临时文件temphis.dbg,中间代码没有找到上传服务器代码。
所以我认为原帖作者是拿到QQ后台阅读浏览器历史记录,推测可能会对用户造成什么伤害,这就上升到了用户隐私。这个结论确实有点错误。
因为在读取历史记录和删除临时文件之间没有上传到服务器,所以一切都在本地完成。
这个结论对于企鹅来说有点不公平,对于一家一飞冲天的互联网公司也不公平。
不能因为某某某某某的历史行为就盲目接受坏人的设定,不知道细节就轻易下结论。当然,我不否认那些历史性的xx行为。
为了讲清真相,我进行了更深入的分析,发现了一些新的东西。
读取历史记录的逻辑在一个线程中。线程会先判断dns域是否存在SNGPERF,然后bint为1,那么后续的读取历史记录就不做(这不是针对企鹅内部环境的吗?)。
如果 bint 为 0,则开始检测。
首先读取url信息(ptjcur Detect1)通过urlcache(稍后阅读chrome历史))。
然后计算url的md5,并与几个固定的md5值进行比较。
如果md5匹配,它会解析url分析&后面的参数,然后继续为md5计算这个参数,和一些md5比较,匹配到一块内存中。
经过这些简单的分析,我们无法确定具体的后续行动,因此也无法轻易下定论。
需要比较url的md5如下,有条件的朋友可以去看看结果如何,然后企鹅要做什么一目了然。
0x1C6389BA, 0xF2FA5666, 0xF2A2E0D3, 0xC892E7BA
0xB829484C, 0x520F7CC3, 0x94EC8A73, 0xD808E79
0xDDA1029, 0x9E67F3BB, 0xB18AC*敏*感*词*5, 0x597CF438
0x2564591C, 0x5B11347B, 0x846A0F72, 0xEF704A8
综上所述
最后,经过上面的分析,我们还不能对QQ的行为下定论,也不能通过临时读取和计算URL来判断是否侵犯了用户隐私(可能有人说是真的,这可能是一个检查一些*敏*感*词*的网站)。
当然,在这件事情上,QQ也不是完全无辜的。读取用户的浏览器历史记录是一种非常敏感的行为。用户应该清楚您不会使用这些信息来做任何损害用户利益的事情。事物。
最后,我想到了一个非常有趣的观点。也许这是因为开发商不小心做了乌龙茶?
哈哈,你知道我在说什么吗?前面说了,判断dns域名是不是,bint是0,然后就会出现一系列的行为,所以很迷茫,猜测是企鹅内部环境没有检测到。
可能是因为开发者误把if(bint)写成if(!bint),导致检测到非企鹅内环境,但实际上这个功能只是针对企鹅内环境的。
当然,这只是我的猜测,还得看企鹅自己的解释。
(结束)
/s/y9U2p-qnuG6jm61lERtQjQ