bugku---game1

本文介绍了如何通过分析游戏结束时发送的数据包来破解分数验证机制。通过对比不同分数时的包内容,发现分数变化影响的是score和sign参数。sign的格式被确定为`zM+base64(score)+==`。通过解密过程,揭示了修改分数的技巧,即设置score为999999,并正确计算对应的sign。总结了此类游戏破解的关键步骤,强调了多参数验证和解密的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述:

游戏类的,一般都是当分数高到一定程度时,就可以过关

开启bp进行抓包看看

发现:当我们游戏结束时,网页会发送一个包

点击看看 

尝试直接修改 score的值

 

很明显,是不行的。说明有其他的参数来验证分数的真实性;这个参数可能是 sign或者可能在 cookie里。

解决:多次发送包(多次玩游戏,保持不同的值),对比不同的值 

很明显,当分数不同时不同的包差距在于 score和 sign

对比sign发现  sign是由 zM + **** +  ==  构成

 将第一个包中符合条件的四位数拿去cmd5解密,发现,这个就是我们的分数

因此确定了 sign = zM + base64(score) + ==

因此 我们要改分数,就需要将 score = 999999 并且sign = zM+ base64(999999) + ==

base64(999999) 这个具体的值可以去cmd5进行加密

数据包如下

成功拿到flag

总结:

1.游戏类的一般都是通过修改分数来的,要嘛改高(999999) ,要嘛改低(-999999)  

2.控制分数的参数可能不止一个,如果有加密的就得尝试解密。一般就多试几次,找到因分数不同而改变的参数,然后对该参数进行分析

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jjj34

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值