欢乐消除开心假日协议解密

news2024/11/25 10:14:32

bad8107555806000f445f7ddc2dcf394.png

30087c0a7a67bfa4858ffc859fe91b08.png

欢乐消除开心假日协议解密

d2e94701724eb7a1dffb5d7f214cacac.png

协/议/流/量/解/密

fe076ee721a92b412422fa7094481487.png

分析欢乐消除开心假日这款游戏流量的协议加密方式。


deafc83f24eab809b193ad4dd99db647.png

欢乐消除开心假日是一款合成+模拟家装的游戏,在这个游戏中,你将成为一位充满热情的设计师,与好友一起经营工作室。你需要根据客户的需求重新设计每个房间,创造出令人惊艳的独特设计。借助你自己的想象力和创造力,你将征服挑战,创造出令人眼前一亮的工艺品!这款游戏多个平台都能玩,iOS、Android、小程序都有,前一阵子貌似很火的样子,有人找我搞它,结果由于习惯性活干得比较慢,对方用不上了,考虑给大家体验一下。

76e243b6ff2a8bdec83762ae94a67c60.png

584d6057f512774a113ef8e77478221e.png

3a6d40e314871ace685cb370ccce960e.jpeg

827313f3cc8d24f404cb22fa2cf30f9f.jpeg

ece0aef5a61026c18e5353b514465cd3.png

ea6836571d0fc36c8eda886753881ebc.png

毫无疑问,这类存档类游戏,协议的套路是一样的,数据是加密的。它在整体上,一大串存档数据,在玩的过程中上传服务器,在合适的时候,从服务器下载下来,同步到本地使用。上传下载的过程,有一些校验,当然,还有一些风控策略。在服务端或者客户端,处理了就行了。

3ad1bc4a52b39976b306ce2becb8b575.png

下载存档

这款游戏上传存档和下载存档,用的都是HTTP,小程序用的URL是这个:

https://kxjr.vzhifu.net/wxxyx/userinfo/getinfo

使用POST请求,请求体数据如下:

params={"appid":"38865",
            "prjid":"38865",
            "openid":"ohk81cccccccY",
            "chaid":"wechat",
            "timestamp":"1673596666000",
             "sign":"660767676767677676E0B2C8607151"
            }

这个里面唯一的看点是sign值,加盐然后MD5即可获得,盐值解开小程序包就能获取到,小程序解包可参考文末之前的文章,或者后台找我(公众号:协议分析与还原)。

Android和iOS的开发者应该是同一个人,使用的URL都是这个:

https://kxjr.app.vzhifu.net/dnwx/game/login/v2

这个的抓包过程需要注意使用合适的方式。

使用POST请求,请求体数据如下:

params= {
        "accountType": "0",
        "aid": "2ec511b87b96d69e",
        "appid": "38823",
        "brand": "apple",
        "chaid": "ios",
        "cmd": "1002",
        "email": "",
        "gold": "0",
        "idfa": "",
        "itemList": "",
        "level": "0",
        "loginId": "xxxx",
        "lsn": "220360577",
        "lv": "0",
        "model": "iphone11",
        "netType": "2",
        "os": "ios",
        "pid": "38111117",
        "pkgName": "com.xzd.holiday.hlxc",
        "pwd": "",
         "sign": "xxxx",
        "sysVer": "28",
        "timestamp": "1337049333359",
        "userName": "",
        "wxhead": "",
        "wxid": "",
        "wxname": ""
    }

这个里面仍然只有sign值计算需要注意,加盐然后MD5即可获得,盐值从程序里就能获取到,如果遇到困难可以后台找我(公众号:协议分析与还原)。

9cf3b8215d258f27061f3c981502f21f.png

上传存档

上传存档的过程,小程序用的URL是这个:

https://kxjr.vzhifu.net/wxxyx/userinfo/update

Android和iOS用的是这个:

https://kxjr.app.vzhifu.net/dnwx/game/report/v2

里面的存档是和下载的响应体内基本一样的,一个itemList里面有很大的data或者zipuserdata,需要解base64,解gzip,然后unquote,找到里面的resources,处理里面的数值,再反向处理一边还原:

