【免责声明】: 此系列文章主要关于xposed的相关学习,以下所提及到的所有方式皆为学习,如有他人使用本系列学习文章中所提及的知识点用于其他非法用途,本人不承担由此造成的任何后果!!
**注:**我将会持续更新此系列文章,分享的内容为我后文提到的:kernel相关内容,以及部分wework相关内容
原因有很多,主要有以下3个原因: 一则: 看过我以前写的文章的朋友应该知道我是做iOS开发的,但由于对某些医疗业务接触的原因便又感兴趣上了Android,当然我也是有Android基础的,在做完全成为一个iOS开发者之前,Android与iOS的开发是并行的; 二则:业务诉求的需要,并且当我们业务刚在年前最后一天上线时就遇上了让人痛心的新冠,在此我们作为医疗公司基于此提供了非常大的助力,这是我码代码这几年以来,从未有过的成就感,故想更加深入的构建整个体系(这个体系也许我后面的文章会有介绍); 三则:使用三方提供的服务非常不稳定、存在诸多bug、签了合同给了钱之后我们成了乙方…成了乞求他们修改的乙方,很尴尬,但这也不能够怪对方,这是由于我们业务过于复杂,其提供的hook设计逻辑、同步逻辑、转发逻辑等等存在缺陷,加之他们还有其他非API对接用户导致短期无法更改
###怎么开始做的? 2020年前两月我们就在对接微信,最初是个人微信,希望能够通过某些方式做到更多的事情,满足更复杂的业务场景,但由于某些限制以及医疗行业需要API对接的特殊性,我们需要更多额外的功能,故联系了11家之多的厂商,并且5家都深度测试过所提供的API,但大部分只提供个人微信功能,仅有两家可提供企业微信,但其中一家需要年后才能够提供,故选择了能够年前就提供的那一家,但就像我上面提到的非常不稳定bug多,他们的重心也不是提供API对接,而是帮助他们的客户构建私域流量。
故在疫情期间我开始了深入一点的针对xposed的学习了解,并h**k企业微信
整个过程从年初一下午开始学习kotlin,由于我是做iOS开发的,并且有开发Android 的基础,故在学习kotlin与hook过程中并没有遇到什么大问题,年初二下午开始码代码,凭借着个人兴趣几乎持续一个月每日工作到深夜2点,然后就有了雏形,到目前实现的功能有将近200个,并且都经过了版本的测试验证
由于本人在整个项目中使用了WechatSpellbook的部分开源代码,并且遵从作者写给开发者的内容中,提及能够修复bug也是很好,在此过程中我发现了自动版本匹配的几个bug及不足之处, 故我也会将此部分代码开源(请注意是部分而非全部,也请大家不要喷,这里面涉及到工作以及全部分享出去的法律风险问题),将核心基础功能提供给更多的人共同学习,当然如果你觉得对你有帮助,也请给个star,项目地址: XMagicHooker
此篇文章为初分享,还未来得及分离代码,如果你觉得有兴趣,可以持续关注,我将在后续分离并上传kernel部分的代码,如果你进入到上述github地址未查阅到源代码,那是我还没有分离,还请等待
关于xposed很多知识点网上其实是存在大量的文章及范例的,在此我也列举出个人在开始进入xposed时的一些较好并且帮助到我的一些文章及范例,在此感谢各位走在前面人的分享
以上工具你都可以在github或者网络中找到其使用方法,我主要使用的工具还是只有jadx以及dex2jar,基本上能够完全满足所需了
吾爱 I春秋 看雪等
本次kernel是在WechatSpellBook的基础上改写而来,在此过程中由于需要针对于更加灵活的wework逆向,故在其基础之上但也进行了大量的新增和修改,但其核心基于版本适配、启动、自动查找等还是采用了spellbook的设计理念,在此非常感谢其所开源的代码,基于此,本人也会将在spellbook基础之上修改的代码完全开源,并且还会将涉及到的其他基本核心代码开源,主要涉及到以下方面:
由于上述某些涉及到逻辑处理,我会在后续的文章慢慢讲解
这部分是适用于个人微信及企业微信,目前个人精力有限,并且业务未涉及到太多的个人微信相关需求,故暂时仅大部分功能还是企业微信的
目前完成功能暂时不多,在此暂不作过多介绍,可以参考WechatSpellBook
此部分为企业微信相关的hook,涉及多方面,主要包括:
在此你可实现针对好友的查询、删除、获取、修改外部客户、内部成员的操作,可以实现自动通过好友添加、获取二维码、部门用户等等的功能
这里涉及单聊、群聊、群会话监听、获取群列表、会话列表、删除群、退出群、解散群、邀请群成员、设置置顶、设置备注、设置群内昵称、设置群公告等等功能
此模块主要收发消息,包括但不限于文本、图片、语音、视频、小程序、链接等等的收发,实现自动下载图片、语音、视频、文件等等用于后期的自动转发
当然还有更多的功能不仅限于上述,更多可以查阅我针对企业微信的xposed学习的成果: 可以访问链接查看 可以访问链接查看 可以访问链接查看
目前历经一段时间已经完成了大部分功能,现有代码量超过2w行,我是从2.8.6版本适配的,到现目前为止支持到3.0.14,同一套代码并没与作修改实现了自适配,但是在3.0.16上发现了消息解析时有点问题,还未进行适配
此篇文章为初分享,还未来得及分离代码,如果你觉得有兴趣,可以持续关注,我将在后续分离并上传kernel部分的代码,并且会在后续的文章针对每个实现的对于非常见的功能会进行讲解
项目地址: XMagicHooker
如果你在学习的过程中有其他问题,可以直接联系我的微信,添加时请备注:掘金-xposed/企业微信