SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
cocos2d-xで利用できる暗号化
(cocos2d-x 3.0rc2)
株式会社TKS2 清水友晶
清水 友晶
—  株式会社TKS2
スマートフォンアプリ開発
Webコンテンツ開発
—  日本cocos2d-xユーザ会代表
講演活動
執筆活動
—  チラ裏開発メモ: http://tks2.net/memo
—  SlideShare:
http://www.slideshare.net/doraemonsss
—  6/25発売
—  2,800円 + 税
—  400ページ
—  6/18発売
—  2,980円 + 税
—  312ページ
—  日経ソフトウェア
2014年2月号
—  日本cocos2d-xユーザ会
http://cocos2d-x.jp
—  cocos2d-x開発元Chukong Technologies社公認
—  cocos2d-xのための自由なコミュニティー
—  入門者から上級者まで誰でもOK!!ぜひご参加を! (1300人以上参加)
—  cocos2d-xに関することなら何でも投稿できます!!
—  https://www.facebook.com/groups/cocos2dxjp/
—  4/17 第19回 shinjuku.cocos2d-x
—  5/16 第4回 cocos2d-x開発事例勉強会
—  5/22 第20回 shinjuku.cocos2d-x
目次
—  cocos2d-x 3.0rc2におけるプロジェクト作成
—  setup.py
—  cocosコマンド
—  暗号化の必要性
—  cocos2d-xで利用できる暗号化
—  アプリ内
—  画像の暗号化
—  zipファイルの暗号化
—  サーバアクセス時
—  リクエストの暗号化
—  可逆圧縮・非可逆圧縮
cocos2d-x 3.0rc2における
プロジェクト作成
—  setup.py
—  環境変数の設定を行うことができる
—  COCOS_CONSOLE_ROOT
—  NDK_ROOT
—  ANDROID_SDK_ROOT
—  ANT_ROOT
—  cocosコマンドでAndroid向けビルドをするには、
Android NDK, Android SDK, ANTが必要になるため、
チェックの意味も含めて実行してみるといい
cocos2d-x 3.0rc2における
プロジェクト作成
—  cocosコマンド
—  new
—  クロスプラットフォーム対応プロジェクトの生成を行うことが
できる
—  プロジェクト名
—  -p … パッケージ名
—  -d … ディレクトリ
—  -l … 言語(cpp, lua, js)
—  ./cocos new MyProject -p net.tks2.MyProject -d -l cpp
—  run
—  指定プラットフォームのビルドを行い、シミュレータまたは実
機で実行することができる
—  -p … プラットフォーム(android, ios, mac, web, win32, linux)
—  -m … モード(debug, release)
—  ./cocos run -s /MyProject -p android
暗号化の必要性
—  iOS, Androidは、アプリのリソースを簡単に見ること
ができる
—  iOSはJail Breakしなくても、Androidはroot化しなくて
もアプリの中身を閲覧することができる
—  一般的なhttp通信の場合、盗聴・改竄が容易である
画像の暗号化
—  TexturePackerを利用することで、画像の暗号化を行
うことができる
—  フォーマットの設定
—  暗号の設定
画像の暗号化
—  SpriteFrameCacheに読み込む前に暗号の設定を行う
—  ZipUtils.hの読み込み
—  暗号化の設定
—  テクスチャアトラスの読み込み
zipファイルの暗号化
—  cocos2d-xには、unzip.hにより容易にzipファイルを
扱うことができるが、暗号化には対応していない
—  unzip.cpp内において、強制的に暗号化しない処理が記述
されている
—  暗号化に必要な、crypt.hが存在しない
—  crypt.hはminizip(zlibライセンス)に含まれるものを利
用するとよい
—  http://www.winimage.com/zLibDll/minizip.html
zipファイルの暗号化
—  cocos2d-xにおいて、暗号化を有効化する
—  crypt.hの配置
cocos2d/external/unzipディレクトリにcrypt.hを配置
する
—  unzip.cppの不要な設定をコメントアウト
—  ファイル解凍処理のコーディング
—  cocos2d-xのソースに含まれるAssetsManagerクラスの
uncompressメソッドが参考になる
HTTP通信における
リクエストの暗号化
—  SSLを用いることで通信経路上での盗聴を防ぐことが
できるが、サーバには大きな負荷が掛かる
—  より高速に通信を行う必要がある場合、サーバとの
データのみを暗号化する方法も考えられる
—  cocos2d-xでは、デフォルトでは暗号化をサポートし
ていないが、dualface氏によりCCCryptクラスが公開
されている
—  https://github.com/dualface/cocos2d-x-extensions
HTTP通信における
リクエストの暗号化
—  CCCryptoクラスでは、以下の変換を行うことができ
る
—  AES(暗号化)
—  エンコード
—  デコード
—  BASE64(データ変換)
—  エンコード
—  デコード
—  MD5(ハッシュ関数)
—  SHA1(ハッシュ関数)
HTTP通信における
リクエストの暗号化
—  ここではMD5を利用してみよう
—  サーバで発行されたキーを、iPhoneなどの端末から入力
し、認証を行うようなシーンが想定されます
—  CCCrypto.hの読み込み
—  MD5化
HTTP通信における
リクエストの暗号化
—  出力された結果の確認
—  CCCryptoクラスによりMD5化
—  MacのコマンドによるMD5化
おわり
—  ありがとうございました

