通过 Xopsed 框架对企业微信的 Hook 学习分享

由于本人在整个项目中使用了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

你可能感兴趣的:(通过 Xopsed 框架对企业微信的 Hook 学习分享)