記錄實踐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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM