大家好,又见面了,我是你们的朋友全栈君。
TexturePacker最新版本中增加了一个新功能以防止你的产品资源被反编译出来。它被称为ContentProtection,即图片加密。
你的app或者游戏仍可以解密数据,但是其他人则需要耗上很长的时间才能够完成激活成功教程。
理论上别人仍可能从源码提取出密钥,并写出一些解码器,这是因为解码器和密钥已经被存储在你的app中-
否则不可能使用你的游戏资源。但是这需要花费知识,时间和精力来解密你的资源。所以他们很有可能找一些
其他更简单的猎物来激活成功教程而不是你的资源文件。
TexturePacker加密策略设置
假设你已经运行过TexturePacker 创建精灵表,所以只需要打开一个已经存在的.tps文件。
下载最新版的TexturePacker-在左侧你会看到一个新的option属性:Content Protection。按下“Lock”图标,并会弹出一个新的窗口:
在编辑框中你可以输入你想要设置的key-或者按Create new key 按钮创建新的key
使用Clear/Disable来关闭加密功能。
在 TexturePacker 中 按下Save as global key 会存储密钥key为全局变量,在.pvr查看器中用它来解密,
通过按下Use global key按钮你可以复制密钥key到其他精灵表中。
改变文件的格式为pvr.ccz是非常重要的,它是当前唯一支持解密的格式。
在TexturePacker中按下Publish完成在TexturePacker中的工作。
在命令行中输入的命令是:–content-protection <key> ,其中 key必须是32位十六进制值。
在Cocos2d工程准备 Content protection
下载并拷贝下面2个文件到你的cocos2d文件夹里: libs/cocos2d/Support
-替换已经存在的2个文件:
现在在你的app里设置密钥key。在第一个精灵表导入前你可以在你的程序启动前调用4个方法来完成它。
为了让他们更难被激活成功教程请尝试分开调用。
如果你的密钥是aaaaaaaabbbbbbbbccccccccdddddddd,你必须将它们分成4部分每部分8位:
- aaaaaaaa
- bbbbbbbb
- cccccccc
- dddddddd
128位加密密钥每个值是32位。在它是作为一个另一个值传递给函数,因此在app中它很难定位。
- caw_setkey_part(0, 0xaaaaaaaa);
- caw_setkey_part(1, 0xbbbbbbbb);
- caw_setkey_part(2, 0xcccccccc);
- caw_setkey_part(3, 0xdddddddd);
在每一个文件里使用caw_setkey_part,你都得确保添加下面一行:
- #import “ZipUtils.h”
如果你已经改了文件的格式,那么现在你需要导入的是.pvr.ccz文件代替你之前使用的。
当然你也可以添加新文件到你的工程里。对,就是这样!
总结
保护你游戏资源被盗是容易的。使用新的Content Protection功能你只需要不到五分钟的时间来设置就可以做到。
苹果需要加密和内容保护
我不是律师&我不知道这是否合法!根据我对苹果的iTunes Connect指导和工业安全局的理解:如果你使用TexturePacker的Content Protection,你不需要在你的app/游戏里获得ERN认可。
加密仅是用于保护你的知识产权的,并且用户是访问不了的-在规定中不被包含。
查看工业安全局加密 FAQ(the Bureau of Industry and Securitys Encryption FAQ) –
问题 15 (What is Note 4?)里面说到:
…不在第五类第二部分的项,包含在Note 4中,但是没有限制,这些项有:
可消费的应用,一些例子:
- 软件或者音乐盗版和防盗版。
- 音乐,电影,曲子/音乐,数码照片-播放器,录音机和管理器。
- 游戏-设备,实时软件,HDMI和其他组件接口,开发工具。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151993.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...