QQ正在讀取你所有的瀏覽記錄?
今天,V2EX上一篇名為《QQ 正在嘗試讀取你的瀏覽記錄》的文章突然爆發(fā)。

帖子內(nèi)容大致是。一位技術(shù)員在使用QQ過程中,為了防止一些流氓行為,特地去MS Store里面安裝了一個(gè)QQ桌面版,因自己使用了火絨的自定義攔截功能,設(shè)置了一些重要或敏感數(shù)據(jù)目錄的保護(hù)。
最終得出結(jié)論,QQ正在嘗試讀取你的瀏覽記錄。
網(wǎng)帖一出,在程序員屆也是引起軒然大波。

隨著熱度的提升,某知名大V本著探索的精神,去簡單抓取了一下QQ的文件訪問行為,和簡單的逆向分析。


得出結(jié)論,QQ并不是針對Chrome,而是會(huì)遍歷讀取所有瀏覽器歷史記錄,確認(rèn)會(huì)中招的瀏覽器包括但不限于如Chrome、Chromium、360極速、360安全、獵豹、2345等瀏覽器。
帖子發(fā)布后,引起了網(wǎng)友的廣泛關(guān)注。

回憶明天zero也是CrazyxZ-:沒錯(cuò)呀,澄清:QQ不是想讀取Chrome的歷史記錄,而是想讀取所有Chromium類瀏覽器的歷史記錄(包括但不限于Chrome、360極速瀏覽器、獵豹瀏覽器)

單_小_雙:QQ一直以來都是這樣啊,當(dāng)年360出扣扣保鏢,主打就是發(fā)現(xiàn)了QQ遍歷電腦文件然后上傳服務(wù)器,當(dāng)年360也發(fā)布了不少相關(guān)文章的。
而就在網(wǎng)友發(fā)生激烈爭論的同時(shí),另一位操作系統(tǒng)程序員Anhkgg通過技術(shù)對比表示:QQ后臺讀取歷史記錄,或許并不是侵害用戶隱私。
我們先來看看Anhkgg又做了哪些測試:
通過history搜索到關(guān)鍵代碼。

仔細(xì)一點(diǎn),就會(huì)發(fā)現(xiàn)下面的代碼。

很明顯,QQ僅僅暫時(shí)拷貝了chrome歷史記錄文件到臨時(shí)文件temphis.db,然后刷選了url進(jìn)行了一些檢測,log信息中看到關(guān)鍵字ptjcur Detect2。
然后通過DeleteFile刪除了臨時(shí)文件temphis.dbg,中間代碼也并沒有發(fā)現(xiàn)什么上傳服務(wù)器的代碼。
到這一步,Anhkgg認(rèn)為:落雪原文作者qwqdanchun在得到QQ后臺讀取瀏覽器歷史記錄,并臆測可能會(huì)對用戶做什么危害的行為,上升到了用戶隱私上,這個(gè)結(jié)論下的有點(diǎn)不妥。因?yàn)樽x取歷史記錄和刪除臨時(shí)文件中間并沒有什么上傳服務(wù)器之類的操作,所有都是本地完成的。這個(gè)結(jié)論對企鵝不公平,對一個(gè)如日沖天的互聯(lián)網(wǎng)公司不公平。
為了搞清楚真相,Anhkgg又進(jìn)行了更深入的分析。

到這一步,Anhkgg發(fā)現(xiàn),讀取歷史記錄相關(guān)邏輯是在一個(gè)線程中,線程首先會(huì)判斷dns domain是tencent.com或者存在SNGPERF,則bint為1,那么后面的讀取歷史記錄也就不會(huì)做了(這是不針對企鵝內(nèi)部環(huán)境?)。
如果bint是0,則開始detect。
首先通過urlcache(后面再讀取chrome歷史記錄)讀取url信息(ptjcur Detect1)。

然后計(jì)算url的md5,比幾個(gè)固定的md5值比較。

如果md5匹配,會(huì)解析url分析&后面的參數(shù),然后繼續(xù)把這個(gè)參數(shù)做md5計(jì)算,和一些md5比較,匹配存入一塊內(nèi)存。
具體后續(xù)有什么動(dòng)作,經(jīng)過這些簡單的分析還不能確認(rèn),所以也不能輕易對其下結(jié)論。
最后,Anhkgg就自己的發(fā)現(xiàn)希望有條件的程序員可以去跑跑比較url的md5的結(jié)果是什么,自己動(dòng)手過一遍,企鵝究竟是什么目的就可以一目了然。
- 0x1C6389BA, 0xF2FA5666, 0xF2A2E0D3, 0xC892E7BA
- 0xB829484C, 0x520F7CC3, 0x94EC8A73, 0xD808E79
- 0xDDA1029, 0x9E67F3BB, 0xB18ACC45, 0x597CF438
- 0x2564591C, 0x5B11347B, 0x846A0F72, 0xEF704A8
最終Anhkgg得出結(jié)論:
我們并不能對QQ的行為下結(jié)論,并不能因?yàn)榕R時(shí)讀取和計(jì)算了一下url,就判定騰訊是對用戶隱私的侵害(有可能真的如某些人說的,這可能是對某些不雅網(wǎng)站的檢查呢)。
當(dāng)然,在這件事情中,QQ并不完全是無辜者,讀取用戶瀏覽器歷史記錄是一個(gè)非常敏感的行為,應(yīng)該必須讓用戶清楚得知道,你并沒用用此信息做什么傷害用戶利益的事情。