SlideShare une entreprise Scribd logo
1  sur  61
Télécharger pour lire hors ligne
スマホゲーム開発者が
知っておくべき
チートのリスク&対策
小林亜実

株式会社DNPハイパーテック マーケティング部
DNPハイパーテックとは

会社概要
商号  株式会社DNPハイパーテック(大日本印刷グループ)
所在地 京都市下京区(京都リサーチパーク内)
設立  1994年5月18日
業務内容
• BtoBセキュリティソフトの開発
• 特許業務支援ソフトの開発
• 特許戦略コンサルティング
本日のゴール
Unityを使ってスマホゲームを開発・運営されている方に
アプリ(クライアントサイド)のチート対策
について理解を深めていただく
アジェンダ
1. チートが引き起こす問題
2. チート手法
3. ケーススタディ『改ざんapkの蔓延』
4. まとめ
5. チート対策「CrackProof」のご紹介
6. 最近のトピック
1.チートが引き起こす問題
チートとは?
スコアやヒットポイントの操作
ステージやシナリオの解放
レアキャラクターの入手
ゲームプレイの自動化
課金アイテムの入手
アプリ内広告の無効化
GPSの位置偽装

           etc…
『ゲームを優位に進めるため、
 制作者の意図しない動作を
 させる不正行為』
(Wikipediaより)
定義 チート例
チートが引き起こすリスク
ゲームの運営にはチート対策が必須!
収益機会の損失
ビジネス失敗
RISK2
レビュー炎上
新規DLが…
RISK3RISK1
ゲームバランス崩壊
ユーザー離れ
2.チート手法
弊社で作成したアプリ
チート手法
・パッチツールによるアプリ内広告の無効化
・メモリ改ざんツールによる課金アイテムの入手
弊社で作成したアプリ
パッチツールによるアプリ内広告の無効化
弊社で作成したアプリ
パッチツールによるアプリ内広告の無効化
弊社で作成したアプリ
メモリ改ざんツールによる課金アイテムの不正入手
① ジュエル(課金アイテム)
50個消費→アイテム1個
*課金時にはサーバーと通信
②アイテム
 1個消費

  →Attack10倍
メモリをいじって

ジュエルをタダで増やす
→アイテムに交換
 →Attack上げる
  !敵を一撃で撃破
デモでやること
弊社で作成したアプリ
チート手法
・パッチツールによるアプリ内広告の無効化
・メモリ改ざんツールによる課金アイテムの入手
ユーザーにとっては意外とカジュアルな行為
3.ケーススタディ
『改造apkの蔓延』
3. パブリッシャーA社様 のケース 
プレイヤーの攻撃力を増大させるよう
改造したapkが出回っている
被 害
実際に収益が大きく損なわれており

