微信机器人之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编写)

效果图
微信机器人之PC微信hook_第1张图片

发送消息

最新版(2.8.0.121)hook地址偏移:0x‭E3162‬
微信机器人之PC微信hook_第2张图片
发送文本消息的代码就是上面几行,实现成品:https://www.lanzous.com/iao0ahg(已失效,aardio语言的bug)

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

机器人

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

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

你可能感兴趣的:(微信机器人之PC微信hook)