Easy Save3游戏存档安全分析 | 您所在的位置:网站首页 › 游戏存档加密了怎么办 › Easy Save3游戏存档安全分析 |
一、简介
在Unity3d商店中看到一款存档读档的插件,下载量挺大的,找了个试用版本的玩了下,使用确实挺方便。而且支持不止对数据对存储,包括类对象、资源文件等。 简单的直接存储一个整型: ES3.Save("123",1); int v = ES3.Load("123");或者一个对象: TestStruct testStruct = new TestStruct(); testStruct.id = 0x11111; testStruct.name = "32131"; testStruct.pic = 1981; ES3.Save("1234", testStruct); TestStruct v1 = ES3.Load("1234");采用默认文件存储,存储在/sdcard/Android/data/[packagename]/files下,对应内容: 1、优势 (1)代码全采用C#开发,基本不涉及平台相关,维护和跨平台都十分方便; (2)存档和读档基本只需一条语句即可实现,二次开发成本低; (3)多功能的支持,如自动存档。 2、劣势 (1)默认处理不做加密强度基本不保障,而且数据保存在sdcard,篡改本地数据非常方便; (2)加密后采用的AES标准算法,只需要找到密钥就能达到篡改数据的目的。 数据篡改只考虑本地静态数据篡改实现。 四、改进方案1、考虑基于平台的代码保护,将数据解析存储代码最好通过C/C++实现; 2、键值考虑不使用有意义的字符串,使用宏定义的数字或无意义字符串; 3、采用多层嵌套自定义加密; 4、针对存档数据有独立的哈希校验; 5、json格式保存,考虑转化为另外一种独立的格式或者文件结构,和json可以进行相互关联转化,自定义格式更方便本地存取,无需读取整个文件。 |
CopyRight 2018-2019 实验室设备网 版权所有 |