-
-
[原创]关于微信聊天机器人的半hook半协议研究
-
发表于:
2018-12-13 10:29
22108
-
声明:本技术贴仅为了某些想在AI技术的基础上做个微信聊天机器人提供部分技术原理,如有侵权,就当我写过。删帖便是了。
背景:AI技术吊炸天,很多人工智能聊天都看起来很酷炫,而微信智能聊天机器人,是很多人想实现的一个玩意,但是微信没有提供方便的开发平台,
让一些学生想用自己的微信号做个机器人,都找不到门路,所以,基于此,我们可以使用hook PC的办法来实现这个机器人。
1:如何hook接受消息?
微信公开了一个mars框架,这个可以在github上看到,从mars上我们大概能看到微信底层的样子,当然它缺少CDN和mmtls,不过没啥关系,一个
做机器人的技术,没有这两个,也是可以实现的。
从mars的源码里,我们重点看sample里面6b2K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6f1k6h3&6U0k6h3&6@1i4K6u0r3L8h3q4J5M7#2)9J5c8X3u0D9L8$3u0Q4x3V1k6E0j5i4y4@1k6i4u0Q4x3V1k6K6j5h3#2H3L8r3g2K6i4K6u0r3g2$3W2F1k6r3!0%4M7#2)9J5c8W2m8#2j5X3I4A6j5@1y4G2L8i4m8G2L8X3g2F1N6q4j5J5i4K6u0r3L8r3!0F1k6$3I4A6L8X3E0Q4y4h3k6H3j5h3y4C8k6i4u0Q4x3X3g2U0j5H3`.`.
这个代码,其中
这两个函数是收发包的核心函数,如果我们能够hook到这里,基本上消息的接收是可以完全监控到的。
2.如何找到这两个函数?
找这两个函数大概有很多种办法,但是我个人觉得最简单的就是
htonl 和
ntohl。这两个函数是导出函数,封包需要用好几次,解包也用好几次,
相信打开IDA,找到这种一个函数用好几次htonl的函数不是很多,挨个下断点就能够hook出来了。
比如 2.6.2.31这个版本 封包解包的地址 : 0x9A6579
0x9A6664
3.如何解包?
我们知道微信登录以后使用sessionkey加密解密包的,如果不知道的可以阅读以下文章:
所以我们也需要拿到sessionkey,打开ida,字符串搜索sessionkey
[培训]科锐软件逆向54期预科班、正式班开始火爆招生报名啦!!!