之前我有看过斗鱼 TV 的弹幕抓取如何获取斗鱼直播间的弹幕信息? - Python 。抓包过程实际上是斗鱼自己自定义弹幕格式,并没有使用 Web 协议。最近我在研究三国杀的签到,聚宝盆,工会击鼓等功能的数据包,有一些成果但是总体来说还是失败的。
先说一下我发现的几点:
1 :三国杀 online 登录以后会访问 http://web.sanguosha.com/220_9/gate/sgs_area_list.xml?nocache=1455900903nocache=1455900903 来获取对应区的 ip 地址(比如我是 9 区的,那么它会在区的 IP 地址列表里随机选择一个进行连接)。和斗鱼的弹幕服务器类似。
2 :我查看过,每日签到和聚宝盆会发送 web 请求,但是这个 web 请求只是用来日志记录,并不是真正的执行数据包。我猜真正的数据包应该是在 1 中连接的那个端口上发生数据的。我用 wireshark 抓包过了,然后在 data 中的数据全部是不可见字符,不像斗鱼 TV 那样是明文(可以看见 ASCII 码内容)
3 :我还尝试过反编译三国杀 online 的安卓端程序,然后我反编译后 发现,关键代码全部都是混淆过了的,很难找出每日自动签到和聚宝盆的实际执行代码。
4 :工会签到是发送了 web 请求的,但是里面有一个 sign 字段,看样子是加密了的,不知道如何破解。
现在想请高人能够解决这个问题,我想实现三国杀的自动签到,模拟发送数据包(无恶意,只是想用代码代替手工)。其实我对三国杀实现的技术原理更为感兴趣,希望知乎上能够有大牛能够详细的讲一下三国杀 online 的签到,聚宝盆的公会击鼓的整个流程。我百度,谷歌上都搜过了,关于这房方面的资料实在是太少了,而我个人能力又太弱,希望有大牛能够帮助。
知乎上转过来的,知乎上挂了几天没人回复,不知道这里有没有大牛能够给点建议。主要是思路,我现在不知道接下来该怎么办了。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.