利用OD實現對PC端微信防撤回功能的實現
准備工具
1.OD
2.PC微信客戶端(3.1.0.67)
過程
1.運行微信客戶端,不需要登錄
2.運行OD,左上角選擇附加進程
3.選中微信進程點擊附加
4.附加后打開可執行模塊界面
5.找到關鍵的DLL文件雙擊加載,微信的撤回函數就包含在這個DLL里。
DLL文件(Dynamic Linkable Library 即動態鏈接庫文件),是一種不能單獨運行的文件,它允許程序共享執行特殊任務所必需的代碼和其他資源 比較大的應用程序都由很多模塊組成,這些模塊分別完成相對獨立的功能,它們彼此協作來完成整個軟件系統的工作。可能存在一些模塊的功能較為通用,在構造其它軟件系統時仍會被使用。
簡單來說運行微信時候,就會把WeChatWin.dll的數據加載到內存當中去,
如果我們修改了WeChatWin.dll的數據,把相當於把我們的WeChatWin.dll的加載到內存當中去,就能現實某些功能了,也可以理解為打補丁...
6.到達DLL主窗口后右鍵》中文查找》智能搜索
7.到達中文字符串窗口后CTRL+F查找關鍵字‘revokemsg’,通過調試分析,通過這個關鍵字搜索可以定位到撤回函數位置
8.這里就是我們的撤回函數關鍵字的位置,雙擊進去
9.這里是撤回函數的關鍵call,撤回微信信息的話,會調用一個撤回的函數,我們直接把這個撤回的函數給取消掉
10.我們以NOP字節填充,這樣當當撤回的時候,在dll中找不到這個函數,就可以做到防撤回的功能了
11.NOP完后我們保存所有修改
12.將文件保存到本地
13.這次將修改過的文件替換微信文件夾內原來的DLL文件,重新運行微信即可防撤回了。
演示
用小號發消息后撤回,已經無法撤回。

測試版本是目前最新版本