软著办理
精彩课程推荐

[教程分享] x-sutdio365 Cocos2d-X资源加密解决方案(AES-CBC)

[复制链接]
查看: 1447|回复: 2
发表于 2019-1-16 21:38:39 | 显示全部楼层 |阅读模式
本帖最后由 HALX99 于 2019-1-19 14:00 编辑

本加密解决方案特性:
1. 支持所有类型文件加密,对cocos2d-x除了.ttf;.mp3;.ogg需要Streaming模式使用(一般是音频播放和字体解析内存占用,性能需要)外,其他所有文件类型均可加密
2. 安全,拒绝以字符串傻瓜式存储密钥,提高破解难度(不要问我能不能破,互联网没有绝对安全,到汇编HOOK系统API级别的黑客,破解只是时间问题)
3. 默认先zlib压缩再加密,最终APK或iPA包体大小和不加密基本一样;如果不先压缩,那么加密后文件数据冗余信息极大减少,普通zip加密算法压缩后大小不会减小会导致最终包体很大,而不论是APK, 还是iPA都是zip算法压缩格式
4. 高性能解密,内存中AES-CBC解密是复用原始内存的,而解压缩过程会从签名中获取原始数据大小,有效避免解压过程中频繁内存释放或内存浪费

使用步骤::
1. 下载 x-studio365 10.0.3300.1001 http://x-studio365.com/dl.php?host=local  并安装
2. 接下来,就可以使用命令行加密资源了
    x-studio365 -c -enc -cfg=D:\encrypt-cfg.xml -i=D:\OriginalRes1 -o=D:\EncryptedRes1
    参数说明:
    -cfg=[file]: 指定加密配置文件,用于加密工具保存加密密钥及其他加密选项
    -i=[path]: 指定加密输入目录
    -o=[path]: 指定加密输出目录
    其他参数说明:
    -j2: 启用双线程加密资源
    -ft=*.png;*.csb: 指定资源加密文件类型
    -dc=.ttf;.mp3;.ogg: 指定直接拷贝文件类型,某些类型文件可能不需要加密
    注意:
    (1) 初次加密,加密工具会自动随机生成AES-CBC加密模式所需ivec和key, 并且加密完成后会存储到encrypt-cfg.xml文件中,以便在解密运行库中设置秘钥
    (2) 如果由-cfg选项指定的加密配置文件已存在, 那么工具从中读取加密选项, 但是如果相同选项在配置文件和命令行参数中都有指定,那么命令行参数会覆盖加密配置文件中的参数, 并跟更新配置文件;如果指定encrypt-cfg.xml已存在, 并且需要变更密钥,那么你只需要从配置文件中删除ivec和key元素即可
3. Cocos2d-X Demo地址: https://github.com/halx99/x-studio365/tree/master/encrypt-demo/cpp-empty-test, 基于最新Cocos2d-X-3.17.1
4. 特别注意:
  对于Lua工程,Win32平台请将加密密钥设置代码移动至:SimulatorWin.cpp文件的SimulatorWin::run()中





71

主题

85

帖子

661

积分

版主

Rank: 7Rank: 7Rank: 7

UID
411
威望
-3
贡献
0
铜币
522
T币
0
主题
71
帖子
85
在线时间: 41 小时
注册时间: 2017-5-20
发表于 2019-1-21 21:56:12 | 显示全部楼层
完美搞定安卓的加密了.

11

主题

64

帖子

461

积分

管理员

Rank: 9Rank: 9Rank: 9

UID
2
威望
0
贡献
0
铜币
397
T币
0
主题
11
帖子
64
在线时间: 47 小时
注册时间: 2017-5-23
http://www.byjth.com
 楼主| 发表于 2019-1-21 22:35:15 来自手机 | 显示全部楼层
666

71

主题

85

帖子

661

积分

版主

Rank: 7Rank: 7Rank: 7

UID
411
威望
-3
贡献
0
铜币
522
T币
0
主题
71
帖子
85
在线时间: 41 小时
注册时间: 2017-5-20
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

商务合作

QQ群:515753718
点击这里给我发消息

扫一扫/点击加群

Copyright;  ©2015-2099  天黑互娱  Powered by游戏开发者社区  技术支持 闭眼就天黑      ( 皖ICP备14007736号-2 )