查看: 44633|回复: 199

[在unity中制作] 保护内容

  [复制链接]

7

主题

7

帖子

176

积分

vip会员

Rank: 1

积分
176
发表于 2016-7-13 19:14:06 | 显示全部楼层 |阅读模式
虽然它使用加密来保护你的资产,他们正在传播的可能,一旦数据在客户端有可能找到从他们手中抢含量的方法。例如,有工具就可以在驱动程序级记录3D数据,允许用户提取模型和纹理都送到GPU。为此,我们一贯的立场是,如果用户决定提取你的资产,他们将能够。

然而,你用你自己的数据加密相关文件,如果你还想这是可能的。

做到这一点的方法之一是利用textasset类型来存储你的数据字节。你可以加密您的数据文件并将它们保存着。字节扩展,这将作为一个统一textasset型。一旦导入编辑器中的文件textassets可以包含在你的资源包被放置在一个服务器。在客户端的资源包将下载的内容解密存储在textasset字节。该方法中是不加密的,但数据存储是存储textassets是。

string url = "http://www.mywebsite.com/mygame/assetbundles/assetbundle1.unity3d";
IEnumerator Start () {
    while (!Caching.ready)
        yield return null;

    // Start a download of the encrypted assetbundle
    WWW www = new WWW.LoadFromCacheOrDownload (url, 1);

    // Wait for download to complete
    yield return www;

    // Load the TextAsset from the AssetBundle
    TextAsset textAsset = www.assetBundle.Load("EncryptedData", typeof(TextAsset));

    // Get the byte data
    byte[] encryptedData = textAsset.bytes;

    // Decrypt the AssetBundle data
    byte[] decryptedData = YourDecryptionMethod(encryptedData);

    // Use your byte array. The AssetBundle will be cached
}

另一种方法是完全加密的资源包从源然后下载使用WWW类。你可以给他们任何文件扩展名你喜欢,只要你的服务器是作为二进制数据。一旦下载你就用你的解密程序从数据字节属性你WWW实例得到解密后的相关文件资料和创建资源包从内存使用assetbundle.createfrommemory。

string = "http://www.mywebsite.com/mygame/assetbundles/assetbundle1.unity3d";
IEnumerator Start () {
    // Start a download of the encrypted assetbundle
    WWW www = new WWW (url);

    // Wait for download to complete
    yield return www;

    // Get the byte data
    byte[] encryptedData = www.bytes;

    // Decrypt the AssetBundle data
    byte[] decryptedData = YourDecryptionMethod(encryptedData);

    // Create an AssetBundle from the bytes array

    AssetBundleCreateRequest acr = AssetBundle.CreateFromMemory(decryptedData);
    yield return acr;

    AssetBundle bundle = acr.assetBundle;

    // You can now use your AssetBundle. The AssetBundle is not cached.
}

这后一种方法在第一个好处是,你可以用任何方法(除了资源包。LoadFromCacheOrDownload)发送字节和数据是完全加密的-例如插座插件。缺点是,它不会被缓存,使用统一的自动缓存。你可以在所有的玩家除了播放器存储文件的磁盘和使用手动加载它assetbundles.createfromfile

三分之一种方法结合了最好的两种方法和存储资源包本身作为一个textasset,在另一个正常的资源包。未加密的资源包含有加密会缓存。原有的资源包可以被加载到内存中,解密和实例使用assetbundle.createfrommemory。

string = "http://www.mywebsite.com/mygame/assetbundles/assetbundle1.unity3d";
IEnumerator Start () {
    while (!Caching.ready)
        yield return null;

    // Start a download of the encrypted assetbundle
    WWW www = new WWW.LoadFromCacheOrDownload (url, 1);

    // Wait for download to complete
    yield return www;

    // Load the TextAsset from the AssetBundle
    TextAsset textAsset =http://www.assetBundle.Load]www.assetBundle.Load("EncryptedData", typeof(TextAsset));

    // Get the byte data
    byte[] encryptedData = textAsset.bytes;

    // Decrypt the AssetBundle data
    byte[] decryptedData = YourDecryptionMethod(encryptedData);

    // Create an AssetBundle from the bytes array
    AssetBundleCreateRequest acr = AssetBundle.CreateFromMemory(decryptedData);
    yield return acr;

    AssetBundle bundle = acr.assetBundle;

    // You can now use your AssetBundle. The wrapper AssetBundle is cached
}

回复

使用道具 举报

0

主题

1245

帖子

3991

积分

vip会员

Rank: 1

积分
3991
发表于 2016-7-13 19:32:28 来自手机 | 显示全部楼层
看看价钱,然后考虑。
回复 支持 反对

使用道具 举报

0

主题

817

帖子

2660

积分

vip会员

Rank: 1

积分
2660
发表于 2016-7-13 19:48:02 | 显示全部楼层
学习了,感谢分享
回复 支持 反对

使用道具 举报

0

主题

855

帖子

2808

积分

vip会员

Rank: 1

积分
2808
发表于 2016-7-13 20:27:36 | 显示全部楼层
有些买不起了,看看把
回复 支持 反对

使用道具 举报

0

主题

848

帖子

2818

积分

vip会员

Rank: 1

积分
2818
发表于 2016-7-13 21:02:13 来自手机 | 显示全部楼层
瞧一瞧看一看,看看我又没有!
回复 支持 反对

使用道具 举报

0

主题

906

帖子

2976

积分

vip会员

Rank: 1

积分
2976
发表于 2016-7-13 21:48:11 来自手机 | 显示全部楼层
这个不会又是超级贵吧.
回复 支持 反对

使用道具 举报

0

主题

893

帖子

2982

积分

vip会员

Rank: 1

积分
2982
发表于 2016-7-13 22:09:26 来自手机 | 显示全部楼层
好东西这么多....
回复 支持 反对

使用道具 举报

忐忑幽灵 该用户已被删除
发表于 2016-7-13 22:36:45 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

0

主题

853

帖子

2849

积分

vip会员

Rank: 1

积分
2849
发表于 2016-7-13 23:05:50 来自手机 | 显示全部楼层
楼主能发图瞧瞧嘛
回复 支持 反对

使用道具 举报

0

主题

858

帖子

2837

积分

vip会员

Rank: 1

积分
2837
发表于 2016-7-14 00:08:07 来自手机 | 显示全部楼层
来看看......
回复 支持 反对

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | enginedx注册

本版积分规则

 
 



邮件留言:


 
返回顶部