由于本人在整个项目中使用了WechatSpellbook的部分开源代码,并且遵从作者写给开发者的内容中,提及能够修复bug也是很好,在此过程中我发现了自动版本匹配的几个bug及不足之处,
故我也会将此部分代码开源(请注意是部分而非全部,也请大家不要喷,这里面涉及到工作以及全部分享出去的法律风险问题),将核心基础功能提供给更多的人共同学习,当然如果你觉得对你有帮助,也请给个star,项目地址:
一些工具及参考文章代码
关于xposed很多知识点网上其实是存在大量的文章及范例的,在此我也列举出个人在开始进入xposed时的一些较好并且帮助到我的一些文章及范例,在此感谢各位走在前面人的分享
可能会使用到的工具
- Win上的Android Killer
- bytecode-viewer
- ApkStudio
- Apktool
- jadx、dex2jar
以上工具你都可以在github或者网络中找到其使用方法,我主要使用的工具还是只有jadx以及dex2jar,基本上能够完全满足所需了
可能会浏览的网站
可能值得参考的范例
- WechatSpellbook我就大量参考了此框架的设计
- 微信巫师WechatMagician
- MDWechat
- 抢红包
- XposedWechatHelper
可能需要阅读的一些文章
- Xposed API文档
- 微信Xposed插件
- 定制Xposed框架
- xposed源码编译与集成
- xposed源码编译--源码及工具概述
- Xposed 免重启
- Xposed模块开发,免重启改进方案,结合了如何查找apk
- Android Hook技术防范漫谈(美团)
- Android安全防护/检查root/检查Xposed/反调试/应用多开/模拟器检测
- 无需 Root 也能使用 Xposed,来和支付宝大牛一起玩黑科技!
- 经过测试,下载的代码你可以即刻运行,并且如果你的手机安装了xposed框架,那么现在只需要将其勾选并重启手机运行即可
- 如果你的手机未安装xposed框架,建议你使用VirtualXposed,将此插件安装到VirtualXposed(相信你已经熟悉如何使用VirtualXposed了)并重启VX即可
此仓库中包含的kernel代码
- async: 异步处理
- cache: 磁盘缓存、内存缓存
- core: 此包中的代码主要来源于WechatSpellbook,但其内部已经做过一些改版,可以更方便的处理一些hook方法,你可以查看HookerCenter中的具体变动
- helper:一些帮助工具,包含自动解析APK,自动查找,以及错误处理的重试机制
- media: 此包是用于每天类消息的处理,涉及到音频编解码,图片压缩处理
- okhttp: 针对okhttp的一个简单封装,用于网络请求以及文件下载,里面包含了下载、上传进度、重试机制、缓存策略
- utils: 一些工具类
此仓库中包含企业微信以及个人微信的shared代码实现了
- 针对Activity的hook
- 针对数据库的hook
- 针对文件操作的hook
- 针对Log打印的hook
此仓库包含企业微信wework代码实现了
- 通知消息接收解析
- Application的hook
- 会话消息的监听,包括:会话同步状态变更、新增了会话、退出群聊、消息已读状态变更、添加成员、收到新消息回调、改变了群主、消息草稿变更、消息更新、修改了群聊名称、移除消息监听、移除群成员监听、移除消息监听、会话被收藏、置顶、免打扰等等监听功能
- 通知消息监听,接收所有通知消息的监听回调,并且实现了通知消息的解析
此部分为企业微信相关的hook,涉及多方面,主要包括:
- 好友/联系人/用户相关
在此你可实现针对好友的查询、删除、获取、修改外部客户、内部成员的操作,可以实现自动通过好友添加、获取二维码、部门用户等等的功能
- 会话相关
这里涉及单聊、群聊、群会话监听、获取群列表、会话列表、删除群、退出群、解散群、邀请群成员、设置置顶、设置备注、设置群内昵称、设置群公告等等功能
- 消息相关
此模块主要收发消息,包括但不限于文本、图片、语音、视频、小程序、链接等等的收发,实现自动下载图片、语音、视频、文件等等用于后期的自动转发
App入口代码
以下为代码运行的一些截图以及项目结构解释
当然还有更多的功能不仅限于上述,更多可以查阅我针对企业微信的xposed学习的成果,这些成果的部分我将在后续通过讲解并上传:
项目源码地址
如果你觉得此项目中分享的代码对你有帮助,还请给个star,亦或者入群交流qq:596725067