做好了反編譯的準備,下載了微信最新版的apk,不過搜索后發(fā)現(xiàn)加密代碼在/weixin661android1220_1/assets/whatsnew_embed/wx7c8d593b2c3a7703_3.wxapkg這個揉和了一坨二進制和一坨javascript的文件中,javascript代碼是經(jīng)過uglify的,不過仔細分析也能看出加密的方法。
https://pic3.zhimg.com/v2-40db01ca6ff6558c898e377c29ed0884_b.jpg
分析的過程就省略了,直接說結(jié)果吧:
數(shù)據(jù)部分使用AES加密,加密模式為CBC,填充為pkcs7,數(shù)據(jù)塊128位,密鑰和偏移量為登陸態(tài)session_id的前16位。
在線解析的網(wǎng)站 http://tool.chacuo.net/cryptaes
針對抓包方法:構(gòu)造好數(shù)據(jù)后經(jīng)過AES加密后得到action_data,再構(gòu)造請求即可。
發(fā)送請求,返回errcode為零。如果為-2說明解析action_data錯誤,為108表示監(jiān)測到作弊,被拒絕。