Skip to content
Emerson Lin edited this page Mar 23, 2018 · 6 revisions

Wechat Spellbook 是一个使用Kotlin编写的开源微信插件框架,底层需要 XposedVirtualXposed 等Hooking框架的支持,而顶层可以轻松对接Java、Kotlin、Scala等JVM系语言。让程序员能够在几分钟内编写出简单的微信插件,随意揉捏微信的内部逻辑。

便利特色

  • 使用一套API 自动分析 微信内部结构特征,避免手工适配 每个微信版本不同的类名、方法名。
  • 框架内部设计了 PluginHooker 两种不同的事件体系。
    • Plugin 对接Spellbook接口,使开发者能够直接使用设计好的事件消息,保证 便利性
    • Hooker 对接Xposed接口,使开发者能够按照传统的Xposed风格自由发挥,保证 自由度
  • 正确使用 Plugin 体系,有助于回避Xposed的一些小问题,如
    • 函数调用被前一个劫持者打断导致的插件相互冲突。
    • Xposed自Android 7.0后偶发的,由于多线程导致ART崩溃的问题。

实现功能

目前Wechat Spellbook初步实现了对微信以下常见操作的监听与劫持。

  • Activity生命周期
  • 数据库操作
  • 文件系统操作
  • ListView显示
  • 弹出菜单构造
  • 通知栏消息通知
  • 搜索栏操作
  • 消息存储器操作
  • Uri路由
  • XML解析

由于自己平时时间紧张,目前的事件接口设计还比较潦草,仅仅满足了自家 Wechat Magician 的功能需要而已,欢迎各位进一步完善和改进事件接口的设计。

接下来准备支持的项目有: MDWechat

  • 简介
  • 快速上手
  • 开发教程
  • 逆向技巧
    • 常见逆向工具
    • 调试输出
    • 堆栈跟踪
    • Support库
    • 免重启调试插件(未书写)
Clone this wiki locally