首页
论坛
专栏
课程

[原创]关于微信聊天机器人的半hook半协议研究

2018-12-13 10:29 6132

[原创]关于微信聊天机器人的半hook半协议研究

2018-12-13 10:29
6132
声明:本技术贴仅为了某些想在AI技术的基础上做个微信聊天机器人提供部分技术原理,如有侵权,就当我写过。删帖便是了。

背景:AI技术吊炸天,很多人工智能聊天都看起来很酷炫,而微信智能聊天机器人,是很多人想实现的一个玩意,但是微信没有提供方便的开发平台,
让一些学生想用自己的微信号做个机器人,都找不到门路,所以,基于此,我们可以使用hook PC的办法来实现这个机器人。

1:如何hook接受消息?
   微信公开了一个mars框架,这个可以在github上看到,从mars上我们大概能看到微信底层的样子,当然它缺少CDN和mmtls,不过没啥关系,一个
   做机器人的技术,没有这两个,也是可以实现的。
   从mars的源码里,我们重点看sample里面https://github.com/Tencent/mars/blob/master/samples/Windows/PublicComponentV2/longlink_packer.cc
   这个代码,其中

这两个函数是收发包的核心函数,如果我们能够hook到这里,基本上消息的接收是可以完全监控到的。
2.如何找到这两个函数?
   找这两个函数大概有很多种办法,但是我个人觉得最简单的就是 htonl 和 ntohl。这两个函数是导出函数,封包需要用好几次,解包也用好几次,
   相信打开IDA,找到这种一个函数用好几次htonl的函数不是很多,挨个下断点就能够hook出来了。
   比如 2.6.2.31这个版本 封包解包的地址  : 0x9A6579  0x9A6664

3.如何解包?
  我们知道微信登录以后使用sessionkey加密解密包的,如果不知道的可以阅读以下文章:
  
所以我们也需要拿到sessionkey,打开ida,字符串搜索sessionkey

test edx,edx 就是sessionkey了。
  拿到sessionkey,如何解包?
  这时候基本可以参考github上的一些代码:

解开了包,就可以用protobuf反序列化,这样我们就能监控到聊天消息了。

4.那如何发送消息?
  1.可以通过hook发送函数来发。
     可以在微信的客户端启动一个PRCServer,然后我们的AI负责把回复消息发送给里面的线程,负责发送,这种Call发送虽然比较死。
  2.可以自己构建包来发。
    发送一个包需要什么,proto文件,这个很好弄。 
    如何封包?
    根据hook pack函数我们揭秘一个就好了。
    拿到version,uin,cookies,然后最后几位标志。
    
  3.怎么发送出去?
     我们走短连接就好了,然后用早期的版本,因为早期的低版本可以关闭mmtls,所以我们在登录以后拿到一个短连接的ip
     封包发送就好了。
    
    会不会封号就不知道了,但是我们的聊天机器人,就算是可以实现自动回复了。撩起来吧。


[公告]安全服务和外包项目请将项目需求发到看雪企服平台:https://qifu.kanxue.com

最新回复 (12)
IamHuskar 4 2018-12-13 10:49
2
1
不错,以后可能有用。我先保存一个
最后于 2018-12-13 10:49 被IamHuskar编辑 ,原因:
上传的附件:
IamHuskar 4 2018-12-13 11:04
3
1
原来是HOOK PC 。我以为android呢
gtict 2018-12-13 11:20
4
1
android应该差不多。。楼主提到的文章,,我也保存了,
Editor 2018-12-13 11:36
5
0
666
Vn小帆 2018-12-13 12:44
6
0
gtict android应该差不多。。楼主提到的文章,,我也保存了,
android 我都写了一套了
gtict 2018-12-13 13:24
7
0
Vn小帆 android 我都写了一套了[em_13]
私信发我一套呗
Vn小帆 2018-12-13 15:03
8
0
gtict 私信发我一套呗[em_13]
嘿嘿     就是不告诉你     
zhhigh 2018-12-14 11:04
9
0
谢谢,又见更新
caolinkai 2019-1-7 10:06
10
0
666
奔跑中的雨雨 2019-6-12 18:06
11
0
高薪寻找研究成功的人才,扣 625550005
吃泡面 2019-7-23 15:34
12
0
大佬 求你qq 或者 微信号 想找你学习东西 付费 报酬绝对满意 求大神私信发我
吃泡面 2019-7-23 15:54
13
0
求加qq 411874483 大牛真有事情找你
游客
登录 | 注册 方可回帖
返回