Skip to content

QQ或TIM防撤回教程

辉鸭蛋 edited this page Sep 11, 2023 · 4 revisions

这是一个成果向教程,参考了一些网上的教程汇总而成。仅用于技术交流。

本文以QQ为例,TIM操作步骤无区别。

工具

  • x32dbg
  • 一定的计算机相关知识

信息

通过网上各位大牛的研究,我们已经知道一下信息:

  • 撤回的逻辑都位于 IM.dll 文件中
  • 私聊撤回相关的关键词 bytes_reserved
  • 群聊撤回相关的关键词 bytes_userdef

调试

  1. 打开 x32dbg ,点击 文件 -> 附加 点击 文件 -> 附加

  2. 附加QQ的进程 附加微信的进程

  3. 切换到 符号 选项卡,在左下角搜索 IM.dll ,双击 IM.dll 进入 CPU 选项卡

  4. 右键 搜索 -> 当前区域 -> 字符串

好友防撤回

  1. 搜索关键词 bytes_reserved,然后双击第三个 "bytes_reserved" 进入

  2. 需要进行修改的是当前行的上面一行push ecx ,目标是让其 jmp 到下面的 test eax,eax 的地址,此处地址为 0x5D8F77B5

  3. 双击 push ecx ,修改为 jmp 下面test的地址 ,即 jmp 0x5D8F77B5 jmp到test 修改后

群聊防撤回

  1. 搜索关键词 bytes_userdef,然后双击第三个/第四个 "bytes_userdef" 进入,测试两个都改才有效,此处以第三个为例

  2. 需要进行修改的是当前行push xxx ,和上面一样,目标是让其 jmp 到下面的 test eax,eax 的地址,此处地址为 0x5D8F73E9

  3. 双击 push xxx ,修改为 jmp 下面test的地址 ,即 jmp 0x5D8F73E9 jmp到test 修改后

  4. 同样的方法修改第四个 "bytes_userdef"

生成补丁

  1. 点击生成补丁的按钮,然后点击修补文件就可以得到修改后的 IM.dll

参考