unity加密方案

分成c#代码(SDK)和c++代码(dll\so)

加解密流程:
c# new一个新类,初始化的时候传入key
c# 通过SetString方法传入待加密或者解密字符串
c# 通过Run方法,传递要求加密(0)或者解密(1)
c# 通过GetString方法获取加密或者解密结果

dll(c++)功能:
核心加解密函数

密钥保密:
key在c#保存,使用64位字符串,按特定位取,c#采用rsa解密
salt在c++保存,取sha256
iv在文件中保存,需要另外一个工具生成文件内容,游戏程序只读文件。

工具默认规则为生成128位长度字符,按奇数1、3、5位把base64后的iv字符串插入,插入完毕下一个奇数位,再补一个“=”

 

混淆方案:
1、dll对外没有直接加解密函数,只能按步骤调用
2、dll内部加解密有默认key\salt\iv,如果被人直接调用,不会出错
3、key\salt\iv保存在三个不同地方,组合在一起才能正确解密
4、函数定义和变量命名避免key\encrypt\decrypt等
5、unity最终使用IL2CPP编译

 

原文链接: https://www.cnblogs.com/linn/p/12758703.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    unity加密方案

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/343990

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午2:24
下一篇 2023年3月2日 上午2:24

相关推荐