捕鱼大作战协议解密

news2024/12/29 11:01:00

d8509aa5077cd5be18365811c463b452.png

e062f4e631c03349b458575bae193c0b.png

捕鱼大作战协议解密

558329a70c1b0c94a1b42d7c31d4c3b5.png

协/议/流/量/解/密

35971c0bb43a7ae9892b9e32181626bd.png

分析捕鱼大作战这款游戏流量的加密方式及解密方法。


386592c64752e00818e5aa7dab50509f.png

捕鱼大作战是tuyoo公司在很多年前上线的一款休闲游戏,对,就是那个之前本号批斗过的途游,这款游戏以海洋深处作为背景,玩家通过在海底施展各种捕鱼技巧,猎得丰富多彩的鱼类 。最近貌似很火,玩的人很多。

be2a443aa644b04bf1b16cc002bbec3b.png

a8767d651c138c32d5911a5ce8c5c230.png

b72c41fe54c7f03f8cc1e2618276e7d6.jpeg

6235cc5e29eab5a64f5dd5527d307593.jpeg

9ade0c0fa9a3e9e98114e425e44e5a2b.png

c658be4b16907220e76116efb6fd7dfe.png

毫无疑问,捕鱼大作战作为tuyoo的产品,协议的套路是一样的,数据是加密的。它在整体上,加密仍然是分成两个部分,一个是HTTP承载的加密数据,一个是TCP长连接承载的加密数据。这个加密逻辑和方法之前已有分析,可参考文末之前分析其它游戏的相关连接。

69555259658a1473edc80c1066919db8.png

短连接

短链接是粗糙的HTTP,里面连user agent都没有。

GET /open/v6/user/deviceAccountExistCheck?appId=10010&deviceId=386160xxx6f9436f3&clientId=Android_5.280_tyGuest,tyAccount.weixinPay,alipay,yinlian,jingdong.0-hall28.zhibo.fish3d&phoneType=&deviceName=Pixel%201&mac=5ZsNW558xxxk%2BjKu67Y6yZHB44%2BPIsDAxFMHhY37W3HyGgilLEwIbge4biJ6Klnw%3D%3D&imei=AAc/ir5454%2B54xickIaPcdaWGUrd1FFypjBFttXiIyZhHbdThTKwKCyUxA%2BKMZcXZxLblyojicaZFQ%3D%3D&imsi=&androidId=C0GWv444444WJg1HgzBpt1OFMrAoLJTED4oxlxdnEtuXKiOJxpkV&iccid=&BIParams={%22original_deviceid%22:%22130b7c5dbbb7997e1118897996f8e0bf%22,%22oaid%22:%22%22,%22google_id%22:%221a129cda-87bf-4c23-bd63-544563e341c1%22}&adTraceNamespace=3dbuyu10010&adTraceAid=2&oaid=&extraParams={}&original_deviceid=130b7c5dbbxxxxxe1118897996f8e0bf&code=B0A664507E4FEDBFE9722AE6A65FF3D1 HTTP/1.1
User-Agent: 
Host: open-fish3d.tuyoo.com
Connection: Keep-Alive
Accept-Encoding: gzip

这个HTTP唯一的看点是url内的code需要计算,计算方法也很简单,首先对url参数进行排序,然后进行拼接,形成字符串,当然,拼接过程中会加盐,否则就没有意义了,接着,对字符串进行des ecb加密,加密结果进行base64编码,编码结果取MD5,基本上途游的游戏,都是这几种加密和哈希算法。其python实现代码大约如下(盐和密钥被马赛克了):

keys=sorted(params.keys())
    paramsstr=''
    for a in keys:
        if paramsstr!='':
            paramsstr=paramsstr+'&'+a+'='+params[a]
        else:
            paramsstr = 'xxxx'+ a + '=' + params[a]


    paramsstr=paramsstr+'yyyy'
    datastr=paramsstr.encode()
    endata=desecbEncrypt(datastr,b'zzzzz')
    bdata=base64.b64encode(endata)
    code=GetMd5(bdata.decode()).upper()

如有需要,实现过程中可参考。如需密钥,找我(公众号:协议分析与还原)。

1ab9bfd761d119355bc515ea3e782698.png

