記錄實踐PC端微信防撤回實現過程(基於3.1.0.67版本)

利用OD實現對PC端微信防撤回功能的實現

文章最後有一鍵修補程式工具哦~

準備工具

1.OD

2.PC微信客戶端(3.1.0.67)

過程

1.運行微信客戶端,不需要登錄

img

2.運行OD,左上角選擇附加進程

img

3.選中微信進程點擊附加

img

4.附加後打開可執行模組介面

img

5.找到關鍵的DLL文件雙擊載入,微信的撤回函數就包含在這個DLL里。

DLL文件(Dynamic Linkable Library 即動態鏈接庫文件),是一種不能單獨運行的文件,它允許程式共享執行特殊任務所必需的程式碼和其他資源 比較大的應用程式都由很多模組組成,這些模組分別完成相對獨立的功能,它們彼此協作來完成整個軟體系統的工作。可能存在一些模組的功能較為通用,在構造其它軟體系統時仍會被使用。

簡單來說運行微信時候,就會把WeChatWin.dll的數據載入到記憶體當中去,

如果我們修改了WeChatWin.dll的數據,把相當於把我們的WeChatWin.dll的載入到記憶體當中去,就能現實某些功能了,也可以理解為打修補程式…

img

6.到達DLL主窗口後右鍵》中文查找》智慧搜索

img

7.到達中文字元串窗口後CTRL+F查找關鍵字『revokemsg』,通過調試分析,通過這個關鍵字搜索可以定位到撤回函數位置

img

8.這裡就是我們的撤回函數關鍵字的位置,雙擊進去

img

9.這裡是撤回函數的關鍵call,撤回微信資訊的話,會調用一個撤回的函數,我們直接把這個撤回的函數給取消掉

img

10.我們以NOP位元組填充,這樣噹噹撤回的時候,在dll中找不到這個函數,就可以做到防撤回的功能了

img

11.NOP完後我們保存所有修改

img

12.將文件保存到本地

img

13.這次將修改過的文件替換微信文件夾內原來的DLL文件,重新運行微信即可防撤回了。

img

演示

用小號發消息後撤回,已經無法撤回。
img

img

測試版本是目前最新版本

img

修補程式下載地址