微信4.0版本Windows客户端防撤回实现
工具:x64dbg
微信客户端版本:4.0.0.26
文件-附加,选择带窗口标题的 Weixin 进程
点击”符号”选项,在模块中搜索到 weixin.dll,双击进入
通过搜索字符串revokemsg
或匹配特征57 53 48 83 EC 20 48 89 CE 80 3D D1 F7 DC 05 00 75 21 48 B8
,定位到消息撤回调用逻辑处。
将jne weixin.7FFEE4A62F24
修改为jmp weixin.7FFEE4A62F24
,跳过下方撤回消息执行逻辑
JNE 和 JMP 都是汇编中控制程序执行流程的跳转指令,但这两有所不同:
JNE:不相等时跳转,通常通过 CMP 指令来比较两个寄存器或内存中的值是否相等,不相等时 ZF (零标志位)会被置为 0,此时会执行跳转到 JNE 指令后的地址。
JMP:无条件跳转,CPU 直接跳转到 JMP 指令后的地址。
修改后,右键选择”补丁”-“修补文件”,保存为新的 weixin.dll 文件。
用 patch 后的替换掉原本的weixin.dll ,即可实现防撤回。
发送端撤回消息:
接收端:
评论