40
38

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

cocos2d-xAdvent Calendar 2013

Day 16

Cocos2d-xでのコンテンツ暗号化(お手軽)

Last updated at Posted at 2013-12-15

Cocos2d-xでのコンテンツ暗号化(お手軽)

上手い事すると、アプリ化したファイルから画像素材は抜け出せるんですね。
「これは困ります!!!ぐひゅひゅふ!!!(ఠ︹ఠ)」という方には是非使って欲しい小技です。
(抜き出し方法については、お察し下さい)
「cocos2d-Xmas Special」でお話した内容そのまんまですwww

a001.jpg

全体の流れ!

1、Texture Packerで素材の暗号化 2、暗号化されたファイル「hogehoge.plist」、「hogehoge.ccz」をResourceフォルダに保存 3、Cocox2d-xでファイルの複合化して利用 になります。

a002.jpg

[1、Texture Packerで素材の暗号化]

暗号化ファイルは、『Texture Packer』を使ってお手軽に作成する事が出来ます。 http://www.codeandweb.com/texturepacker

書き出しファイルのフォーマットを指定する

出力ファイルの「Texture format」を、zlib compr.PVR(.pvz.ccz, Ver.2)に指定します。 ![003.jpg](https://qiita-image-store.s3.amazonaws.com/0/9823/bdaaf370-c765-8336-89f2-780d571546a2.jpeg)

コンテンツの暗号を指定する

鍵のマークから、Content protectionをクリックします。 Encription keyを指定(必要があれば、Create new keyでランダムな文字列を用意)します。 ここでは、8桁の英数を4セット「aaaaaaaabbbbbbbbccccccccdddddddd」とします。 (コピーや、メモしておく事) 後の複合化で、この鍵を使う事になります。 ![004.jpg](https://qiita-image-store.s3.amazonaws.com/0/9823/e419f67d-fe35-3cba-d5cc-ddf3708d1d6c.jpeg)

生成されたファイルをResourceフォルダへ

ファイルを所定のフォルダへポイします。(ファイルの格納等については、お察し下さい) ![005.jpg](https://qiita-image-store.s3.amazonaws.com/0/9823/d1727e45-ddef-8c99-e828-1a73019d247a.jpeg)

ファイルの復号化

あとは簡単です。

1、ZipUtils.hヘッダーを用意します

hoge.cpp
#include "support/zip_support/ZipUtils.h"

復号化キーの指定

先ほど暗号化で使用したキー「aaaaaaaabbbbbbbbccccccccdddddddd」を、 ccSetPvrEncryptionKeyPartメソッドでで8文字セットで順番に4行づつ下記の様に指定します。
hoge.cpp
ZipUtils::ccSetPvrEncryptionKeyPart(0, 0xaaaaaaaa);
ZipUtils::ccSetPvrEncryptionKeyPart(1, 0xbbbbbbbb);
ZipUtils::ccSetPvrEncryptionKeyPart(2, 0xcccccccc);
ZipUtils::ccSetPvrEncryptionKeyPart(3, 0xdddddddd);

ファイルの利用

スプライトシートをいつもの様に使います。
hoge.cpp
SpriteFrameCache::getInstance()->addSpriteFramesWithFile("hogehoge.plist", "hogehoge.pvr.ccz");
auto eSprite = Sprite::createWithSpriteFrameName("gacya.png");
this->addChild(eSprite);

メリークリスマスでよいお年を!

40
38
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
40
38

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?