news 2026/4/16 17:23:46

微信防撤回插件技术文档

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
微信防撤回插件技术文档

微信防撤回插件技术文档

【免费下载链接】wechat_no_revoke项目地址: https://gitcode.com/gh_mirrors/we/wechat_no_revoke

1. 功能概述

微信防撤回插件是一款基于Xposed框架的安卓应用,旨在拦截并保存微信中被撤回的消息。该插件能够实时监控微信消息系统,当检测到撤回操作时,自动保存原始消息内容并替换撤回提示,支持文字、图片等多种消息类型。

2. 技术架构

2.1 核心模块组成

  • WechatRevokeHook:消息拦截核心模块,负责Hook微信撤回方法
  • WechatVersion:版本适配系统,提供不同微信版本的兼容性支持
  • WechatDatabase:数据库操作模块,处理消息的存储与恢复
  • MessageUtil:消息处理工具类,提供消息解析与重建功能

2.2 工作原理

插件通过Xposed框架注入微信进程,监控消息处理流程:

  1. 识别消息撤回系统调用
  2. 提取原始消息内容
  3. 保存消息到独立存储
  4. 修改撤回提示为原始内容

3. 环境准备

3.1 开发环境要求

  • Android Studio 4.2 或更高版本
  • Gradle 6.7 或更高版本
  • Xposed框架或LSPosed管理器
  • Android SDK 24 (Android 7.0) 或更高版本

3.2 源码获取

git clone https://gitcode.com/gh_mirrors/we/wechat_no_revoke cd wechat_no_revoke

4. 编译与部署

4.1 编译APK

在项目根目录执行以下命令:

./gradlew assembleDebug

编译产物将生成在app/build/outputs/apk/debug/目录下。

4.2 安装插件

⚠️ 确保设备已启用USB调试模式

adb install -r app/build/outputs/apk/debug/app-debug.apk

4.3 启用模块

  1. 打开Xposed/LSPosed管理器
  2. 在模块列表中勾选微信防撤回插件
  3. 重启设备使模块生效

5. 核心功能实现

5.1 消息拦截机制

通过Hook微信消息处理方法实现撤回拦截,主要流程包括:

  • 识别撤回消息类型
  • 提取消息ID和原始内容
  • 重建消息内容替换撤回提示

5.2 版本适配策略

WechatVersion模块通过以下方式实现多版本兼容:

  • 自动检测微信版本号
  • 提供版本特定的Hook点信息
  • 维护版本特征数据库

5.3 数据持久化方案

WechatDatabase模块实现消息的安全存储:

  • 监控微信数据库操作
  • 拦截消息删除指令
  • 建立独立的消息存档系统

6. 配置与优化

6.1 调整核心参数

通过修改res/values/strings.xml文件配置插件行为:

<!-- 自动保存撤回消息 --> <string name="pref_key_auto_save">auto_save_revoked</string> <string name="pref_default_auto_save">true</string> <!-- 显示通知提醒 --> <string name="pref_key_notification">show_notification</string> <string name="pref_default_notification">true</string>

6.2 性能优化建议

  • 禁用通知功能减少内存占用:

    <string name="pref_default_notification">false</string>
  • 启用消息加密保护隐私:

    <string name="pref_key_encrypt">encrypt_messages</string> <string name="pref_default_encrypt">true</string>
  • 旧版本微信兼容模式:

    <string name="pref_key_compatibility">compat_mode</string> <string name="pref_default_compatibility">false</string>

7. 故障排除

7.1 模块未激活

  • 确认Xposed框架已正确安装并激活
  • 检查插件是否在Xposed管理器中启用
  • 验证微信版本是否在支持列表内

7.2 撤回消息拦截失败

  • 尝试清除微信数据后重启
  • 确认插件版本与微信版本匹配
  • 检查是否存在其他防撤回模块冲突

7.3 查看运行日志

通过ADB命令查看插件运行日志:

adb logcat | grep "WechatRevokeHook"

8. 扩展与定制

8.1 支持新微信版本

修改WechatVersion.kt添加版本支持:

fun getVersionHookInfo(version: String): VersionInfo { return when { version.startsWith("8.0") -> VersionInfo("com.tencent.mm.plugin.chat.ui.ChatUI", "onRevokeMsg") version.startsWith("8.1") -> VersionInfo("com.tencent.mm.ui.chatting.ChattingUI", "a") version.startsWith("8.2") -> VersionInfo("com.tencent.mm.ui.chatting.ChattingUI", "b") else -> defaultVersionInfo } }

8.2 自定义备份路径

修改WechatDatabase.kt配置消息备份位置:

fun setBackupPath(path: String) { backupDir = File(Environment.getExternalStorageDirectory(), "wechat_backup") if (!backupDir.exists()) { backupDir.mkdirs() } }

9. 许可证信息

本项目采用MIT开源许可证,所有代码可自由修改与分发。建议定期同步最新源码以获取版本适配更新,确保在微信版本迭代中保持防护效果。

【免费下载链接】wechat_no_revoke项目地址: https://gitcode.com/gh_mirrors/we/wechat_no_revoke

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 11:10:59

YOLOv10 TensorRT加速实战:半精度引擎部署详解

YOLOv10 TensorRT加速实战&#xff1a;半精度引擎部署详解 YOLO系列目标检测模型的每一次迭代&#xff0c;都在重新定义“实时”与“精准”的边界。当YOLOv10以端到端、无NMS、低延迟、高精度的姿态正式亮相&#xff0c;它不再只是算法层面的演进&#xff0c;而是一次面向工程…

作者头像 李华
网站建设 2026/4/16 11:14:46

突破网易云音乐加密限制:ncmdump解密NCM文件完全指南

突破网易云音乐加密限制&#xff1a;ncmdump解密NCM文件完全指南 【免费下载链接】ncmdump 转换网易云音乐 ncm 到 mp3 / flac. Convert Netease Cloud Music ncm files to mp3/flac files. 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdump 一、音乐自由的绊脚石&…

作者头像 李华
网站建设 2026/4/11 14:27:03

3款微信聊天记录备份工具,让珍贵回忆永久保存

3款微信聊天记录备份工具&#xff0c;让珍贵回忆永久保存 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg …

作者头像 李华
网站建设 2026/4/15 12:55:17

Flowise部署教程:WSL2环境下Windows平台Flowise快速启动

Flowise部署教程&#xff1a;WSL2环境下Windows平台Flowise快速启动 1. 什么是Flowise&#xff1f;——零代码构建AI工作流的可视化平台 Flowise 是一个在2023年开源的、专为大模型应用而生的「拖拽式 LLM 工作流」平台。它把 LangChain 中那些需要写代码才能串联起来的核心组…

作者头像 李华
网站建设 2026/4/16 11:12:24

从激活环境到输出结果,阿里万物识别全流程演示

从激活环境到输出结果&#xff0c;阿里万物识别全流程演示 这是一篇真正带你走完“从打开终端到看到识别结果”每一步的实战记录。不讲虚的原理&#xff0c;不堆技术术语&#xff0c;就用最直白的语言&#xff0c;把你在镜像里要做的每一条命令、改的每一处路径、遇到的每一个…

作者头像 李华