itemdatab64=player['itemList']['data']#这个里面的resources 里面时数据,改这个才生效
    itemdata=base64.b64decode(itemdatab64.encode())
    itemdataunzip=gzdecode(itemdata)
    itemdataurldec =  urllib.parse.unquote(itemdataunzip)
    itemdatajson=json.loads(itemdataurldec)
    resources=itemdatajson['resources']

其他的就很简单了,如果遇到问题,仍然可以找我。

a7b9f5247a784f4f6ff1e8bac2de0c60.png

03b6901c2d150efa33896ddbd54db1a0.png

b9d8be064d608091c661202443581d48.jpeg

f675f10fdb2b7240dabff9ac07e20211.jpeg

ac452bc2a2d8d0ff565dab3707116af9.png

f6562894e9275df275df2b64324bcf2b.png

这款游戏的存档修改,还算简单,我最喜欢简单的算法了,我相信大家也喜欢。

58413eea52efef27d6f0010e595970b2.png

小提醒

解密协议有困难,找我(协议分析与还原),准没错,大家一起提高。                    

970fef061902bb5417e43ba24f1baf1f.png

fbe1fd93eb9a9a0c61c40234de75cafa.png

END

afb2e420d0d9566d59928a63934fe0c2.png

f835c305a5d63122e8ffb612d3bed1b8.png

往期回顾

PC端微信小程序wxapkg解密

cocos2dx小游戏数据签名算法破解

ffa1d732991bb318ecae3e8b640249cf.png

aff5894af44de0ca8889270fea71495d.jpeg

33079eff1fe26c494dd46d4d826a5f1b.png

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

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

相关文章

详解PyTorch Tensor 数据类型——张量

目录 张量 张量的结构 张量的创建 张量的操作 数学运算 逻辑运算 形状操作 索引和切片 张量的维度变换 常见的数据类型存储 附录PyTorch官方API中文文档 张量 在PyTorch中,张量(Tensor)是一种常见的数据类型,它是一个…

如何快速将多图片合并拼接成一张大图并保留原图质量 - 极速图片合成拼接器软件简介

在工作中我们有时需要把多张图片打印在一张纸上,那就必须手动排列和调整每张图片的大小,这可是一项费时费力的任务。 借助极速图片合成拼接器这款软件,终于可以快速自动解决这种任务啦! 它是一款可以自动一次性将多个图像文件合并…

Jenkins部署angular11自动打包

可能年纪大了,对于新东西的学习和接收有点慢,花了差不多一周的时间,终于把jenkins配置好了,可以自动打包,与手动打出来的一样,以后就解放双手了。#!/bin/bashnpm cache clean -fnpm -vnode -vnpm install n…

ubuntu 18.04.06LST安装R4.0+版本报错及解决过程

1. sudo apt-get update无法正常使用 错误:13 http://ppa.launchpad.net/webupd8team/sublime-text-3/ubuntu bionic Release 404 Not Found [IP: 2620:2d:4000:1::3e 80] 解决措施:删除 webupd8team/sublime-text-3这个ppa文件。 sudo add-apt-repository --…

MySQL调优 - SQL查询深度分页问题

一、问题引入 例如当前存在一张表test_user,然后往这个表里面插入3百万的数据: CREATE TABLE test_user (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键id,user_id varchar(36) NOT NULL COMMENT 用户id,user_name varchar(30) NOT NULL COMMENT 用…

嵌入式学习笔记——寄存器开发STM32 GPIO口

寄存器开发STM32GPIO口前言认识GPIOGPIO是什么GPIO有什么用GPIO怎么用STM32上GPIO的命名以及数量GPIO口的框图(重点)输入框图解析三种输入模式GPIO输入时内部器件及其作用1.保护二极管2.上下拉电阻(可配置)3.施密特触发器4.输入数…

什么是CatGPT-使用效果如何-

个人使用效果,评分优,足以满足教学和填表。程序媛借助CatGPT(ChatGPT更佳),基本上可以秒杀不用此类工具的程序猿(男)!!!问:为什么使用AIGC能大幅度…

79、ClimateNeRF: Physically-based Neural Rendering for Extreme Climate Synthesis

简介主页物理模拟可以很好地预测天气影响。神经辐射场产生SOTA场景模型。ClimateNeRF 允许我们渲染真实的天气效果,包括雾霾、雪和洪水 ,结果可以通过有物理意义的变量来控制,比如水位 ,这允许人们可视化气候变化的结果将对他们产…

2022年MathorCup数学建模B题无人仓的搬运机器人调度问题解题全过程文档加程序

2022年第十二届MathorCup高校数学建模 B题 无人仓的搬运机器人调度问题 原题再现 本题考虑在无人仓内的仓库管理问题之一,搬运机器人 AGV 的调度问题。更多的背景介绍请参看附件-背景介绍。对于无人仓来说,仓库的地图模型可以简化为图的数据结构。 仓库…

面试常问【进程间通信】最详细解说

文章目录 目录 文章目录 一、进程间有哪几种的通信方式 1.为什么需要进程间通信? 2.进程通信的几种方式 3.进程间通信的目的 二、管道 1.匿名管道 2.命名管道 3.管道总结 三、消息队列 四、共享内存 1.共享内存的原理 2.共享内存的接口 1.创建共享内存 2.将共享内存附加到进程…

HBase---Hbase安装(单机版)

Hbase安装单机版 文章目录Hbase安装单机版Master/Slave架构安装步骤配置Hbase1.上传压缩包解压更名修改hbase-env.sh修改hbase-site.xml配置HBase环境变量配置Zookeeper复制配置文件修改zoo.cfg配置文件修改myid配置Zookeeper环境变量刷信息配置文件启动hbase步骤hbase shellMa…

BS系统中的安全方案(SSO和Oauth2认证,数据加密)

摘要用户用浏览器打开网站,DNS会根据域名找到相应的服务器IP给到浏览器,仅接着用户的浏览器会与服务器建立连接,通过网路上的各个设备(交换机、路由器、基站、光纤等),将服务器上的数据发送到用户的电脑上,在浏览器里呈…

运输层概述及web请求

运输层 运输层概述 运输层向高层用户屏蔽了下面网络核心的细节(如网络拓扑、所采用的路由选择协议等)它使应用进程看见的就好像是在两个运输层实体之间有一条端到端的逻辑通信信道; 根据需求不同,运输层提供两种运输协议 面向连…

buffer它到底做了个啥,源码级分析linux内核的文件系统的缓冲区

最近一直在学习linux内核源码,总结一下 https://github.com/xiaozhang8tuo/linux-kernel-0.11 自己整理过的带注释的源码。 为什么要有buffer ​ 高速缓冲区是文件系统访问块设备中数据的必经要道(PS:如果所有程序结果都不落盘,只是int a, a直接在主存…

TryHackMe-Debug(ez php反序列化)

Debug Linux机器CTF!您将了解枚举,查找隐藏的密码文件以及如何利用php反序列化! 端口扫描 循例,nmap Web枚举 进到web是apache默认页面,直接开扫 由于题目告诉我们涉及php反序列化,那直接找php文件来看&…

Linux学习第十四节-shell脚本

1.Shell概述 Shell连接了用户和Linux内核,他可以解释用户输入的命令传输给内核,让用户可以更加方便的使用Linux系统; Shell本身并不是内核的一部分,他只是站在内核的基础上编写一个应用程序; Shell具备编程的能力&a…

C++回顾(八)—— 继承

8.1 继承的概念 继承是类与类之间的关系,是一个很简单很直观的概念,与现实世界中的继承类似,例如儿子继承父亲的财产。 继承(Inheritance)可以理解为一个类从另一个类获取成员变量和成员函数的过程。例如类 B 继承于类…

jconsole远程linux下的tomcat

修改Tomcat的配置 进去 Tomcat 安装目录下的 bin 目录,编辑 catalina.sh vi catalina.sh定位到 ----- Execute The Requested Command ----------------------------------------- vi 编辑模式下,点击 Esc,输入 / ,然后粘贴 -…

什么是Netty

一.Netty介绍 1.什么是netty Netty 是由 JBOSS 提供的一个 Java 开源框架。Netty 提供异步的、基于事件驱动的网络应用程序框架,用以快速开发高性能、高可靠性的网络 IO 程序,是目前最流行的 NIO 框架,Netty 在互联网领域、大数据分布式计算…

自动驾驶介绍系列 ———— 看门狗

文章目录硬件看门狗软件看门狗差异分析延申窗口看门狗硬件看门狗 硬件看门狗的本质上是一个定时器电路。通常存在一个输入,输入到MCU的RST端。在正常工作状态下,MCU每隔固定时间间隔会输出一个信号给RST端,实现对看门狗端清零。如果在指定的时…