长连接

和途游的其它游戏一样,长连接一直存在,实现也完全相同,本来不想写,但很多人都不会玩长连接,所以这里还是要提下。

长连接不方便抓包,需要注意,捕鱼大作战使用的端口是9013,它的长连接也是加密的,异或加密,加密的密钥在最开始传输,之后的解密依赖于密钥。长连接的内容类似下面:

2232f83e2885038d686fec1af5626191.jpeg

具体的解密代码,这里不重复了,可以参考文末列的之前的文章。如果要模拟长连接,建立连接后按算法来加密和解密就可以了。

edabd093dc4aabfa9f4f0a225bcb1954.png

e7f6bd20f542e244f9c8990495a7327f.jpeg

b732f8bd0340e91979e11133426eed2f.jpeg

b5e4317ff3f46c1b909c77b8b2a5cbdc.jpeg

4dcc5721303ff6b459fd4200146d8de0.png

a7bb01d563253994f5697165adfd2a3c.png

这款游戏的加解密,还算简单,我最喜欢简单的算法了,我相信大家也喜欢。

56ffb0ec7984929dccb7d8838296f178.png

小提醒

解密协议有困难,找我(协议分析与还原),准没错,有些应用的协议,就该多解密。                                                                                 

87177d46df46036685ae672f9484e38f.png

f90a0efa76b82b315db59e2f6c198fbd.png

END

181e13ece17ace7dc28bb3fc50e203b2.png

2719bbe8cd75cd9639e27e127322208b.png

往期回顾

途游斗地主加密协议分析及破解

奥迪棋牌协议破解分析与揭秘

4632b6ea345aa7e12edd928a18a4c4d1.png

6c5389712d1af420dcf1b4fb3b2ec469.jpeg

bccf85a0a50fb5626d4f22350f8166c4.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/341682.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

D31 Vue2 + Vue3 K104-K123

