由于本人在整个项目中使用了WechatSpellbook的部分开源代码,并且遵从作者写给开发者的内容中,提及能够修复bug也是很好,在此过程中我发现了自动版本匹配的几个bug及不足之处,故我也会将此部分代码开源(请注意是部分而非全部,也请大家不要喷,这里面涉及到工作以及全部分享出去的法律风险问题),将核心基础功能提供给更多的人共同学习,当然如果你觉得对你有帮助,也请给个star,项目地址:
ExampleWework
一些工具及参考文章代码
关于xposed很多知识点网上其实是存在大量的文章及范例的,在此我也列举出个人在开始进入xposed时的一些较好并且帮助到我的一些文章及范例,在此感谢各位走在前面人的分享
可能会使用到的工具
Win上的Android Killer
bytecode-viewer
ApkStudio
Apktool
jadx、dex2jar
以上工具你都可以在github或者网络中找到其使用方法,我主要使用的工具还是只有jadx以及dex2jar,基本上能够完全满足所需了
可能会浏览的网站
吾爱破解 I春秋 看雪等
可能值得参考的范例
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学习的成果,这些成果的部分我将在后续通过讲解并上传:
项目源码地址
ExampleWework
https://github.com/edxposedd/wework
如果你觉得此项目中分享的代码对你有帮助,还请给个star