本文需要用到的工具:
- hopper disassembler
- Mac版本微信QQ
我是一個(gè)剛剛接觸逆向的iOS開發(fā)者,本著實(shí)踐出真知的理念在網(wǎng)上搜索資料,開始自己動(dòng)手研究??赐赀@篇文章您將實(shí)現(xiàn)Mac版本微信QQ的消息防撤回功能。
一、Mac版本微信
1.首先從App Store下載微信安裝。
2.找到應(yīng)用程序中的微信,右擊顯示包內(nèi)容,找到MacOS文件夾下面的WeChat,這就是微信的可執(zhí)行文件。


3.把微信的可執(zhí)行文件WeChat拷貝到桌面?zhèn)溆谩?br> 4.這時(shí)候要拿出我們的關(guān)鍵工具:hopper disassembler ,把桌面的WeChat直接拖到hopper里面進(jìn)行編譯。這個(gè)時(shí)候需要等待的時(shí)間可能會(huì)久一點(diǎn)。
5.下圖是編譯完成后的樣子,右下角的紅點(diǎn)working消失,表示編譯完成。

6.然后在左側(cè)的搜索欄直接查找關(guān)鍵函數(shù) onRevokeMsg
7.這個(gè)時(shí)候開始修改匯編代碼:鼠標(biāo)點(diǎn)擊函數(shù)中第一行的 rbp,然后按 Option + A,輸入ret,并點(diǎn)擊 Assembler and Go Next,此時(shí)窗口會(huì)跳到下一行,點(diǎn)擊 ESC 退出即可。

8.此時(shí)點(diǎn)擊 hift + Command + E 重新生成修改后的微信可執(zhí)行文件。
9.把修改后的WeChat復(fù)制到 /Applications/WeChat.app/Contents/MacOS 替換原來的WeChat,并關(guān)閉微信重新打開,此時(shí)別人無法撤回你的消息。Well done!
二、Mac版本QQ
1.準(zhǔn)備工作同上。首先從App Store下載QQ安裝,去應(yīng)用程序里面找到QQ,右擊顯示包內(nèi)容,找到Contents/MacOS/QQ,把QQ復(fù)制到桌面,然后把QQ拖進(jìn)hopper編譯。
2.左側(cè)搜索handleRecallNotify函數(shù),鼠標(biāo)點(diǎn)擊函數(shù)中第一行的 rbp,然后按 Option + A,輸入ret,并點(diǎn)擊 Assembler and Go Next,此時(shí)窗口會(huì)跳到下一行,點(diǎn)擊 ESC 退出。最后點(diǎn)擊 hift + Command + E 重新生成修改后的QQ可QQ執(zhí)行文件。
3.把修改后的QQ復(fù)制到 /Applications/QQ.app/Contents/MacOS 替換原來的QQ。重新打開QQ。
以后還會(huì)更新關(guān)于逆向的文章,有興趣的伙伴可以多多交流。我的WeChat:337223400。