丁實(shí)測:三步打補(bǔ)丁,消息再也撤不掉)
微信QQ防撤回補(bǔ)丁實(shí)測三步打補(bǔ)丁消息再也撤不掉【免費(fèi)下載鏈接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回補(bǔ)丁我已經(jīng)看到了撤回也沒用了項(xiàng)目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher深夜朋友在私聊里發(fā)來一個文檔鏈接接著說發(fā)錯了忽略然后把兩條消息都撤回了。你還沒來得及弄清發(fā)錯的是什么消息已被一行灰色的對方撤回了一條消息取代。如果電腦上裝過 PC 版防撤回補(bǔ)丁 RevokeMsgPatcher原文就還在那兒——這是一款讓 Windows 下的微信、QQ、TIM 收到撤回通知后不再執(zhí)行刪掉原消息這個動作的免費(fèi)開源工具。項(xiàng)目速覽它是什么給誰用RevokeMsgPatcher 是一個針對 Windows 版微信 / QQ / TIM 的防撤回補(bǔ)丁工具。它是個圖形化小程序整個流程就是定位你安裝的微信 / QQ / TIM 目錄 → 校驗(yàn)里面的關(guān)鍵文件版本微信是 WeChatWin.dllQQ / TIM 是 IM.dll新版 QQ 是 wrapper.node→ 備份原文件 → 按字節(jié)替換其中幾處內(nèi)容。裝好之后客戶端照樣會收到撤回通知但原消息不再被刪掉可以正常查看、復(fù)制。不想用時有還原入口可以一鍵恢復(fù)。? 動手之前五個前提Windows 7 及以上不支持 XP.NET Framework 4.5.2 或更高打開程序沒反應(yīng)多半是缺這個要打補(bǔ)丁的微信 / QQ / TIM 必須完全退出包括托盤里的后臺進(jìn)程RevokeMsgPatcher.exe 以管理員身份運(yùn)行綠色版微信 / QQ 提前備好安裝目錄安裝版一般能自動識別 一步步給微信 / QQ 裝防撤回整個過程幾分鐘就能走完下面以微信為例QQ / TIM 的操作完全一樣。1. 管理員身份啟動等補(bǔ)丁信息加載右鍵 RevokeMsgPatcher.exe 選擇以管理員身份運(yùn)行。界面右下角會先在線拉取最新補(bǔ)丁信息補(bǔ)丁庫是按版本號維護(hù)的從 0.7 一路到 2.1支持哪些版本的微信就看它。2. 確認(rèn)安裝路徑安裝版微信的目錄通常會自動從注冊表讀出來直接填好綠色版需要手動點(diǎn)瀏覽選擇。路徑確認(rèn)后程序會立刻顯示出關(guān)鍵文件的版本號比如 WeChatWin.dll 的 3.x.x.x。3. 看版本狀態(tài)是不是綠色重點(diǎn)看版本號后面的提示顯示綠色的已支持或支持特征防撤回說明當(dāng)前文件有對應(yīng)的補(bǔ)丁規(guī)則顯示紅色的不支持通常是微信剛自動更新到了新版本處理方式見后面補(bǔ)丁裝不上怎么辦。4. 勾選防撤回點(diǎn)安裝補(bǔ)丁勾選防撤回選項(xiàng)框同時需要雙開微信的話可以把多開一起勾上然后點(diǎn)安裝補(bǔ)丁。界面可能會卡住幾秒鐘它在備份和寫文件耐心等一下就行。5. 殺毒軟件彈窗就放行程序改的是本地的 WeChatWin.dll / IM.dll修改已安裝程序的 DLL在殺軟眼里屬于高危動作。這里改的是自己的文件放行即可。每個被修改的文件都會先生成 .h.bak 備份出問題可以還原。6. 啟動驗(yàn)證打開微信讓朋友發(fā)條測試消息再撤回——消息會原樣留在會話窗口里能看能轉(zhuǎn)。QQ / TIM 的驗(yàn)證方式相同。另外記住一件事IM 每次自動更新后 DLL 就變了要重新跑一遍補(bǔ)丁。 補(bǔ)丁是怎么讓撤回失效的從指紋到改一個字節(jié)黑盒層面這個程序本質(zhì)是個字節(jié)替換器。每條補(bǔ)丁規(guī)則就是一對字節(jié)序列——前面一段是要搜的特征后面一段是要換成的內(nèi)容。程序在 DLL 里找到那串唯一的字節(jié)原地替換再寫回文件像在手冊里翻到某句特定的話用修正筆改掉其中一個字。再打開一層它憑什么找得這么準(zhǔn)靠兩套機(jī)制配合。第一套是SHA1 指紋比對。對已知版本補(bǔ)丁數(shù)據(jù)里記錄了 DLL 打補(bǔ)丁前、打補(bǔ)丁后兩個完整的 SHA1 指紋。當(dāng)前文件比對補(bǔ)丁后指紋一致程序就提示你已經(jīng)安裝過此補(bǔ)丁不再重復(fù)操作比對補(bǔ)丁前指紋一致就直接按記錄的字節(jié)偏移做精準(zhǔn)替換。相當(dāng)于核對文件的身份證號號對上就是它。第二套是特征碼匹配專門對付沒記錄指紋的新版本在文件里搜一段短字節(jié)序列。以微信為例特征碼和 revokemsg 這段字樣綁定用反匯編器一搜就能定位到撤回相關(guān)的判斷代碼定位之后看的是周圍的指令判斷處有一條條件跳轉(zhuǎn)je含義是如果是撤回消息就去執(zhí)行刪除。補(bǔ)丁做的事就是把這條條件跳轉(zhuǎn)改成無條件跳轉(zhuǎn)jmp一個字節(jié)的變化0x74 改成 0xEB讓程序再不走刪消息那個分支所以防撤回說白了就一句話撤回通知照常收但刪掉原消息這個動作不執(zhí)行了。QQ / TIM 的 IM.dll 是同一個思路只是具體字節(jié)序列不同。? 防撤回之外的能力微信多開修改微信的單實(shí)例檢查允許同時開兩個微信。適合工作號、私人號想同時在線的人。一鍵還原打補(bǔ)丁前自動備份原 DLL.h.bak不想用時還原回去。適合升級新版微信前想恢復(fù)原樣的場景。版本支持識別自動判斷當(dāng)前 IM 版本有沒有對應(yīng)補(bǔ)丁并用顏色標(biāo)出來。適合經(jīng)常更新客戶端、不知道能不能打補(bǔ)丁的人。新版 QQ 支持2.1 起針對 Electron 架構(gòu)的新版 QQwrapper.node 文件單獨(dú)維護(hù)了特征碼。適合已經(jīng)換用新版 QQ 的用戶。 五種常見故障的排查方法現(xiàn)象打開程序沒反應(yīng)或直接報錯。原因系統(tǒng) .NET Framework 低于 4.5.2。解法裝 4.5.2 或更高版本的運(yùn)行庫再打開。現(xiàn)象提示你已經(jīng)安裝過此補(bǔ)丁。原因DLL 的 SHA1 和補(bǔ)丁后指紋一致上次已經(jīng)打過。解法不用管確實(shí)要重裝就先點(diǎn)還原把 DLL 恢復(fù)原樣?,F(xiàn)象提示文件校驗(yàn)不通過請確認(rèn)是否使用過其他補(bǔ)丁程序。原因文件版本號對得上但內(nèi)容被別的第三方工具動過SHA1 不再是出廠狀態(tài)。解法用備份還原或重裝對應(yīng)的微信 / QQ再重新打補(bǔ)丁。現(xiàn)象版本號后面紅色顯示不支持沒有功能選項(xiàng)。原因微信 / QQ 自動更新到了新版本補(bǔ)丁庫里還沒有它的特征碼。解法等補(bǔ)丁程序發(fā)新版補(bǔ)丁數(shù)據(jù)隨版本同步更新期間暫時不要升級 IM?,F(xiàn)象綠色版微信識別不出安裝路徑。原因程序從注冊表讀安裝版路徑綠色版不在注冊表里。解法手動點(diǎn)瀏覽選到綠色版的實(shí)際安裝目錄。進(jìn)階用戶源碼里先看這三個地方RevokeMsgPatcher/Modifier/目錄各 IM 的修改器實(shí)現(xiàn)基類AppModifier.cs串起定位路徑、校驗(yàn)版本、備份、打補(bǔ)丁、還原五個環(huán)節(jié)RevokeMsgPatcher.Assistant/Data/目錄0.7 到 2.1 每個版本的 patch.json每條都是搜索字節(jié) / 替換字節(jié)加版本區(qū)間想看某個版本具體改在哪翻這里最快RevokeMsgPatcher/Matcher/目錄特征碼匹配用的查找算法。想自己支持一個新版本順著這三處看完就能理解整個流程。開源與參與項(xiàng)目采用 GPLv3 開源協(xié)議免費(fèi)使用。發(fā)現(xiàn) bug 或者哪個新版本還沒支持可以去倉庫提 Issue會寫代碼的話用git clone https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher把源碼拉下來照著 Modifier 目錄提修改也可以。收尾回到開頭那個深夜的私聊下次朋友撤回消息你不用再追問他到底發(fā)了什么。確認(rèn)一下電腦里微信的版本號下載 RevokeMsgPatcher 以管理員身份裝一遍幾分鐘的事。如果它確實(shí)幫到了你去倉庫點(diǎn)個 Star這是對開源作者最直接的回應(yīng)?!久赓M(fèi)下載鏈接】RevokeMsgPatcher:trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回補(bǔ)丁我已經(jīng)看到了撤回也沒用了項(xiàng)目地址: https://gitcode.com/GitHub_Trending/re/RevokeMsgPatcher創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考