unity加密
⑴ 如何在 unity3D 游戏存档加密
存档文件, 被修改起来现在变的很容易了, 为了解决这个问题,请用下面的代码,修改playerPrefs.cs
1.替换
fileReader = new StreamReader(fileName);
serializedInput =DecryptDES(fileReader.ReadLine(), highscore.keyss);
复制代码
2.替换
fileWriter.WriteLine( EncryptDES(serializedOutput , highscore.keyss));
fileWriter.Close();
复制代码
3.
//默认密钥向量
private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };public static string keyss = "1234567z";
/// <summary>
/// DES加密字符串
/// </summary>
/// <param name="encryptString">待加密的字符串</param>
/// <param name="encryptKey">加密密钥,要求为8位</param>
/// <returns>加密成功返回加密后的字符串,失败返回源串</returns>
public static string EncryptDES(string encryptString, string encryptKey)
{
try
{
byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));
byte[] rgbIV = Keys;
byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
return Convert.ToBase64String(mStream.ToArray());
}
catch
{
return encryptString;
}
}/// <summary>
/// DES解密字符串
/// </summary>
/// <param name="decryptString">待解密的字符串</param>
/// <param name="decryptKey">解密密钥,要求为8位,和加密密钥相同</param>
/// <returns>解密成功返回解密后的字符串,失败返源串</returns>
public static string DecryptDES(string decryptString, string decryptKey)
{
try
{
byte[] rgbKey = Encoding.UTF8.GetBytes(decryptKey);
byte[] rgbIV = Keys;
byte[] inputByteArray = Convert.FromBase64String(decryptString);
DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
return Encoding.UTF8.GetString(mStream.ToArray());
}
catch
{
return decryptString;
}
}
⑵ unity这两个文件是用什么方式加密的有没有解密
c#照样容易被破解,即使加密,也只是增加破解的难度而已,都是从dll中反编译,很多大型游戏不一样有破解
只是c#的类型是安全的,而js虽然可以强制静态类型,但并没c#那么可靠
如果刚开始学习而没有编程基础,可以从js开始,不过最后还是可能转到c#上
⑶ unity streamingassets可以加密吗
所有的数据都是01数据,当然可以加密,然后加密之后读到内存中
⑷ Unity3D代码加密如何做到防止反编译
Unity3D主要使用C#语法和开源mono运行开发商的代码逻辑,所有代码都不是编译到EXE,而是位于{APP}\build\game_Data\Managed\Assembly-CSharp.dll。而且mono执行原理跟微软.NET Framework兼容但是执行原理完全不一样。传统的.NET Framework加壳全部失效,因为Assembly-CSharp.dll不是PE格式的动态库也不是.NET的动态库,无法从 .NET Framework 加载,而是由mono.dll读取 Assembly-CSharp.dll的里面C#脚本解释执行。
Virbox Protector 对 Assembly-CSharp.dll 做加密,无需手动加密 Assembly-CSharp.dll 代码,自动编译 mono, Assembly-CSharp.dll 代码按需解密,只有调用到才会在内存解密,不调用不解密,黑客无法一次解出所有的代码。一键加密代码逻辑,无法反编译,无法mp内存。不降低游戏帧数,自带反黑引擎,驱动级别反调试,秒杀市面的所有调试器。
Uinty3D 主要的游戏资源都在 resources.assets ,游戏里面所有放在 resources 文件夹下的东西都会放在这里,DSProtector工具可以对Unity软件中的 .resS和resources等资源文件进行加密防止软件或游戏中的资源被非法提取。
⑸ 用unity3d开发的软件,有没有好的工具能做加密
随着3D技术越来成熟,3D游戏开发备受大家的青睐!我第一次接触3D技术是从一部3D电影开始!当时在看完那部电影之后,我才开始对3D有了初步认识!除了电影,3D技术还运用在很多方面,比较最近非常火的VR技术,AR技术等。但是接下来我要为大家介绍的是一款游戏引擎——Unity。
对于Unity相信很多人多不陌生,用一句话来描述就是:Unity是游戏引擎、游戏开发工具。支持的维度3D,2D,可以进行3D,2D游戏开发。对编程有所认知的朋友,大概会说“你问Unity是干什么?开发游戏一个开发工具”。在程序员的工作生涯中,开发工具使用最为常见,因为针对不同的编程语言使用不同的开发工具是有所差异的,需要安想装不同的开发环境,如最近很火的小程序需要用微信web开发者工具,VS是开发C#常用的工具。那么,作为开发工具Unity3D支持什么语言?下面就让我们收集一下信息,一起来了解一下Unity3D用什么语言开发好?
Unity网络里关于编程语言写的是C#和JS两种语言?对于不是计算机专业的朋友,可能对两个语言很陌生。简单的接受一下两种语言的运用情况吧!
JS是一个脚本语言,全称是JavaScript,请注意它不是Java,两个不是一个东西,不要弄混!目前运用最多的方面就是前段开发,可以做一些也没交互,最为简单就是用js实现鼠标点击事件。
C#是微软公司的开发的,我最早接触net开发采用的语言就是C#,支持C#开发的最广泛的软件就是VS(Microsoft Visual Studio,安装包很大),个人的看法:C#在语言逻辑、安全等方面比JS更具有限。
从市场上Unity开发语言的选择中,C#备受企业青睐!为了能向企业输送对口人才!蓝鸥Unity3D用C#语言开发!
上面我提了一下VS安装包比较大,相对于Unity自带的mono软件(用来写脚本的软件)更便捷。为了方便安装,蓝鸥Unity3D开发脚本使用mono软件进行编写。
⑹ unity3d 有什么加密算法
平行光:DirectionalLight点光源:PointLight聚光灯:SpotLight区域光源:AreaLight平行光只跟方向有关,电光源是一个球状的,聚光灯,比较耗费资源,区域光源没怎么用过,只能给出这些区别了。
⑺ unity assetbundle不加密会怎么样
其实函数返回值只是函数的一个输出参数,一个函数可以有很多的输出参数,可以通过指针,全局变量等方式来传递参数,C++还可以通过引用来传递输出参数,你可以把返回值改成函数的一个形参,这样函数就可以没有返回值了,也就是说没有什么情况下
⑻ unity3d对美术资源的加密方式有哪些
c#代码用混淆,深入可以试着修改mono加载dll方式,官方有开源mono
git。楼上有说assetbundle加密,这里加一个资源文件名称也可以用md5
hash一下。如用其他脚本加密参考脚本语言本身lua可以用luajit,
⑼ unity3d对美术资源的加密方式有哪些
U3d是引擎,跟美术没关系,你是奔着工资去的吧?中国貌似没有培训U3d特别好的地方,有耐心的话,自学也行,跟MAYA什么的比,应该不算非常难。