tft每日頭條

 > 科技

 > 微信語音使用數據

微信語音使用數據

科技 更新时间:2025-02-23 08:27:51

1、關于微信賬号

微信語音使用數據(微信帳号語音文件)1

這裡提到的微信内部賬号(UIN )有三種可能的結構:9位數、10位數、1個負号拼接10位數。

UIN記錄在/data/data/com.tencent.mm/shared_prefs/文件夾下的若幹文件内,包括com.tencent.mm_preferences.xml、app_brand_global_sp.xml等。

例如:在system_config_prefs.xml文件裡的

<int name="default_uin" value="2333333333" />

auth_info_key_prefs.xml文件裡的

<int name="_auth_uin" value="2333333333" />

網上盛傳的chrome://net-internals/#events抓包法也能得到UIN,通常與上述UIN相同,但隻有兩種可能的結構:9位數、10位數。如果10位數溢出了32位整型空間,就相當于“1個負号拼接10位數”的情況。

例如:數據包的UIN是233333333,實際的UIN是-1961633963(即233333333減去4294967296)。

接下來,如前文所述,“mm”直接拼接UIN ,算出MD5值後得到該賬号的文件夾名稱。例如:UIN是-1961633963時,MD5(mm-1961633963) = b883740d5f568c04e488befca16eed50。

2、微信語音文件夾的命名規則

前文已經介紹過了,微信的語音文件存儲在“voice2”下的兩層目錄下,而這兩層的目錄名稱非常奇怪,都是兩位字符,如“voice\3d\27\……”,name," voice2”文件夾之下的二級目錄名是如何選擇的呢?

微信語音使用數據(微信帳号語音文件)2

以這裡的“ msg_480948061918919ac9300d9102.amr ”文件為例,隻要把“msg_”去掉,對基本名稱的剩餘部分( 480948061918919ac9300d9102 )計算MD5值,得到 3d 27 8f649bece4ff979a26db4e50d147,取第1-2位為第一層目錄名,第3-4位為第二層目錄名,這個文件就在 /voice2/3d/27/ 文件夾下。

微信語音使用數據(微信帳号語音文件)3

3、微信語音文件的命名規則

微信語音使用數據(微信帳号語音文件)4

前文留下了一個思考題,這裡的發送者标識“ 919ac93 ”是什麼含義呢?

首先要明确,微信号包括缺省微信号自定義微信号。缺省微信号通常以“wxid_”(個人号)或“gh_”(公衆号)開頭,就像身份證号一樣。

當用戶自行選擇自定義微信号後,缺省微信号 不被删除或覆蓋 。而發送者标識就是 缺省微信号的MD5值的前7位即使修改自定義微信号後也不變化

另外再說一句,保存頭像時,得到的圖片文件名稱也由缺省微信号的MD5值構成。 例如:大家可以關注一下“新聞哥”這個訂閱号做個實驗。(非推薦行為)

那麼,應該對gh_faa35168f414計算MD5值,其頭像圖片将被保存為 hdImg_aaf7752298514c9eeae37e7610181061.jpg ,并且其發送者标識是“ aaf7752 ”,即:缺省微信号的md5值,取前面七位。

4、待解決的新問題

1、發送者标識為什麼隻取7位呢?

筆者猜測是為了壓縮文件名、節省數據空間。容易想到,這樣做可能導緻哈希沖突。對于最常見的缺省微信号格式(wxid_14位小寫字母和數字),理論上有36^14種可能(6.14094E 21),而7位哈希隻有16^7種可能(2.68435E 8)。

當然在操作中,可以在生成wxid時就丢棄沖突的wxid,直到微信用戶數接近2.7億。然而,馬化騰在今年全國人大“代表通道”上透露,微信全球月使用活躍用戶數在春節突破十億大關。那麼,怎樣判别用戶的唯一性?

2、語音文件名稱裡的發送時間由手機時間決定,不依賴于服務器的标準時間。

那麼,怎樣确定時間的正确性?

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved