欢乐消除开心假日协议解密
协/议/流/量/解/密
分析欢乐消除开心假日这款游戏流量的协议加密方式。
序
欢乐消除开心假日是一款合成+模拟家装的游戏,在这个游戏中,你将成为一位充满热情的设计师,与好友一起经营工作室。你需要根据客户的需求重新设计每个房间,创造出令人惊艳的独特设计。借助你自己的想象力和创造力,你将征服挑战,创造出令人眼前一亮的工艺品!这款游戏多个平台都能玩,iOS、Android、小程序都有,前一阵子貌似很火的样子,有人找我搞它,结果由于习惯性活干得比较慢,对方用不上了,考虑给大家体验一下。
本
毫无疑问,这类存档类游戏,协议的套路是一样的,数据是加密的。它在整体上,一大串存档数据,在玩的过程中上传服务器,在合适的时候,从服务器下载下来,同步到本地使用。上传下载的过程,有一些校验,当然,还有一些风控策略。在服务端或者客户端,处理了就行了。
下载存档
这款游戏上传存档和下载存档,用的都是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即可获得,盐值从程序里就能获取到,如果遇到困难可以后台找我(公众号:协议分析与还原)。
上传存档
上传存档的过程,小程序用的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']
其他的就很简单了,如果遇到问题,仍然可以找我。
跋
这款游戏的存档修改,还算简单,我最喜欢简单的算法了,我相信大家也喜欢。
小提醒
解密协议有困难,找我(协议分析与还原),准没错,大家一起提高。
END
往期回顾
PC端微信小程序wxapkg解密
cocos2dx小游戏数据签名算法破解