日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747


1.微信數據庫解密

  • 微信數據庫在在哪個文件夾
    EnMicroMsg.db的父文件加密規則是md5("mm" + uin)這樣就可以準確的獲取到db文件的位置.
    uin的獲取:/data/data/com.tencent.mm/shared_prefs/auth_info_key_prefs.xml`里面有個uinz字段,直接獲取value值,示例如下圖所示:
 

 

  • 解密微信數據庫:目前只涉及兩個數據庫EnMicroMsg.db(微信數據涉數據庫)和WxFileIndex.db(文件索引數據庫)
    解密的密碼:md5(手機imei+uin)的32位字符串取前7位,如果imei拿不到就用1234567890ABCDEF代替

2. 好友相關信息

微信的好友相關數據涉及三張表:rcontact,bizinfo,img_flag

  • rcontact表存放了該賬號涉及的所有賬號(微信賬號,群賬號)的基本信息(eg:微信昵稱,備注,原微信號,改之后的微信號,全拼等等)。如下圖所示:
 
  • bizinfo表存放的是該賬號的好友微信號,群賬號,這里好友包括已經通過的和添加沒通過的,如下所示:
 

 

  • img_flag表存放該賬號所有涉及的微信(好友,同屬一個群不是好友,添加的陌生人)的頭像地址,數據如下圖所示:
     
 



總結:rcontact表是一張基礎表,存放所有的賬號基本信息,bizinfo存放是該賬號的好友信息或者群組信息,img_flag存放了微信賬號對應的頭像信息,以下場景有:

    • 獲取微信好友信息,查詢sql如下:
      select r.username, r.alias, r.conRemark, r.nickname, r.pyInitial, r.quanPin,r.encryptUserName, i.reserved2 from rcontact r INNER JOIN img_flag i on r.username = i.username where r.type&2=2 and r.username not like '%@chatroom' and i.lastupdatetime > 0
    • 獲取添加未通過的好友信息,此時有兩種情況:1)添加同屬一個群的好友。2)添加陌生人。比如說通過微信號,掃碼什么。這兩種情況在數據庫的表現形式是不一樣的,添加同屬一個群的,在bizinfo表會插入一條username為添加好友的微信號記錄,而如果是添加陌生人,則username是一個以@stranger結尾的key,對應的數據如下圖所示:
 


注意:這里如果通過微信號,掃碼添加的陌生人,其username是一長串的以@stranger結尾的key,同 時pyInitial,qunPin兩個字段存的并不是這個陌生人的微信號
查詢sql如下:
SELECT r.username, r.alias, r.conRemark, r.nickname, r.pyInitial, r.quanPin, r.encryptUserName, i.reserved2 FROM rcontact r INNER JOIN bizinfo b ON r.username = b.username INNER JOIN img_flag i ON r.username = i.username
WHERE r.type <> 33 and r.type & 2 <> 2 AND r.username <> '當前微信號' AND r.username NOT LIKE '%@chatroom' AND b.updateTime > 0

    • 獲取同屬一個群但不是好友的基本信息:
      查詢sql如下:
      SELECT DISTINCT r.username, r.alias, r.conRemark, r.nickname, r.pyInitial, r.quanPin, i.reserved2 FROM rcontact r INNER JOIN img_flag i ON r.username = i.username
      WHERE r.username not in(select username from bizinfo) and i.lastupdatetime >0
      ?


項目推薦:基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba企業級系統架構底層框架封裝,解決業務開發時常見的非功能性需求,防止重復造輪子,方便業務快速開發和企業技術棧框架統一管理。引入組件化的思想實現高內聚低耦合并且高度可配置化,做到可插拔。嚴格控制包依賴和統一版本管理,做到最少化依賴。注重代碼規范和注釋,非常適合個人學習和企業使用
Github地址:https://github.com/plasticene/plasticene-boot-starter-parent
Gitee地址:https://gitee.com/plasticene3/plasticene-boot-starter-parent
微信公眾號Shepherd進階筆記
交流探討qun:Shepherd_126

3.微信群組
微信群組信息表為chatroom,存放著一些基本信息,數據如下圖所示:

 


注意:微信群組一開始建立顯示群昵稱是所有好友微信昵稱加起來的一個字符串,即displayname字段,但是如果修改了群昵稱之后,顯示的是修改之后的,這時候需要根據根據群賬號chatroomname去rcontact表做關聯查詢,根據rcontact表的username等于群賬號查詢出一條記錄,此時這條記錄的字段nickname即修改后的群昵稱,查詢sql如下:
select c.chatroomname, c.memberlist, c.displayname, c.roomowner, c.selfDisplayName, r.nickname from chatroom c inner join rcontact r on r.username = c.chatroomname where c.modifytime > 0
?
目前的微信群組的頭像在img_flag表沒有存儲,暫時找不到資源所在

4.微信聊天數據
微信的聊天記錄是保存在message表中的,數據示例如下圖:

 


msgSvrId:唯一標示一條聊天記錄的id,可以作為更新聊天記錄數據的條件
createTime:發送消息的時間
talker:如果是群賬號,說明這條消息是群會話消息,發送人在content內容前面(發送人微信號:發送內容);如果是好友微信號,說明這條消息是好友會話消息
isSend:發送或者接收標志。0:接收 1:發送
type:消息類型 1:文本內容(包括小表情) 3:圖片 34:語音 43:視頻 47:大表情 49:文件
436207665:微信紅包 419430449:微信轉賬
圖片,視頻,語音, 文件 根據msgId去索引庫WxFileIndex的表WxFileIndex2查詢

    • 圖片查詢sql:
      select * from WxFileIndex2 where msgId in(msgIds) and msgType=3 and msgSubType20
    • 語音查詢sql:
      select * from WxFileIndex2 where msgId in(msgIds) and msgType=34
    • 視頻查詢sql:
      select * from WxFileIndex2 where msgId in(msgIds) and msgType=43 and msgSubType=1
    • 文件查詢sql:
      select * from WxFileIndex2 where msgId in(msgIds) and msgType=49 and msgSubType = 34
    • 大表情查詢sql:根據groupId去找到對應的包名,md5即表情的文件名
      select e.md5, e.groupid, m.msgSvrId from emojiinfo e INNER JOIN message m on e.md5=m.imgpath where m.type=47


5.總結
以上分析師基于Android系統端的微信,且微信數據的撤銷刪除仍需要研究,待補充,未完待續.......

分享到:
標簽:數據庫
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定