Más contenido relacionado

La actualidad más candente

Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介
Tomoaki Shimizu
 
cocos2d-xにおけるBox2Dの利用方法および便利なツール
cocos2d-xにおけるBox2Dの利用方法および便利なツールcocos2d-xにおけるBox2Dの利用方法および便利なツール
cocos2d-xにおけるBox2Dの利用方法および便利なツール
Tomoaki Shimizu
 

La actualidad más candente (20)

CocoStudioとcocos2d-xの連携2
CocoStudioとcocos2d-xの連携2CocoStudioとcocos2d-xの連携2
CocoStudioとcocos2d-xの連携2
 
cocos2d-xのサーバ連携について
cocos2d-xのサーバ連携についてcocos2d-xのサーバ連携について
cocos2d-xのサーバ連携について
 
cocos2d-x JavaScript Bindingsについて
cocos2d-x JavaScript Bindingsについてcocos2d-x JavaScript Bindingsについて
cocos2d-x JavaScript Bindingsについて
 
cocos2d-x 3.0による変更点
cocos2d-x 3.0による変更点cocos2d-x 3.0による変更点
cocos2d-x 3.0による変更点
 
Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介
 
Cocos2d xのススメ
Cocos2d xのススメCocos2d xのススメ
Cocos2d xのススメ
 
cocos2d-xとCocos Code IDE
cocos2d-xとCocos Code IDEcocos2d-xとCocos Code IDE
cocos2d-xとCocos Code IDE
 
Cocos2d-x 3D Extension
Cocos2d-x 3D ExtensionCocos2d-x 3D Extension
Cocos2d-x 3D Extension
 
cocos2d-xの開発に欠かせないCocosBuilderについて
cocos2d-xの開発に欠かせないCocosBuilderについてcocos2d-xの開発に欠かせないCocosBuilderについて
cocos2d-xの開発に欠かせないCocosBuilderについて
 
CocoStudioの紹介
CocoStudioの紹介CocoStudioの紹介
CocoStudioの紹介
 
cocos2d-xのいろいろなオブジェクトの利用
cocos2d-xのいろいろなオブジェクトの利用cocos2d-xのいろいろなオブジェクトの利用
cocos2d-xのいろいろなオブジェクトの利用
 
20130912 macでcocos2d x 3.0alphaを使用した、クロスプラットフォーム開発環境構築について
20130912 macでcocos2d x 3.0alphaを使用した、クロスプラットフォーム開発環境構築について20130912 macでcocos2d x 3.0alphaを使用した、クロスプラットフォーム開発環境構築について
20130912 macでcocos2d x 3.0alphaを使用した、クロスプラットフォーム開発環境構築について
 
Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築
Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築
Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築
 
cocos2d-xを利用したパズドラ風ゲームの作成
cocos2d-xを利用したパズドラ風ゲームの作成cocos2d-xを利用したパズドラ風ゲームの作成
cocos2d-xを利用したパズドラ風ゲームの作成
 
Macでcocos2d-x 3.0alphaを使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 3.0alphaを使用した、iOSアプリの開発環境構築についてMacでcocos2d-x 3.0alphaを使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 3.0alphaを使用した、iOSアプリの開発環境構築について
 
Cocos2d-x公開講座 in 鹿児島
Cocos2d-x公開講座 in 鹿児島Cocos2d-x公開講座 in 鹿児島
Cocos2d-x公開講座 in 鹿児島
 
CocosBuilderを利用した開発の進め方
CocosBuilderを利用した開発の進め方CocosBuilderを利用した開発の進め方
CocosBuilderを利用した開発の進め方
 
