微信机器人之PC微信hook

微信机器人的实现有三种:web,app和exe。其中web很多账号受限登录不了,而hook app的话需要使用xposed则会封号,所以现在大部分机器人都是基于PC微信。

先实现一下最基本的机器人的功能:接收消息和发送消息。找相关call请看:https://blog.csdn.net/qq_38474570/article/details/93339861。

接收消息

最新版(2.8.0.121)hook地址偏移:0x354B32

基本所有类型的消息都会通过这个,比如红包、转账和语音文件等,包括公众号的推送也可以收到,因为红包无法在PC微信上查看,只能收到一个红包的文字消息(比如谁谁谁发了红包,请到手机上查看),如果是图片的话可以知道是什么图片,其他比如表情和公众号等都是一些xml的信息也可以解读出来,就是语音的话我还没找到对应的call或者相对应的文件。

要实现拦截信息只需要hook这个地址就能截取到所需要的信息。实现成品:https://www.lanzous.com/ianzaha。(dll由C++编写,exe由aardio编写)

效果图
在这里插入图片描述

发送消息

最新版(2.8.0.121)hook地址偏移:0x‭E3162‬
在这里插入图片描述
发送文本消息的代码就是上面几行,实现成品:https://www.lanzous.com/iao0ahg

CSDN无法上传视频,效果就不放了。

机器人

上面的两个成品只是验证一下方法可行,并不是机器人,它实际上还是人在操作界面来实现发消息。不过既然能使用外部代码来实现,那么对接某些人工智障(比如腾讯AI开放平台的聊天机器人)也是没问题的。当然,为了其他语言也可以使用,可以开放一个通用的协议来实现,比如tcpsocket,http。RPC是用的最多的,但是我还没有弄懂它是个啥意思。

实现一些群发和转发也是相当简单,对于收发消息的功能这两个call已经足够用了。

posted @   Python成长路  阅读(9919)  评论(2编辑  收藏  举报
编辑推荐:
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
阅读排行:
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
· 分享4款.NET开源、免费、实用的商城系统
点击右上角即可分享
微信分享提示