TIM防撤回2.3.2.21173版誰目前tim官方最新版本軟件。作為一個常年混跡各種群的資深潛水黨,每次翻看聊天記錄的時候都能發(fā)現(xiàn)一堆的撤回信息,看著非常不舒服,并且網(wǎng)上也有很多的防撤回例子提供學(xué)習(xí),所以就打算自己也動手嘗試做一個防撤回的功能。有需要的小伙伴歡迎來西西下載體驗。、
補(bǔ)丁使用說明:
1.首先,你的系統(tǒng)需要滿足以下條件:Windows 7 或更高版本,不支持XP。NET Framework 4.5 或更高版本。低于此版本在打開程序時可能無反應(yīng),或者直接報錯。
2.使用本程序前,先關(guān)閉微信/QQ/TIM。
3.以管理員身份運(yùn)行本程序,等待右下角獲取最新的補(bǔ)丁信息。
4.選擇微信/QQ/TIM的安裝路徑。如果你用的安裝版的微信/QQ/TIM,正常情況下本程序會自動從注冊表中獲取安裝路徑,綠色版需要手動選擇路徑。
5.點擊防撤回。界面可能會出現(xiàn)一段時間的無響應(yīng),請耐心等待。由于修改了微信的 WeChatWin.dll 文件、QQ/TIM的 IM.dll 文件,殺毒軟件可能會彈出警告,放行即可。
操作步驟:
第一步通過notepad在bin目錄下的所有dll中搜索revoke關(guān)鍵字
然后我們就可以上od或x32dbg對這些DLL下斷找CALL了,我這里使用的是x32dbg,因為它的搜索過濾比OD要舒服很多
打開軟件,附加進(jìn)程,附加之后會自動斷下來,記得F9
在模塊(快捷鍵:<kbd>Crtl</kbd>+<kbd>E</kbd>)中進(jìn)入我們之前找到的DLL
在模塊內(nèi)搜索字符串revoke,看看有沒有比較可疑的地方,下斷進(jìn)行嘗試
這里有個EnableMsgRevokeMenuItem,看起來應(yīng)該是軟件初始化之類的,不管他,全部都下斷點試試
小號給自己發(fā)條消息并撤回,斷點沒反應(yīng),那就重復(fù)此步驟,在下一個模塊內(nèi)繼續(xù)搜索下斷,直到斷下來
找到關(guān)鍵位置,進(jìn)行具體分析
在im.dll中我們通過revoke發(fā)現(xiàn)了大量的關(guān)鍵字
L"DoRevokeBuddyMessage failed to get msg_info."撤回好友消息失敗的日志,基本可以確定就撤回就和這個模塊相關(guān)了,繼續(xù)看看下面的字符
這三個有重大嫌疑啊,從上到下分別是 好友(buddy)、討論組(discussion)、群(group)消息撤回,三個都下斷點,進(jìn)行嘗試。
小號發(fā)消息并撤回,成功斷在了5FBBDE65:OnNotifyBuddyMessageRevoked(pNotifyMsgBody, pDataExtraInfo)。
單步往下,很快就可以看到一個大跳轉(zhuǎn),不過看了一下跳轉(zhuǎn)的地址5FBBDFA2,是直接過了返回,再往下那塊就是討論組的撤回了,應(yīng)該不是這里,繼續(xù)往下
來到第一個call,<kbd>F7</kbd>跟進(jìn)
發(fā)現(xiàn)兩個大跳轉(zhuǎn),直接跳轉(zhuǎn)到了返回處
直接改之,<kbd>F9</kbd>,然后程序瘋狂異常,無奈重啟程序
重啟過程中想了下,都確定了這里就是實現(xiàn)撤回的函數(shù),那直接返回應(yīng)該也行的
直接在函數(shù)入口處改返回
push ebp改為ret 8
小號發(fā)消息撤回試試
第一張是電腦截圖,第二張是手機(jī)截圖,成功解決~
依法修改群消息的撤回
成功。這里我是直接用的討論組,因為我之前調(diào)試的時候發(fā)現(xiàn)討論組撤回是直接走的群撤回邏輯,也就是說之前發(fā)現(xiàn)的三個關(guān)鍵處只需要修改兩個就可以實現(xiàn)了,中間那個并沒有發(fā)現(xiàn)哪里有調(diào)用
修改完成就直接打補(bǔ)丁唄。<kbd>Crtl</kbd>+<kbd>p</kbd>
退出tim,將保存的文件替換掉原來的文件,記得備份,至此大功告成~