游戏内常见加密

加密只是增大破解难度,没法说绝对安全,避免过度加密导致性能消耗过大。

通用算法库


在数据包中间插入一定长度字节混淆

  • 比如游戏ab资源,会在ab里面插入一段随机字符,避免一般软件破解获得资源。
    • assetstudio

异或加密

  • 比如我们游戏的lua资源,会对lua文本内容做一个异或打包,在读取时再异或解密。

  • 异或加密原理:同个字节异或两次会变成原来的字节。


MD5计算

  • 通信协议内数据,可以通过把数据包算出一个md5,组合在数据包内。

  • 也可以用于校验文件,比如我们下载补丁包,可以检查下载完整性。

  • notepad++中有工具可以快速计算:Tools/MD5


CRC 循环冗余

  • 常用于通信协议,zip压缩校验也有用到。

  • 算法:

    • 加密:约定一个除数,每四个字节数据合并后除余,得到一个字节以内的余数,最后得到一个余数的数组。

    • 解密:每四个自己合并加上余数,再除余,为0就校验成功。


Token

  • 常用于登录等。

    • 对称加密
    plain 复制代码
    Token = 对称加密([用户ID,时间戳...], 密钥)

    密钥是保密的,只存在于服务器上,Token 的生成与解析由服务器负责,客户端也无法解密 Token。Token 中通常只有 userId 和 timestamp。

    • 非对称加密 (JWT)
    plain 复制代码
    Identify = base64.encode([用户ID,时间戳...])
    Token = Identify + 签名(哈希(Identify), 私钥)

    私钥是保密的,只存在于服务器上,Token 的生成由服务器负责,通常由原始用户身份信息 Identify 和签名两部分组成,用户身份 JSON 字符串,通过 base64 算法进行编码作为 Identify,由于 Identify 长度不固定,可用与客户端约定好的哈希算法进行运算,再用私钥进行签名。


包体加固


Untiy代码混淆

相关推荐
魔士于安4 分钟前
宇宙版地球模拟器
游戏·unity·游戏引擎·贴图·模型
wanhengidc21 分钟前
《三国志异闻录》搬砖新游戏 云手机
运维·服务器·数据库·游戏·智能手机
好家伙VCC2 小时前
# 发散创新:用 Rust构建高性能游戏日系统,从零实现事件驱动架构 在现代游戏开发中,**性能与可扩展性**是核心命题。传统基于
java·python·游戏·架构·rust
魔士于安2 小时前
氛围感游戏场景,天空盒,带地形,附赠一个空要塞
游戏·unity·游戏引擎·贴图
上海云盾-小余3 小时前
CC 攻击与 DDoS 联动防护:如何构建一体化流量清洗架构
网络·安全·游戏·架构·ddos
沙振宇7 小时前
【Web】使用Vue3+PlayCanvas开发3D游戏(六)模拟自驾场景SR+3D可视化
前端·游戏·3d·vue3·playcanvas
风酥糖7 小时前
Godot游戏练习01-第15节-敌人生成动画,翻转,碰撞
游戏·游戏引擎·godot
呆呆敲代码的小Y8 小时前
Unity+AI 用一句话制作完整小游戏:飞翔的牛马【AI纯添加-0手工代码】
人工智能·游戏·unity·游戏引擎·游戏制作·unityai·一句话制作游戏
2501_918126919 小时前
学习所有6502写游戏动作的语句
汇编·嵌入式硬件·学习·游戏·个人开发
2501_918126919 小时前
学习所有6502游戏的系统
java·汇编·嵌入式硬件·学习·游戏