微信協議中的ClientCheckData解釋

微信協議中ClientCheckData 其實在很早的版本很早就已經有了,只不過在之前的版本中只用於收集收集數據,包括運行數據和本機信息,然後通過上報接口上報。

內容十分詳細,包含是否越獄,是否root,是否雙開,包的校驗值,運行起來加載的so/dylib內容列表,是否被hook,一些運行安全信息等,以前上報數據都是明文,大家可以看到上報了啥,現在加密上報就需要抓包分析後不斷比對獲取。

ClientCheckData :

    ClientCheckData主要用於上報數據,用來檢測賬號是否安全運行,如果有多開,有用xopsed以及frida框架,在這份數據裏都會被發現,並且root以及越獄

都會被檢測出來,所以會有封號的可能,最新的版本,如果這個數據登錄的時候不傳,就會提示非法客戶端登錄。所以之前的市面上那些掛機的ipad基本上都被幹掉了。

ClientCheckData 加密算法:

     ClientCheckData早起的版本是明文上報,可能WX注意到這個問題了,在新版本採用新的加密和混淆上報,混淆代碼十分大,導致IDA都無法反編譯,而且混淆膨脹的很大,很像LLVM的混淆,目前來看加密後的數據由原來的原文XML數據,經過壓縮以後,由加密算法加密完成,加密以後的數據有一些明顯的特徵,比如開頭以00000003開頭,類似一個版本,然後緊接着16字節是固定的,從混淆的代碼來看,應該加密後的數據保持了十六字節對其。

      從混淆的字符串裏,能看到AES的影子。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章