原创 2020-12-2
###最重要事情
【免责声明】:
此系列文章主要关于xposed的相关学习,以下所提及到的所有方式皆为学习,如有他人使用本系列学习文章中所提及的知识点用于其他非法用途,本人不承担由此造成的任何后果!!
###学习的成果分享如下
由于本人在整个项目中使用了WechatSpellbook的部分开源代码,并且遵从作者写给开发者的内容中,提及能够修复bug也是很好,在此过程中我发现了自动版本匹配的几个bug及不足之处,
故我也会将此部分代码开源(请注意是部分而非全部,也请大家不要喷,这里面涉及到工作以及全部分享出去的法律风险问题),将核心基础功能提供给更多的人共同学习,当然如果你觉得对你有帮助,也请给个star,项目地址:
###一些工具及参考文章代码
关于xposed很多知识点网上其实是存在大量的文章及范例的,在此我也列举出个人在开始进入xposed时的一些较好并且帮助到我的一些文章及范例,在此感谢各位走在前面人的分享
#####可能会使用到的工具
- Win上的Android Killer
- bytecode-viewer
- ApkStudio
- Apktool
- jadx、dex2jar
以上工具你都可以在github或者网络中找到其使用方法,我主要使用的工具还是只有jadx以及dex2jar,基本上能够完全满足所需了
#####可能值得参考的范例
#####可能需要阅读的一些文章
-
经过测试,下载的代码你可以即刻运行,并且如果你的手机安装了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
如果你在使用过程中遇到其他问题,或者有其他问题需要共同探讨的,欢迎联系我