现在的微信监控机器人、qq 监控机器人都是用什么手段实现的?

2017-07-31 09:02:13 +08:00
 goodmani
我自己会的方法:通过 web 版,登陆 web 版读取 dom 属性,通过 jquery 之类的,很容易得到内容,但是 web 版得先扫码登陆,有些麻烦。

现在市面上那些微信批量管理工具,机器人之类的,是通过什么方法读的消息?是读桌面版的句柄吗?需要精通 MFC 吗?感觉好深奥
6612 次点击
所在节点    程序员
16 条回复
qwjhb
2017-07-31 09:10:36 +08:00
至少我知道的 不就是扫码登陆吗?
goodmani
2017-07-31 09:17:55 +08:00
@qwjhb 有没有监控安卓客户端的方法?监控 web 写代码是很方便,用起来不太方便啊,如果监控安卓的话,每天只要开机就 ok 了,监控 web 每天还得扫码登陆
suixn
2017-07-31 09:22:07 +08:00
@goodmani #2 看看微 X 模块
wendellup
2017-07-31 09:23:26 +08:00
itchat
spice630
2017-07-31 09:28:13 +08:00
lgpqdwjh
2017-07-31 09:31:56 +08:00
保存登录态 发心跳包 然后各种操作封装一下 就很容易处理了, 市面上比较多的都是走的 web 版协议, 也有牛 x 的人直接封包 app 端的协议, 那个成本挺高但是比 web 稳定
mumu
2017-07-31 09:34:57 +08:00
一般的机器人是使用的 web 版的协议,就 webQQ、webWechat 这些,抓包之后写的。
sirm2z
2017-07-31 09:53:09 +08:00
用 web 版的 api 啊 dom 是什么鬼
eoo
2017-07-31 10:01:51 +08:00
@spice630 看到支持掉线后免扫码重登,这是什么原理?
boyxupers
2017-07-31 10:49:22 +08:00
@lgpqdwjh app 端协议封装是在哪儿看到的?
skiplow
2017-07-31 11:01:47 +08:00
ios 逆向 稳定的都是这么做的
spice630
2017-07-31 11:23:13 +08:00
@eoo
就是利用历史 cookie 等信息,重新调下 api,但不是非常稳定,大部分时候可以。
bestrenxs
2017-07-31 11:26:56 +08:00
android 的话可以用 xposed hook 关键函数,但是要求机器必须 root
eoo
2017-07-31 12:15:09 +08:00
@spice630 我丢 这都可以? 难道历史 cookIE 都不过期的?
breadenglish
2017-07-31 14:46:00 +08:00
通过破解网页版的协议来做,优点是简单上手容易,缺点是 BS 结构的东西容易被微信服务器端牵着鼻子走,而且缺少一些功能比如发送名片,@某人之类的。
还有一种做法是安卓机安装了 XP 框架,缺点是每个接口得自己一点一点试很花时间,优点是比较稳定。
FanWall
2017-07-31 17:40:58 +08:00
按照难度等级简单说说:
1、WEB 扫码登录,这个会写点代码的就会做了,缺点嘛,登录麻烦,HTTP 协议,所以容易丢消息容易不到达。
2、hook 等方法读取操作 Client,这个技术门槛不高,但是并不是说简单,效果也有天差地别(真的天差地别,差点的也就是类似安卓的 XP 啥的,或者 windows 读取点自绘窗口上的消息,性能很差;底层点的则直接注入然后 call,由于微信的跨平台特性,所以很多明明在这个 Client 上不存在的功能有的时候也能实现。)缺点也是登录麻烦,但是稳如狗。
3、直接反编译分析并模拟 PC、Android、iPad 等 Client 的数据包,这个难度最大了,但是 QQ 的也差不多泛滥了,微信的 iPad 版也有很多人做出来了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/379134

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX