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