当前位置: 首页 > news >正文

游戏内常见加密

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

通用算法库

  • lua的加密算法库:https://github.com/somesocks/lua-lockbox/tree/master

    • 比如通信协议就用到里面一些算法cry.encrypt
  • 算法优劣:AES加解密-CBC ECB


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

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

异或加密

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

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


MD5计算

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

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

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


CRC 循环冗余

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

  • 算法:

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

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


Token

  • 常用于登录等。

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

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

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

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


包体加固

  • 游戏apk会给三方平台加固,提高反编译难度:https://blog.csdn.net/kingwjh/article/details/128814421

Untiy代码混淆

  • il2cpp本身也会对代码做混淆:https://zhuanlan.zhihu.com/p/496185288

    • Strip code
  • 其他一些混淆库:https://github.com/DrFlower/Unity-Obfuscator

http://www.dtcms.com/a/17827.html

相关文章:

  • C# 运算符
  • 人工智能任务21-飞蛾火焰优化算法(MFO)在深度学习中的应用
  • Xilinx kintex-7系列 FPGA支持PCIe 3.0 吗?
  • 04-微服务02(网关路由、网关鉴权、nacos统一配置管理、自动装配原理、bootstrap.yaml)
  • DRIVER SCANPATH PREDICTION BASED ON INVERSE REINFORCEMENT LEARNING
  • 如何设置Java爬虫的异常处理?
  • UniApp 如何处理不同平台的差异?
  • redis cluster 增加节点 rebalance 的具体过程,如何做到不停值对外服务的
  • 第一章嵌入式系统概论考点06数字图像
  • 网络安全清单
  • maven使用默认settings.xml配置时,Idea基于pom.xml更新依赖时报错,有些组件下载时连接超时
  • 电动汽车电池监测平台系统设计(论文+源码+图纸)
  • 常见的缓存更新策略
  • 【Docker】容器被停止/删除的方式及命令:全面解析与实践指南
  • Express 中间件分类
  • Vue和React的区别
  • C# 特性 学习记录
  • springboot023学生宿舍管理系统
  • 《LSTM与HMM:序列建模领域的双雄对决》
  • GPU的核心的时钟频率,使用什么命令查看和计算
  • 蓝桥杯 Java B 组之简单数学问题(素数判断、最大公约数)
  • 在anaconda环境中构建flask项目的exe文件
  • DrissionPage(实战)
  • GitHub 使用教程:从入门到进阶
  • 异构计算架构助力智能座舱实现高效低耗体验
  • PMTUD By UDP
  • RK3588开发板部署DeepSeek-R1-Distill-Qwen-1.5B的步骤及问题
  • OSI 参考模型和 TCP/IP 参考模型
  • AI技术+Xsens惯性捕捉技术:科技碰撞下的无限可能
  • 【网络测试】tmux工具常用指令