Cocos2d-xで画像周りを自由自在に表示してみよう
Cocos2d-xで画像周りを自由自在に表示してみようCocos2d-xで画像周りを自由自在に表示してみよう
Cocos2d-xで画像周りを自由自在に表示してみよう
 
Cocos2d-xによる最新ゲーム開発
Cocos2d-xによる最新ゲーム開発Cocos2d-xによる最新ゲーム開発
Cocos2d-xによる最新ゲーム開発
 
cocos2d-xにおけるBox2Dの利用方法および便利なツール
cocos2d-xにおけるBox2Dの利用方法および便利なツールcocos2d-xにおけるBox2Dの利用方法および便利なツール
cocos2d-xにおけるBox2Dの利用方法および便利なツール
 

Destacado

Kurani drejt shkences
Kurani drejt shkencesKurani drejt shkences
Kurani drejt shkences
Durim Bajrami
 

Destacado (20)

Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
 
SQLite の暗号化
SQLite の暗号化SQLite の暗号化
SQLite の暗号化
 
MySQLおじさんの逆襲
MySQLおじさんの逆襲MySQLおじさんの逆襲
MySQLおじさんの逆襲
 
SQLiteを手軽に・セキュアに
SQLiteを手軽に・セキュアにSQLiteを手軽に・セキュアに
SQLiteを手軽に・セキュアに
 
Grids are Good (right?)
Grids are Good (right?)Grids are Good (right?)
Grids are Good (right?)
 
Webデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼうWebデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼう
 
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナーCocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
 
Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)
Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)
Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)
 
とあるCocos2dxアプリのチート編
とあるCocos2dxアプリのチート編とあるCocos2dxアプリのチート編
とあるCocos2dxアプリのチート編
 
Cocos2d-x(v3.x)で作るマルチプラットフォームゲーム
Cocos2d-x(v3.x)で作るマルチプラットフォームゲームCocos2d-x(v3.x)で作るマルチプラットフォームゲーム
Cocos2d-x(v3.x)で作るマルチプラットフォームゲーム
 
FMDBの利用方法
FMDBの利用方法FMDBの利用方法
FMDBの利用方法
 
Ws2012 directaccessで実現するworkanyshereシナリオ 121208
Ws2012 directaccessで実現するworkanyshereシナリオ 121208Ws2012 directaccessで実現するworkanyshereシナリオ 121208
Ws2012 directaccessで実現するworkanyshereシナリオ 121208
 
Cocos2d-xの深層 Cocos2d-x組み込みによるピュアAndroid/iOSアプリの外科手術的統合
Cocos2d-xの深層 Cocos2d-x組み込みによるピュアAndroid/iOSアプリの外科手術的統合Cocos2d-xの深層 Cocos2d-x組み込みによるピュアAndroid/iOSアプリの外科手術的統合
Cocos2d-xの深層 Cocos2d-x組み込みによるピュアAndroid/iOSアプリの外科手術的統合
 
AssetBundle (もどき) の作り方
AssetBundle (もどき) の作り方AssetBundle (もどき) の作り方
AssetBundle (もどき) の作り方
 
最近、僕がハマったFuelPHPの紹介
最近、僕がハマったFuelPHPの紹介最近、僕がハマったFuelPHPの紹介
最近、僕がハマったFuelPHPの紹介
 
nginx入門
nginx入門nginx入門
nginx入門
 
Ylen Suomalaiset verkossa 2010 - tutkimuksen esittely
Ylen Suomalaiset verkossa 2010 - tutkimuksen esittelyYlen Suomalaiset verkossa 2010 - tutkimuksen esittely
Ylen Suomalaiset verkossa 2010 - tutkimuksen esittely
 
Kurani drejt shkences
Kurani drejt shkencesKurani drejt shkences
Kurani drejt shkences
 
X math new pattern exam in Telangana for 2014- 15
X math new pattern exam in Telangana for 2014- 15X math new pattern exam in Telangana for 2014- 15
X math new pattern exam in Telangana for 2014- 15
 
Psych 100B
Psych 100BPsych 100B
Psych 100B
 

Similar a cocos2d-xで利用できる暗号化

cocos2d-xとCocosBuilder
cocos2d-xとCocosBuildercocos2d-xとCocosBuilder
cocos2d-xとCocosBuilder
Tomoaki Shimizu
 

Similar a cocos2d-xで利用できる暗号化 (20)

