微信消息防撤回,這次做點不一樣的

經過一段時間的研究,微信的防護措施果然名不虛傳,稍有不慎就會面臨封號的危險,所以對微信的逆向務必慎之又慎。
防撤回的教程網上已經很多了,但是今天要做些不一樣的事情。
首先,如果讓你來寫撤回這個方法,你會怎麼命名,retract? revoke? recall? 搜索一下就知道微信使用了revoke。

當你嘗試搜索revoke會出現大量相關的條目,根據類名就可以剔除大部分內容,撤回的方法最可能放在和message相關的類裏,這麼一分析,FunctionMsgMgr、RevokeMessage、CMessageMgr、MsgRecordDetailViewController幾個類最可疑,但是RevokeMessage裏面並沒有相關的方法,FunctionMsgMgr和MsgRecordDetailViewController都只有一個相關方法,試試就知道了,覆蓋這兩個方法都不能阻止消息撤回,最後就剩下了CMessageMgr,CMessageMgr裏有兩個方法最有可能,分別是
-(void)onRevokeMsg:(id)arg1;

-(_Bool)RevokeMsg:(id)arg1 MsgWrap:(id)arg2 Counter:(unsigned int)arg3;
但是後者是Bool類型顯然也不是它,那就直接覆蓋onRevokeMsg這個方法:

CHOptimizedMethod(1, self, void, CMessageMgr, onRevokeMsg, id, value1) {
}

果然,當對方撤回消息,我這沒有被撤回,甚至沒有任何的反應,防撤回成功了。

如果你看了網上的大部分教程,到這一般就結束了。但是這很沒意思,我想知道是誰撤回了消息,撤回了哪一條消息。
如果你也同樣好奇,歡迎關注公衆號coder chang,獲取更多內容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章