大家好,我是章鱼猫。

今天给大家推荐的这个项目是「Wechat Spellbook」—— 一个使用 Kotlin 编写的开源微信插件框架,底层需要 Xposed 或 VirtualXposed 等 Hooking 框架的支持,而顶层可以轻松对接 Java、Kotlin、Scala 等 JVM 系语言。让你能够在几分钟内编写出简单的微信插件,比如:聊天信息防撤回、朋友圈动态评论防删除、单条朋友圈一键截图、微信聊天自动回复机器人等功能。

该项目的便利特色:

  • 精心设计各项机制,合理运用多线程和惰性求值等技巧,用不到的功能永远不会影响你的性能。
  • 使用一套 API 自动分析微信内部结构特征,避免手工适配每个微信版本不同的类名、方法名。
    • 每次微信更新的时候,都会使用写好的单元测试自动验证是否有特征失效。
    • 精心设计的框架保证了开发者可以轻松拓展添加自己需要的特征。
  • 框架内部设计了 EventCenter 和 HookerProvider 两类不同的事件处理方式。
    • EventCenter 让开发者直接使用设计好的事件消息来截获微信数据,保证便利性。
    • HookerProvider 允许熟悉 Xposed 的开发者调用 Xposed 接口进行自由发挥,保证自由度。
  • 正确使用 EventCenter 方案,有助于回避 Xposed 的一些小问题,如
    • 函数调用被前一个劫持者打断导致的插件相互冲突。
    • Xposed 自 Android 7.0 后偶发的,由于多线程导致 ART 崩溃的问题。

你说你不会用,好,这里先附上开发文档目录,点击左下角阅读原文查看具体开发文档。

开源项目地址:https://github.com/Gh0u1L5/WechatSpellbook

开源作者:Gh0u1L5

推荐阅读:

我去,他竟然用 Java 写了一个漂亮的音乐播放器

大数据平台不可缺少的 Kafka 可视化管理系统

最全的 Android 技术栈

今天的推荐不知道大家喜欢吗?如果你喜欢,请在文章底部留言和点赞,以表示对我的支持,你们的留言、点赞和转发关注是我持续更新的动力哦!

最后,更多优质文章和内容,更多开源推荐,欢迎大家优先关注我的公众号:非著名程序员

「GitHub 精选」开始接受大家投稿啦

idea可以使用flash框架吗_这个框架厉害了,使用它几分钟就可以编写一个微信插件...相关推荐

  1. java插件开发_编写一个IDEA插件之:自动生成Java代码

    我很喜欢IDEA的一键自动生成代码功能,例如自动生成构造方法.字段的Get/Set方法.ToString方法等等,除此之外,也有一些插件提供自动生成代码的功能,例如我们所熟悉的GsonFormat插件 ...

  2. 如何用vbs编写一个游戏_如何编写一个 SkyWalking 插件

    点击上方"开源社"关注我们 | 作者:vcjmhg| 编辑:李明康| 责编:袁睿斌 | 设计:叶修缘丶 1 概述 之前几篇文章,我们着重介绍了在对 SkyWalking 进行二次开 ...

  3. 决策树有框架吗_决策框架

    决策树有框架吗 In a previous post, I mentioned that thinking exhaustively is exhausting! Volatility and unc ...

  4. 框架优点_铝型材框架相比其他框架的优点

    很多自动化技术机械厂都是应用到工业铝型材框架做为设备的支撑点件,还会继续有一些顾客会有疑问,用铁或是是其他的原材料来做框架能不能?当然是能够 的,但是为什么有生产厂家把原来其他原材料换为工业铝型材框架 ...

  5. 新建maven写页面_使用 IDEA 创建 Maven Web 项目 (三)- 编写一个简单的 WEB 应用

    编写 Servlet 类 首先,需要在 java 目录下,创建一个名为 org.smart4j.chapter1 的包.然后,在该包下创建一个 HelloServlet  的类,代码如下: packa ...

  6. c语言编写一个菜单系统_一招教你,轻松解决C语言编写一个正整数的所有因子!...

    这个实例是一个能提高分析能力的实例,这个实例主要用到for语句,关键是如何确定其中变量的范围. 求一个正整数的所有因子 先来看看编程结果演示: 编程演示 输出结果 编程如下: #include /*引 ...

  7. 搜苹果ipad版_快速实现苹果企业签名,几分钟就可以?

    作为目前最受开发者们欢迎的苹果企业签名,为ios应用的内测分发带来很多便利.通过企业证书签名成功后的企业签名ios应用就可以直接分发给用户,绕过App Store的审核.ios用户在信任证书之后可以实 ...

  8. python老外_再也不怕和老外交流了,用python实现一个微信聊天翻译助手!

    码农公社  210.net.cn  210是何含义?10月24日是程序员节,1024 =210.210既 210 之意. 当你遇到一些外国小哥哥小姐姐很心动.想结识交流,但英语水平或其他水平还在提升阶 ...

  9. python一般做什么游戏好玩_只需要9步100行Python代码就可以实现一个简单又好玩的弹球游戏...

    今天给大家分享一个有趣又好玩的弹球的游戏,一来可以把类的知识融会一下,二来加深对Python的兴趣.你会发现哎呀Python写小游戏还是蛮方便的,蛮有意思的~~ 需要本文源码:私信回复[源码]即可获取 ...

最新文章

  1. 桌面图标不透明的小问题处理
  2. git放弃本地修改,强制覆盖本地文件
  3. 项目中用到的语音识别方案 硬件/软件相关介绍
  4. Java8 EnumMap 源码分析
  5. File::Path管理多级目录
  6. 微软Edge/IE11浏览器将禁用SHA-1证书网站
  7. 洛谷——P1744 采购特价商品
  8. Illustrator CC从入门到精通 精装版-李发展-专题视频课程
  9. matlab如何用二分法求函数零点,如何用二分法求函数的“零点”的近似值
  10. 将Flutter添加到现有应用——过程中遇到的问题
  11. 代码“可读性”到底有多重要?
  12. lua根据权重随机test
  13. Mysql的MMM高可用群集
  14. Windows系统:开始--运行--命令大全
  15. 胜任力参考阅读资料汇总
  16. 2.18 设置language和中文输入法
  17. vue实现分页的两种方式
  18. Flex与ASP.NET的Remoting和Fluorine及RemoteObjectAMF0
  19. 微信小程序云函数服务器,微信小程序云开发(云函数) 使用got发出http、https 请求服务器数据(示例代码)...
  20. vscode中将tpl文件高亮显示

热门文章

  1. rate-limit
  2. NETMerger - DotNet 组件(dll或exe)合并
  3. (转)PHP框架大比武
  4. BCH收银APP已在Android系统上下载超10000次
  5. 闪电网络真的是比特币最好的扩容解决方案吗?
  6. spring-boot 引入xml注入bean
  7. 智能安防市场的痛点是什么?
  8. 软件工程概论课程总结
  9. 【.NET】正则表达式笔记
  10. poj 2677 tour