cocos2d-xにおけるマップエディタの利用
cocos2d-xにおけるマップエディタの利用cocos2d-xにおけるマップエディタの利用
cocos2d-xにおけるマップエディタの利用
 
Cocos Code IDEを使ってみた
Cocos Code IDEを使ってみたCocos Code IDEを使ってみた
Cocos Code IDEを使ってみた
 
cocos2d-xとspine
cocos2d-xとspinecocos2d-xとspine
cocos2d-xとspine
 
CocoStudioとcocos2d-xの連携
CocoStudioとcocos2d-xの連携CocoStudioとcocos2d-xの連携
CocoStudioとcocos2d-xの連携
 
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
 
Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」
Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」
Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」
 
Macでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築についてMacでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築について
 
Cocos2d-x(JS)の紹介
Cocos2d-x(JS)の紹介Cocos2d-x(JS)の紹介
Cocos2d-x(JS)の紹介
 
CocosBuilderとcocos2d-x JSB
CocosBuilderとcocos2d-x JSBCocosBuilderとcocos2d-x JSB
CocosBuilderとcocos2d-x JSB
 
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築についてWindowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
 
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
 
Macでcocos2d-x 3.0alpha0を使用した、クロスプラットフォーム開発環境構築について
Macでcocos2d-x 3.0alpha0を使用した、クロスプラットフォーム開発環境構築についてMacでcocos2d-x 3.0alpha0を使用した、クロスプラットフォーム開発環境構築について
Macでcocos2d-x 3.0alpha0を使用した、クロスプラットフォーム開発環境構築について
 
GTMF2015: Cocos最新情報と日本展開 | Chukong Technologies Japan株式会社
GTMF2015: Cocos最新情報と日本展開 | Chukong Technologies Japan株式会社GTMF2015: Cocos最新情報と日本展開 | Chukong Technologies Japan株式会社
GTMF2015: Cocos最新情報と日本展開 | Chukong Technologies Japan株式会社
 
Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜
Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜
Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜
 
かんたんなcocos2d-xの紹介
かんたんなcocos2d-xの紹介かんたんなcocos2d-xの紹介
かんたんなcocos2d-xの紹介
 
Macでcocos2d-x 3.0betaを使用した、クロスプラットフォーム開発環境構築について
Macでcocos2d-x 3.0betaを使用した、クロスプラットフォーム開発環境構築についてMacでcocos2d-x 3.0betaを使用した、クロスプラットフォーム開発環境構築について
Macでcocos2d-x 3.0betaを使用した、クロスプラットフォーム開発環境構築について
 
Cocosサービスについて
CocosサービスについてCocosサービスについて
Cocosサービスについて
 
Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」
Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」
Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」
 
cocos2d-xとCocosBuilder
cocos2d-xとCocosBuildercocos2d-xとCocosBuilder
cocos2d-xとCocosBuilder
 
Cocos2d-xおよび関連サービスについて
Cocos2d-xおよび関連サービスについてCocos2d-xおよび関連サービスについて
Cocos2d-xおよび関連サービスについて
 

Más de Tomoaki Shimizu

Más de Tomoaki Shimizu (11)

Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」
Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」
Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」
 
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
 
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」
 
Cocos2d-x(JS) ハンズオン #10「3D機能とVR機能」
Cocos2d-x(JS) ハンズオン #10「3D機能とVR機能」Cocos2d-x(JS) ハンズオン #10「3D機能とVR機能」
Cocos2d-x(JS) ハンズオン #10「3D機能とVR機能」
 
Cocos2d-x(JS) ハンズオン #09「ラベル・テキストボックス」
Cocos2d-x(JS) ハンズオン #09「ラベル・テキストボックス」Cocos2d-x(JS) ハンズオン #09「ラベル・テキストボックス」
Cocos2d-x(JS) ハンズオン #09「ラベル・テキストボックス」
 
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
 
Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」
Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」
Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」
 
Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」
Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」
Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」
 
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」
 
Cocos2d-x(JS) ハンズオン #02 「画像表示とアクション」
Cocos2d-x(JS) ハンズオン #02 「画像表示とアクション」Cocos2d-x(JS) ハンズオン #02 「画像表示とアクション」
Cocos2d-x(JS) ハンズオン #02 「画像表示とアクション」
 
タワーオブスペルズ x cocos2d-x
タワーオブスペルズ x cocos2d-xタワーオブスペルズ x cocos2d-x
タワーオブスペルズ x cocos2d-x
 

cocos2d-xで利用できる暗号化