惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
月光博客
月光博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
阮一峰的网络日志
阮一峰的网络日志
博客园_首页
Last Week in AI
Last Week in AI
The Cloudflare Blog
IT之家
IT之家
Hugging Face - Blog
Hugging Face - Blog
美团技术团队
S
SegmentFault 最新的问题
量子位
大猫的无限游戏
大猫的无限游戏
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Microsoft Security Blog
Microsoft Security Blog
云风的 BLOG
云风的 BLOG
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
I
InfoQ
人人都是产品经理
人人都是产品经理
G
Google Developers Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Engineering at Meta
Engineering at Meta

博客园 - 凌度

[C#]AES加解密 vs20109自动补全unity 机器学习 爬取tieba的APP点赞等数据 爬取douyin 数据仓库和数据湖 通过mitmproxy爬取APP的数据 linux下检查网络连通情况 linux下使用clamav排查病毒 GIT统计代码行数 [linux]测硬盘读写速度、内存读写速度 QPS/TPS的预估 tornado多进程模式不同进程写不同日志 [python]pypy优化python性能 [linux]查看进程占用内存 [linux]杀死同一个应用的所有进程 [LINUX] 快速回收连接 jdbc批量写入 Python执行时间的计算方法
unity加密方案
凌度 · 2020-04-23 · via 博客园 - 凌度

分成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编译