急いで対策したい
チート対策のお問い合わせがあった
なぜ改造apkがつくられたのか
①DLLファイルの解析・改ざん
②メモリの解析・改ざん
③再署名して再パッケージ
なぜ改造apkがつくられたのか
①DLLファイルの解析・改ざん
②メモリの解析・改ざん
③再署名して再パッケージ
DLLファイルとは
ビルド
C#で書いた
ソースコード
.DLL
libunity.so
libmono.so
JIT
コンパイル
関数呼び出し
ロード
中間言語
00010011
10101000
00001000
10101001
00100100
機械語
.DLL 機械語
apk
ソースコードへ戻すことが容易
コンパイル
逆コンパイル
(ILSpyなど)
ソースコード
( C# )
バイナリ
ファイル
(DLLファイルに)
0001001110010
0100100100011
0111010100000
0010001010100
1001001000110
1110000100111
0010010010010
0011011101010
0000001000101
0100100100100
01101110
ソースコード(.cs) ILSpyで逆コンパイルした

Assembly-CSharp.dll
逆コンパイルすると…
対策手法(DLLファイルの解析・改ざん対策)
・難読化
・暗号化
・ハッシュ値をチェック(SHA-1, SHA-256 等)
・IL2CPPを使ってネイティブファイルで出力
IL2CPP:Intermediate Language to C Plus Plus
IL2CPP は Unity が開発したスクリプティングバックエンドで、ある種のプラットフォーム
のプロジェクトを作成するときに、Mono の代わりに使用できます。IL2CPP を使ってプロ
ジェクトを作成することを選択すると、Unity は選択したプラットフォームのネイティブ
バイナリファイル (.exe, apk, .xap など) を作成する前に、スクリプトからの IL コード
(CIL、Common Intermediate Language、共通中間言語) を変換し C++ コードに組み立て
ます。(Unityマニュアルより)
     
IL2CPPを使ってネイティブファイルで出力するって?
→C#(中間言語コード)をC++(ネイティブコード)に変換する仕組み
記述したコードは libil2cpp.so(SOファイル)に変換される。
objdumpで逆アセンブルしたlibil2cpp.so
逆アセンブルすると…
内容を解析するには、
各CPUの命令のアセンブリ言語を
理解する必要がある。
解析のハードルが高い
IL2CPPの使い方
① Android NDKに、パスを設定する ② Player Settings>Others Setting内の
 Configurationカテゴリで、
 Scripting BackendをIL2CPPに変更する。
対策手法(DLLファイルの解析・改ざん対策)
・難読化
・暗号化
・ハッシュ値をチェック(SHA-1, SHA-256 等)
・IL2CPPを使ってネイティブファイルで出力
A社チート対策チームは
難読化を施していた
なぜ改造apkがつくられたのか
①DLLファイルの解析・改ざん
②メモリの解析・改ざん
③再署名して再パッケージ
◆ モジュール間の連結部分を狙う
◆ ブレークポイントやステップ実行を利用
処理がわかってしまう
難読化できない
動きがあった時にどのメソッド・関数が

呼ばれているかがわかる
デバッガアタッチによるメモリアクセス
呼び出し方が決まっているから
・デバッガを検知する関数・クラスを利用
Ex).NET FrameworkのDebuggerクラス(System.Diagnostics名前空間)の
  IsAttachedプロパティを使用する
・デバッガを検知する部分のコードを改ざんされると意味がない
・自分自身も、作ったアプリをデバッグできない
Weak Point
対策手法
なぜ改造apkがつくられたのか
①DLLファイルの解析・改ざん
②メモリの解析・改ざん
③再署名して再パッケージ(そして再配布)
再署名、再パッケージそして再配布
アプリが正規のパブリッシャーにより作られたものかを証明するもの
GooglePlayでの配布(再配布)時には署名が必要
野良サイトで配布されれば署名は意味がない
意外と盲点:オリジナルと違う署名でも再パッケージ自体は可能!
正規の署名でなければGoogle Playにアップできない
署名とは
アプリの再配布対策に有効!!
・自己署名を検証する
Ex) 起動時にPackageInfo(パッケージ情報を取得するclass)経由で
署名情報を取得し、自己署名と比較する
署名を検証する部分のコードを改ざんされると意味がないWeak Point
対策手法
・ハッシュ値をチェック
4.まとめ
A社事例の対策手法
DLLファイルの
解析•改ざん
メモリ上の
コード解析
再署名
&再パッケージ
難読化
暗号化
ハッシュ値チェック
デバッガ検知 自己署名を検証
ハッシュ値チェック
・時間をかければ解読される
・プログラム実行中だと解読される
署名を検証する部分のコードを

改ざんされると意味がない
メモリ上の数値の
解析•改ざん
デバッガ検知
プログラミングの工夫
DLLファイルの
解析•改ざん
メモリ上の
コード解析
再署名
&再パッケージ
難読化
暗号化
ハッシュ値チェック
デバッガ検知 自己署名を検証
ハッシュ値チェック
エミュレータ上で
動作させ解析
エミュレータ検知
Root / Jb端末で
動作させ解析
Root / Jbの検知
そのほかの対策手法
メモリ上の数値の
解析•改ざん
デバッガ検知
プログラミングの工夫
DLLファイルの
解析•改ざん
メモリ上の
コード解析
再署名
&再パッケージ
難読化
暗号化
ハッシュ値チェック
デバッガ検知 自己署名を検証
ハッシュ値チェック
署名を検証する部分のコードを

改ざんされると意味がない
エミュレータ上で
動作させ解析
エミュレータ検知
Root / Jb端末で
動作させ解析
Root / Jbの検知
チートは多面的に対策する必要がある。
5.チート対策セキュリティ
「CrackProof」のご紹介
CrackProofとは
アプリを不正な解析・改ざんから
保護し、チート被害を防止する