D31.Vue F17.打包 图片懒加载(K104-K106) 1.打包 1)vue.config.js module.exports {//打包时不生成map文件(用来进行错误提示的文件,很占用空间)productionSourceMap: false,// 关闭ESLINT校验工具lintOnSave: false, }pnp…

学完Scrapy-Splash秒变爬虫大佬

在做爬虫的时候,大多数的网页中会存在数据动态加载的部分,而且多数都是后期渲染上的。正常情况下爬虫程序仅能爬取被渲染过的数据。因此我们看到的数据也许并非是爬虫直接获取来的。 而scrapy-splash担任了一个中间人的角色,程序通过splash服…

吴思进——复杂美创始人首席执行官

杭州复杂美科技有限公司创始人兼CEO, 本科毕业于浙江大学机械专业,辅修过多门管理课程;1997年获经济学硕士学位,有关对冲基金的毕业论文被评为优秀;2008年创办杭州复杂美科技有限公司。 吴思进 中国电子学会区块链委员会专家&…

计算机网络-基本概念

目录 计算机网络-基本概念 互联网 Java的跨平台原理 ​编辑 C\C的跨平台原理 解释性语言的跨平台原理(python,js等) 客户端 vs 服务器 什么是协议? 网络互连模型 请求过程 计算机之间的通信基础 计算机之间的连接方式-网线直连(需要用交叉线,而…

GIS数据经纬度投影坐标转换总结(涵盖几乎全行业的坐标转换方法)

在处理GIS数据的过程中,避免不了要与坐标和坐标系打交道。这篇文章对能够进行地理坐标转换的所有软件框架做一个一次性总结。 软件类: 1.arcgis arcgis能够进行很全面的很方便的坐标处理,无论是经纬度坐标转投影坐标还是投影坐标转经纬度坐标都非常的简单。arcgis能够对导…

Qt编写视频监控系统70-0SD标签和图形信息(支持写入到文件)

一、前言 作为一个完整的视频监控系统,用户还需要自定义一些OSD标签信息显示在对应通道上面,而且不止一个OSD标签信息,位置可以在四个角或者指定坐标显示。最开始本系统设计的时候,由于本人擅长的是painter绘制,所以直…

MySQL视图特性

文章目录MySQL视图特性基本使用准备测试表创建视图修改视图影响基表修改基表影响视图删除视图视图规则和限制MySQL视图特性 视图的概念 视图是一个虚拟表,其内容由查询定义,同真实的表一样,视图包含一系列带有名称的列和行数据。视图中的数据…

opencv读取摄像头和视频数据

大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…

TensorRT和DLA(Deep Learning Accelerator)

TensorRT和DLA(Deep Learning Accelerator) 点击此处加入NVIDIA开发者计划 文章目录TensorRT和DLA(Deep Learning Accelerator)12.1. Running On DLA During TensorRT Inference注意:对于任何张量,索引维度的总体积加上请求的批量大小不得超过此函数返回…

Docker 面试知识点

Docker 是什么? 是实现容器技术的一种工具是一个开源的应用容器引擎使用 C/S 架构模式,通过远程API 来管理 (我们本机是 C,docker 引擎是 S,实际的构建过程是在 docker 引擎下完成的)可以打包一个应用及依赖包到一个轻量级、可移植的容器中 …

Hbase 数据迁移

Hbase 数据迁移 可选方案对比 l 已验证方案操作说明: n Export&import u 导出命令及示例 hbase org.apache.hadoop.hbase.mapreduce.Export “表名” 文件路径 导出至本地文件系统: ./bin/hbase org.apache.hadoop.hbase.mapreduce.Export ‘defa…

UnityBurst系统批量计算的插件入门

什麽是Burst系統做一些批量計算需要,比较难用,针无两头利如果不需要“密集”计算,就帧的不需要,到底什么是密集计算呢,for循环不密集么,while循环不密集么?安装Burst因为发现一个不错项目的插件…

Zookeeper实现分布式锁

文章目录ZK节点类型watch监听机制Zookeeper实现分布式锁锁原理创建锁的过程释放锁的过程ZK锁的种类代码实现Zookeeper是一个开源的分布式协调服务,是一个典型的分布式数据一致性解决方案。 分布式应用程序可以基于Zookeeper实现诸如数据发布/订阅,负载均…

【C/C++基础练习题】简单指针与数组使用练习题

🍉内容专栏:【C/C要打好基础啊】 🍉本文内容:简单指针与数组练习题(复习之前写过的实验报告) 🍉本文作者:Melon西西 🍉发布时间 :2023.2.12 目录 1.vector​编…

async thunk 解决 API 调用的依赖问题

async thunk 解决 API 调用的依赖问题 一句话节省看下面一堆内容的时间就是: async thunk 中可以使用 async/await 锁住其他的 action 操作 一般 API 之间存在三种情况: A 和 B 之间没有依赖关系 这样的情况下,A 和 B 可以各调用各的&#x…

最近大热的 chatGPT 会取代你的工作吗?

ChatGPT 由于其高效的自然语言处理能力,它最容易取代的领域可能是: 文本分类:ChatGPT 可以用作文本分类系统,对文本进行分类 聊天机器人:ChatGPT 可以制作聊天机器人,提供人性化的交互体验 文本生成&…

策略游戏与实践反馈

早上看到time(李培楠)居然击败maru得了IEM的冠军,加上即时战略游戏的没落,星际2的研发停止,以及最近曾经被大家膜拜的暴雪闹出的各种事情,各种百感交集吧,从2000年上手星际争霸1开始&#xff0c…

【SPSS】数据预处理基础教程(附案例实战)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

2.10、时间片轮转、优先级调度算法、多级反馈队列调度算法

Tips:各种调度算法的学习思路 算法思想 算法规则 这种调度算法是用于作业调度还是进程调度? 抢占式? 非抢占式? 优点和缺点 是否会导致饥饿\color{red}饥饿饥饿 某 进程/作业 长期得不到服务 1、时间片轮转(RR, Round-Robin) 1.1、例…

别具一格,原创唯美浪漫情人节表白专辑,(复制就可用)(html5,css3,svg)表白爱心代码(2)

别具一格,原创唯美浪漫情人节表白专辑,(复制就可用)(html5,css3,svg)表白爱心代码(2) 目录 ​​​​​​​款式二:心形实时显示认识多长时间桃花飞舞(爱心)款 1、拷贝完整源代码 2、拷贝完整js代码 3、…