有时候我们在聊微信或者QQ时,稍不注意,就不知道对方撤回了你非常感兴趣的东西。这时候,你可能会有些失落,甚至好奇心暴增。这款适用于 Windows 下 PC 版微信/QQ/TIM的防撤回补丁或许可以玩玩。
微信/QQ/TIM防撤回补丁,支持最新版微信/QQ/TIM,其中微信能够选择安装多开功能。
使用方法- 首先,你的系统需要满足以下条件:
Windows 7 或更高版本,不支持XP。.NET Framework 4.5.2 或更高版本。低于此版本在打开程序时可能无反应,或者直接报错。
- 使用本程序前,先关闭微信/QQ/TIM。
- 以管理员身份运行本程序,等待右下角获取最新的补丁信息。
- 选择微信/QQ/TIM的安装路径。如果你用的安装版的微信/QQ/TIM,正常情况下本程序会自动从注册表中获取安装路径,绿色版需要手动选择路径。
- 点击防撤回。界面可能会出现一段时间的无响应,请耐心等待。由于修改了微信的 WeChatWin.dll 文件、QQ/TIM的 IM.dll 文件,杀毒软件可能会弹出警告,放行即可。
微信防撤回与多开原理
- 需要安装x32dbg或者OllyDbg
- 打开 x32dbg ,点击 文件 -> 附加 ,切换到 符号 选项卡,在左下角搜索 WeChatWin.dll ,双击 wechatwin.dll 进入 CPU 选项卡 ,右键 搜索 -> 当前区域 -> 字符串,搜索撤回关键词 revokemsg,然后双击第一个”revokemsg”进入
需要进行修改的是当前行的上面一行: je xxxxxx ,双击 je xxxxxx ,把 je 修改为 jmp 即可 修改为jmp
接下来搜索防多开关键词 WeChat_App_Instance_Identity_Mutex_Name,然后双击第一个L”WeChat_App_Instance_Identity_Mutex_Name”进入 ,需要进行修改的是当前行的上面第一个出现的 push ebp ,双击 push ebp ,把 push ebp 修改为 ret 即可 修改为jmp
点击生成补丁的按钮,然后点击修补文件就可以得到修改后的 WeChatWin.dll
QQ或TIM防撤回
- 打开 x64dbg ,点击 文件 -> 附加
- 附加QQ的进程
3. 切换到 符号 选项卡,在左下角搜索 IM.dll ,双击 IM.dll 进入 CPU 选项卡
右键 搜索 -> 当前区域 -> 字符串 搜索好友撤回关键词 bytes_reserved,然后双击第三个 “bytes_reserved” 进入 ,需要进行修改的是当前行的上面一行: push ecx ,目标是让其 jmp 到下面的 test eax,eax 的地址,此处地址为 0x5D8F77B5 ,双击 push ecx ,修改为 jmp 下面test的地址 ,即 jmp 0x5D8F77B5 jmp到test
搜索群聊撤回关键词 bytes_userdef,然后双击第三个/第四个 “bytes_userdef” 进入,测试两个都改才有效,此处以第三个为例 ,需要进行修改的是当前行: push xxx ,和上面一样,目标是让其 jmp 到下面的 test eax,eax 的地址,此处地址为 0x5D8F73E9 ,双击 push xxx ,修改为 jmp 下面test的地址 ,即 jmp 0x5D8F73E9 jmp到test ,同样的方法修改第四个 “bytes_userdef”
点击生成补丁的按钮,然后点击修补文件就可以得到修改后的 IM.dll
RevokeMsgPatcher工具
前面就是防撤回的原理,那么RevokeMsgPatcher这个工具就是将前面的找到的特征值,用十六进制编辑的方式修改对应的DLL文件。
代码地址:https://github.com/huiyadanli/RevokeMsgPatcher.git
因为该方式只是直接跳过撤回的逻辑,所以,我们也区分不出撤回的是哪一条消息,只有通过手机端和PC对比吧。
Mac版本的代码:https://github.com/sunnyyoung/WeChatTweak-macOS.git
,