㈠ unity 怎样防止员工泄露代码
方案一:全面禁止U盘使用、禁用USB存储设备的使用,公司电脑禁止上网等。
当前,由于U盘、移动硬盘的存储空间越来越大,读写速度越来越快,可以轻松通过U盘存储大量的文件,这使得员工可以轻松通过U盘、移动硬盘复制公司电脑文件,然后携带出去用于某种私利目的。因此,公司局域网必须全面禁用USB存储设备。
而禁用电脑USB存储设备的方法很多,比如可以通过组策略禁用U盘、组策略禁用U口使用,通过注册表禁止USB存储设备的使用等,甚至还可以通过BIOS来禁用U口的使用,从而达到禁用USB存储设备的目的。但相应地,也会使得工作中偶尔需要USB存储设备存储文件时有所不便。
方案二:通过电脑文件防泄密软件、电脑数据防泄漏系统防止电脑文件泄密。
如果你觉得通过物理手段禁用U口、禁止电脑上网的方式来阻止泄密电脑文件的方法过于极端,则也可以考虑一些电脑文件防泄密软件来实现,相对于通过物理手段防止电脑文件泄密更加人性化,也可以满足用户一定情况下需要使用U盘、需要访问互联网的情况。
㈡ 如何防止U3D游戏引擎代码被反编译
经过查看不少的资料,发现目前针对的U3D游戏引擎代码防反编译,主要是通过DLL文件进行混淆,而支持的DLL混淆的服务商有爱加密等等,通过DLL文件本身进行加密,防止DLL被反编译,并且对加密算法和密钥进行加密,对加密过程也进行了加密。
㈢ 如何防止Unity3D代码被反编译
加密原理(无需Unity源码):
1. IDA Pro打开libmono.so, 修改mono_image_open_from_data_with_name为
mono_image_open_from_data_with_name_0,
2. 替换实现mono_image_open_from_data_with_name,
extern mono_image_open_from_data_with_name_0(...);
mono_image_open_from_data_with_name(...) {
MonoImage *img = mono_image_open_from_data_with_name_0(...);
//发现数据文件头不是DLL前缀则解密 img->raw_data, 相应修改img->raw_data_len
return img;
}
3. 重新打包libmono.so; 替换Unity3D中的android下的版本.
4. 另外写个加密的工具,植入构建环境(MonoDeveloper或VS,添加一个打包后Build Phase来加密DLL); (IOS下禁用JIT固采用AOT编译,DLL中没有逻辑代码,所以无需操心);
从AndroidManifest.xml中可以看出,腾讯的改造应该是修改并替换了入口的classes.dex,把以前的入口 UnityPlayerProxyActivity替换为com.tencent.tauth.AuthActivity. 然后去加载了自定义的几个so: libNativeRQD.so. 周全考虑,为了防止第三方委托libmono去做解密而做了防护措施. 具体实现我还没做深入分析, 应该也是老套路.
libmono.so中的mono_image_open_from_data_with_name也被替换成了mono_image_open_from_data_with_name_0.
解密(android):
方法一: ROOT android系统(最好是一部手机,别搞模拟器,慢死), 挂载LD_PRELOAD的API hook来实现.
方法二: 内存特征码提取,简单高效无敌; 机器能读,你就能读;
㈣ 如何在 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;
}
}
㈤ unity3d对美术资源的加密方式有哪些
c#代码用混淆,深入可以试着修改mono加载dll方式,官方有开源mono
git。楼上有说assetbundle加密,这里加一个资源文件名称也可以用md5
hash一下。如用其他脚本加密参考脚本语言本身lua可以用luajit,
㈥ 用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对美术资源的加密方式有哪些
U3d是引擎,跟美术没关系,你是奔着工资去的吧?中国貌似没有培训U3d特别好的地方,有耐心的话,自学也行,跟MAYA什么的比,应该不算非常难。