セキュリティソフト
チート対策 海賊版の防止
アルゴリズムの保護
Protect your App
CrackProofをお使いいただく価値
忙しいゲーム開発現場ですぐに使えて
時間も手間もかけずにチート対策
時間も手間もかからない理由
①開発工程に影響なし ②クラウドで堅牢化処理
プログラミング
リリース
CLIツールに統合することも可能
STEP1 セキュリティオプションを選択
STEP4 起動確認してリリース!
STEP2 アプリをアップロード
STEP3 クラウド上で自動処理
デバッグ テスト
ビルド
開発工程図
CrackProofの保護機能
静的解析とは
静 ファイルレベルの解析
動
動的解析とは
実行中のプログラムに

対する解析
静的解析も動的解析も阻止
セキュリティ機能(一部)
特長
ファイル暗号化
実行ファイル改ざん対策
エミュレータ対策
コードインジェクション対策
デバッガ対策
メモリアクセス対策
特権取得対策

         etc…
Unityで作成したDLLファイルを保護
CrackProof 対応プラットフォーム
主要OS、さらにUnityに対応
+
iOS
Windows
android
Linux
NEW
CrackProofの実績
430
累計 以上のゲームタイトル

に採用!
安定した
動作と軽さ
”
“ 当社の開発環境に
ピッタリ合いました
”
“ サポートが
丁寧です
”
“
”
“うれしいことにチート
被害が止まりました
万全のサポート体制
サポート専任チームが導入前から導入後
までしっかりフォローします!
メーカー直接サポートだから
素早く問題解決 日本語でサポート
日本のお客様には 10年以上のノウハウに基づく
運用コンサルティング
安心の
国 内
サポート
VRアーケードゲームにおける
セキュリティの話
番外編
世界のVR市場
0
7.5
15
22.5
30
ソフトウェア/サービス ハードウェア
2016 2017 2018 2019 2020
$3.7Bn
$28.3Bn
$16.2Bn
VRアーケード
中国
東方科幻谷
アメリカ
IMAX VR センター
オランダ
De VR Arcade
Amsterdam
ショッピング
モール内
ゲーム
センター
内
テーマパーク
内
VRアーケードゲームにおけるセキュリティリスク
DRM
VRアーケードゲームにおけるセキュリティリスク
VRアーケードゲームにおけるセキュリティリスク
コンテンツ コンテンツ
ランチャー
コンテンツ
実はPC
VRアーケードゲームにおけるセキュリティリスク
ID/パスワード認証
USBドングル認証
ランチャー
コンテンツ
コンテンツコンテンツ
VRアーケードゲームにおけるセキュリティリスク
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Form1->Height = 167;
if ( RasCtrl1->UseSpValue == -1 ) // True
CheckBox1->Checked = true;
else
RasCtrl1->UseSpValue = false;
Edit5->Text = RasCtrl1->UserName;
Edit6->Text = RasCtrl1->Password;
Edit2->Text = RasCtrl1->SpTelephoneNumber;
Edit3->Text = RasCtrl1->SpDomainName;
Edit4->Text = RasCtrl1->SpCallBackNumber;
RasCtrl1->ReDialTimes = 1;
RasCtrl1->ReDialInterval = 10;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BtnOptionClick(TObject *Sender)
{
if ( BtnOption->Caption == "korenya >&>" )
BtnOption->Caption = "&<<mikketa";
BtnOption->Caption = "dongle_ninshiki >&>";
}
ListBox1->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BtnConnectClick(TObject *Sender)
{
//nyannyanya
ButtonMode( false );
//NTRasmon.exetatiate
// On Error Resume Next
// If m_Rasmon = 0 Then
// m_Rasmon = Shell("rasmon.exe", vbNormalFocus)
// End If
// On Error GoTo 0
Form2->Caption = RasCtrl1->EntryName;
RasCtrl1->UserName = Edit5->Text;
RasCtrl1->Password = Edit6->Text;
if ( CheckBox1->Checked == false )
{
RasCtrl1->UseSpValue = -1;
RasCtrl1->SpTelephoneNumber = Edit2->Text;
認証APIを複数箇所で
呼び出していても…
VRアーケードゲームにおけるセキュリティリスク
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Form1->Height = 167;
if ( RasCtrl1->UseSpValue == -1 ) // True
CheckBox1->Checked = true;
else
RasCtrl1->UseSpValue = false;
Edit5->Text = RasCtrl1->UserName;
Edit6->Text = RasCtrl1->Password;
Edit2->Text = RasCtrl1->SpTelephoneNumber;
Edit3->Text = RasCtrl1->SpDomainName;
Edit4->Text = RasCtrl1->SpCallBackNumber;
RasCtrl1->ReDialTimes = 1;
RasCtrl1->ReDialInterval = 10;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BtnOptionClick(TObject *Sender)
{
if ( BtnOption->Caption == "korenya >&>" )
BtnOption->Caption = "&<<mikketa";
BtnOption->Caption = "dongle_ninshiki >&>";
}
ListBox1->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BtnConnectClick(TObject *Sender)
{
//nyannyanya
ButtonMode( false );
//NTRasmon.exetatiate
// On Error Resume Next
// If m_Rasmon = 0 Then
// m_Rasmon = Shell("rasmon.exe", vbNormalFocus)
// End If
// On Error GoTo 0
Form2->Caption = RasCtrl1->EntryName;
RasCtrl1->UserName = Edit5->Text;
RasCtrl1->Password = Edit6->Text;
if ( CheckBox1->Checked == false )
{
RasCtrl1->UseSpValue = -1;
RasCtrl1->SpTelephoneNumber = Edit2->Text;
クラッキングツールや
熟練のクラッカーによって
呼び出し自体を無効にされる
認証APIを複数箇所で
呼び出していても…
必要な対策
DRM
堅牢化
(解析・改ざん対策)
UniteAustinの様子
番外編
Unite Austin
期間:10月3~5日
場所:テキサス州オースティ
ン
基調講演→
←ネットワーキングパーティ会場
←会場フロア
←女性向けワークショップ
展示ブース
ご清聴ありがとうございました!
www.hypertech.co.jp/game

Contenu connexe

Tendances

MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門torisoup
 
【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方
【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方
【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方UnityTechnologiesJapan002
 
Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャtorisoup
 
Deep Dive async/await in Unity with UniTask(UniRx.Async)
Deep Dive async/await in Unity with UniTask(UniRx.Async)Deep Dive async/await in Unity with UniTask(UniRx.Async)
Deep Dive async/await in Unity with UniTask(UniRx.Async)Yoshifumi Kawai
 
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならねUnityTechnologiesJapan002
 
OpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみたOpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみたTakahiro Miyaura
 
[CEDEC2017] LINEゲームのセキュリティ診断手法
[CEDEC2017] LINEゲームのセキュリティ診断手法[CEDEC2017] LINEゲームのセキュリティ診断手法
[CEDEC2017] LINEゲームのセキュリティ診断手法LINE Corporation
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するYoshifumi Kawai
 
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミングUnity Technologies Japan K.K.
 
RenderTextureの正しいα値は?
RenderTextureの正しいα値は?RenderTextureの正しいα値は?
RenderTextureの正しいα値は?KLab Inc. / Tech
 
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜Unity Technologies Japan K.K.
 
Addressables で大量のリソース管理・困りどころと解消法
Addressables で大量のリソース管理・困りどころと解消法Addressables で大量のリソース管理・困りどころと解消法
Addressables で大量のリソース管理・困りどころと解消法Kenta Nagai
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~UnityTechnologiesJapan002
 
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!Unity Technologies Japan K.K.
 
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14Ryo Suzuki
 
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All ThingsUnityTechnologiesJapan002
 
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]DeNA
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門masayoshi takahashi
 
【Unity道場 2月】シェーダを書けるプログラマになろう
【Unity道場 2月】シェーダを書けるプログラマになろう【Unity道場 2月】シェーダを書けるプログラマになろう
【Unity道場 2月】シェーダを書けるプログラマになろうUnity Technologies Japan K.K.
 

Tendances (20)

MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門
 
【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方
【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方
【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方
 
Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
 
Deep Dive async/await in Unity with UniTask(UniRx.Async)
Deep Dive async/await in Unity with UniTask(UniRx.Async)Deep Dive async/await in Unity with UniTask(UniRx.Async)
Deep Dive async/await in Unity with UniTask(UniRx.Async)
 
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
 
OpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみたOpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみた
 
[CEDEC2017] LINEゲームのセキュリティ診断手法
[CEDEC2017] LINEゲームのセキュリティ診断手法[CEDEC2017] LINEゲームのセキュリティ診断手法
[CEDEC2017] LINEゲームのセキュリティ診断手法
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
 
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
 
RenderTextureの正しいα値は?
RenderTextureの正しいα値は?RenderTextureの正しいα値は?
RenderTextureの正しいα値は?
 
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
 
Addressables で大量のリソース管理・困りどころと解消法
Addressables で大量のリソース管理・困りどころと解消法Addressables で大量のリソース管理・困りどころと解消法
Addressables で大量のリソース管理・困りどころと解消法
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
 
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
 
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14
 
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things
 
Unity2018/2019における最適化事情
Unity2018/2019における最適化事情Unity2018/2019における最適化事情
Unity2018/2019における最適化事情
 
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
 
【Unity道場 2月】シェーダを書けるプログラマになろう
【Unity道場 2月】シェーダを書けるプログラマになろう【Unity道場 2月】シェーダを書けるプログラマになろう
【Unity道場 2月】シェーダを書けるプログラマになろう
 

Similaire à 【Unity道場スペシャル 2017京都】スマホゲーム開発者なら知っておくべきチートのリスク&対策

Lucas apa pacsec_slides_jp-final
Lucas apa pacsec_slides_jp-finalLucas apa pacsec_slides_jp-final
Lucas apa pacsec_slides_jp-finalPacSecJP
 
60分でわかるソケットプログラミング
60分でわかるソケットプログラミング60分でわかるソケットプログラミング
60分でわかるソケットプログラミングMasahiko Kimoto
 
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPSハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPSFFRI, Inc.
 
悪性Botnet包囲網におけるP2P通信検知の試み@ipsj Iot 42, 6/28, 2018
悪性Botnet包囲網におけるP2P通信検知の試み@ipsj Iot 42, 6/28, 2018悪性Botnet包囲網におけるP2P通信検知の試み@ipsj Iot 42, 6/28, 2018
悪性Botnet包囲網におけるP2P通信検知の試み@ipsj Iot 42, 6/28, 2018Takashi Yamanoue
 
Boost.Coroutine
Boost.CoroutineBoost.Coroutine
Boost.Coroutinemelpon
 
Lagopusで試すFirewall
Lagopusで試すFirewallLagopusで試すFirewall
Lagopusで試すFirewallTomoya Hibi
 

Similaire à 【Unity道場スペシャル 2017京都】スマホゲーム開発者なら知っておくべきチートのリスク&対策 (6)

Lucas apa pacsec_slides_jp-final
Lucas apa pacsec_slides_jp-finalLucas apa pacsec_slides_jp-final
Lucas apa pacsec_slides_jp-final
 
60分でわかるソケットプログラミング
60分でわかるソケットプログラミング60分でわかるソケットプログラミング
60分でわかるソケットプログラミング
 
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPSハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
 
悪性Botnet包囲網におけるP2P通信検知の試み@ipsj Iot 42, 6/28, 2018
悪性Botnet包囲網におけるP2P通信検知の試み@ipsj Iot 42, 6/28, 2018悪性Botnet包囲網におけるP2P通信検知の試み@ipsj Iot 42, 6/28, 2018
悪性Botnet包囲網におけるP2P通信検知の試み@ipsj Iot 42, 6/28, 2018
 
Boost.Coroutine
Boost.CoroutineBoost.Coroutine
Boost.Coroutine
 
Lagopusで試すFirewall
Lagopusで試すFirewallLagopusで試すFirewall
Lagopusで試すFirewall
 

Plus de Unity Technologies Japan K.K.

建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】Unity Technologies Japan K.K.
 
UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!Unity Technologies Japan K.K.
 
Unityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクションUnityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクションUnity Technologies Japan K.K.
 
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしようビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしようUnity Technologies Japan K.K.
 
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーションビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - UnityステーションUnity Technologies Japan K.K.
 
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそうビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそうUnity Technologies Japan K.K.
 
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!Unity Technologies Japan K.K.
 
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】Unity Technologies Japan K.K.
 
Unity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity教える先生方注目!ティーチャートレーニングデイを体験しようUnity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity教える先生方注目!ティーチャートレーニングデイを体験しようUnity Technologies Japan K.K.
 
「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発Unity Technologies Japan K.K.
 
FANTASIANの明日使えない特殊テクニック教えます
FANTASIANの明日使えない特殊テクニック教えますFANTASIANの明日使えない特殊テクニック教えます
FANTASIANの明日使えない特殊テクニック教えますUnity Technologies Japan K.K.
 
インディーゲーム開発の現状と未来 2021
インディーゲーム開発の現状と未来 2021インディーゲーム開発の現状と未来 2021
インディーゲーム開発の現状と未来 2021Unity Technologies Japan K.K.
 
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】Unity Technologies Japan K.K.
 
Burstを使ってSHA-256のハッシュ計算を高速に行う話
Burstを使ってSHA-256のハッシュ計算を高速に行う話Burstを使ってSHA-256のハッシュ計算を高速に行う話
Burstを使ってSHA-256のハッシュ計算を高速に行う話Unity Technologies Japan K.K.
 
Cinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作るCinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作るUnity Technologies Japan K.K.
 
Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-Unity Technologies Japan K.K.
 
Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Unityティーチャートレーニングデイ -認定3Dアーティスト編-Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Unityティーチャートレーニングデイ -認定3Dアーティスト編-Unity Technologies Japan K.K.
 
Unityティーチャートレーニングデイ -認定アソシエイト編-
Unityティーチャートレーニングデイ -認定アソシエイト編-Unityティーチャートレーニングデイ -認定アソシエイト編-
Unityティーチャートレーニングデイ -認定アソシエイト編-Unity Technologies Japan K.K.
 

Plus de Unity Technologies Japan K.K. (20)

建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
 
UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!
 
Unityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクションUnityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクション
 
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしようビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
 
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーションビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
 
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそうビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
 
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!
 
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
 
Unity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity教える先生方注目!ティーチャートレーニングデイを体験しようUnity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity教える先生方注目!ティーチャートレーニングデイを体験しよう
 
「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発
 
FANTASIANの明日使えない特殊テクニック教えます
FANTASIANの明日使えない特殊テクニック教えますFANTASIANの明日使えない特殊テクニック教えます
FANTASIANの明日使えない特殊テクニック教えます
 
インディーゲーム開発の現状と未来 2021
インディーゲーム開発の現状と未来 2021インディーゲーム開発の現状と未来 2021
インディーゲーム開発の現状と未来 2021
 
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
 
Burstを使ってSHA-256のハッシュ計算を高速に行う話
Burstを使ってSHA-256のハッシュ計算を高速に行う話Burstを使ってSHA-256のハッシュ計算を高速に行う話
Burstを使ってSHA-256のハッシュ計算を高速に行う話
 
Cinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作るCinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作る
 
徹底解説 Unity Reflect【開発編 ver2.0】
徹底解説 Unity Reflect【開発編 ver2.0】徹底解説 Unity Reflect【開発編 ver2.0】
徹底解説 Unity Reflect【開発編 ver2.0】
 
徹底解説 Unity Reflect【概要編 ver2.0】
徹底解説 Unity Reflect【概要編 ver2.0】徹底解説 Unity Reflect【概要編 ver2.0】
徹底解説 Unity Reflect【概要編 ver2.0】
 
Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-
 
Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Unityティーチャートレーニングデイ -認定3Dアーティスト編-Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Unityティーチャートレーニングデイ -認定3Dアーティスト編-
 
Unityティーチャートレーニングデイ -認定アソシエイト編-
Unityティーチャートレーニングデイ -認定アソシエイト編-Unityティーチャートレーニングデイ -認定アソシエイト編-
Unityティーチャートレーニングデイ -認定アソシエイト編-
 

Dernier

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Dernier (8)

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

【Unity道場スペシャル 2017京都】スマホゲーム開発者なら知っておくべきチートのリスク&対策