企业微信机器人
原创 2020-12-2
最重要事情
免责声明
免责声明
免责声明
学习的成果分享如下
在项目中使用了WechatSpellbook的部分开源代码,并参考了作者《写给开发者》一书中关于修复bug的内容,在此过程中发现了自动版本匹配的一些问题及不足之处。因此我也打算将这部分代码开源出来(即仅提供部分代码,请大家不要随意喷洒),同时会将核心基础功能分享给更多人共同学习。当然如果你认为对您有帮助,请帮忙点个星(项目地址:)
一些工具及参考文章代码
关于xposed的知识点,在网上能找到大量相关文章和实例。我可以列出一些我在刚开始接触xposed时找到的优质文章和实例来辅助学习。在此向所有为xposed学习提供帮助的同行表示衷心感谢。
可能会使用到的工具
- Win上的Android Killer
- bytecode-viewer
- ApkStudio
- Apktool
- jadx、dex2jar
这些工具你可以从GitHub平台或互联网获取它们的使用指南。你更倾向于采用Jadx和Dex2Jar这两种工具组合,它们几乎能够全面满足我的需求。
可能会浏览的网站
爱破解(www.52pojie.cn),春秋(bbs.ichunqiu.com),看雪(bbs.pediy.com search-xposed.htm)) 等
可能值得参考的范例
- WechatSpellbook我就大量参考了此框架的设计
- 微信巫师WechatMagician
- MDWechat
- 抢红包
- XposedWechatHelper
可能需要阅读的一些文章
- Xposed API文档
- 微信Xposed插件
- 定制Xposed框架
- xposed源码编译与集成
- xposed源码编译--源码及工具概述
- Xposed 免重启
- Xposed模块开发,免重启改进方案,结合了如何查找apk
- Android Hook技术防范漫谈(美团)
- Android安全防护/检查root/检查Xposed/反调试/应用多开/模拟器检测
无需权限即可安装Xposed应用, 加入支付宝技术社群一起探索前沿科技!
通过测试, 你能够获取并立即执行该代码. 如果你的设备已预装XPos框架, 只需勾选相关选项并重启设备以完成操作
假设你的手机尚未预装了xposed框架,请问是否需要帮助你安装一个名为VirtualXposed的工具包?一旦成功安装后,请按照指导文档中的步骤配置这个插件,并在完成配置后重启你的设备。
此仓库中包含的kernel代码
- async: 异步操作
- cache: 缓存功能
- core: 此包中的代码源自WechatSpellbook,内部已进行了一些优化以管理hook方法,请参阅HookerCenter以了解具体变动
- helper:辅助功能(包括自动解析APK、定位资源以及错误重试机制)
- media: 涉及音频编解码与压缩(降噪)、图片降噪与压缩
- okhttp: 提供下载进度监控与管理(包括下载速度调节)、上传进度跟踪以及重试功能,并支持缓存策略优化
- utils: 基础功能组件
此仓库中包含企业微信以及个人微信的shared代码实现了
- 该应用中的钩子用于执行活动相关的操作。
- 应用程序通过数据库钩子完成数据存储和检索。
- 文件处理模块依赖于文件操作钩子来管理文件读写。
- 日志记录通过Log打印钩子实现持续更新。
此仓库包含企业微信wework代码实现了
- 解析接收的通知信息
- 应用层面的钩子机制
- 实现对会话状态变化及相关的操作监控功能;包括:
- 监控会话同步状态的变化;
- 新增对话;
- 退出聊天;
- 修改消息已读标记;
- 添加成员;
- 处理收到的新信息提示;
- 调整管理员身份;
- 更新信息草稿内容;
- 修改对话标题;
- 取消相关监控设置;
- 移除群组成员订阅;
- 撤销监控设置(如有重复项);
- 保存收藏状态;
- 设置为置顶状态;以及
- 免打扰相关设置更改等功能。
- 对所有通知信息进行捕获与处理,并实现相关数据的解析工作。
该部分涉及与企业微信相关的钩子功能,在多个维度上有所覆盖,并主要包含社交关系中的个人、通讯录中的好友信息以及用户的日常互动。
该系统能够支持通过好友进行查询、删除、获取外部客户信息及内部成员管理。
能够自动完成好友添加及获取二维码等基础操作。
该模块涵盖单聊管理与群聊互动等功能。
可提供快速获取群列表和会话列表的能力。
支持批量删除多个群聊并完成退出操作。
具备解散特定群聊以及邀请新成员加入的功能。此模块主要收发消息,并支持接收与发送多种类型的信息:
包括但不限于文本信息
图片
语音
视频
小程序
链接等,
并能自动下载图片
语音文件
视频文件等,
进行后期的自动转发处理。
App入口代码
以下为代码运行的一些截图以及项目结构解释

当然除了之前提到的功能之外还可以查阅我的xposed学习成果中的更多内容这些内容将在后续通过讲解和发布的方式呈现出来
项目源码地址
如果你觉得此项目中分享的代码对你有帮助,还请给个star
当您在使用过程中遇到任何问题时,请随时与我联系。


