因?yàn)橹白鲞^微信搶紅包的插件,所以直接定位到消息入口CMessageMgr,我們直接hook CMessageMgr的全部方法
在微信消息撤回的時候, CMessageMgr最開始走了三個方法(后面還有很多方法,但是最可能的是開始的幾個方法,我這邊暫時只hook前三個方法即可)
onNewSyncAddMsgSessionArray
AsyncOnAddMsgListForSession
onNewSyncNotAddDBMessage
依次注釋掉這三個方法,考慮到只攔截到微信消息撤回的起點(diǎn)就可以了,所以并沒有使用ida去分析源碼,發(fā)現(xiàn)去掉onNewSyncNotAddDBMessage的實(shí)現(xiàn)后及實(shí)現(xiàn)了微信消息撤回,不管在首頁還是在聊天頁面都不會有撤銷.
- (void)onNewSyncNotAddDBMessage:(id)arg1{
//%orig;
}
實(shí)現(xiàn)比較粗暴點(diǎn),不過達(dá)到目標(biāo)了??