SlideShare a Scribd company logo
1 of 65
Download to read offline
一般的なチートの
手法と対策について
黒河 優介
本日のアジェンダ
•チート行為そのものについて簡単な説明
•チートの一般的な手法の紹介とその対策
チートとは…
• ゲームを優位に進めるため、制作者の意図しない動作をさせる不正
行為
• 特にオンラインゲームが主流になってきた昨今では、他のプレイ
ヤーやゲーム運営会社に対して損害を与えることがあり問題になっ
ている
• 対戦型のオンラインゲームではチートをして、ズルをするプレイヤーと対戦し
ても不快な気持ちになるだけです。
• 基本無料で遊べるゲームでは、強いキャラクターを押し出したガチャを売上
の基本としている事が多いが、そのキャラクターを不正に入手/弱いキャラを
無理やり強くする等が出来てしまうと売上が立ちにくく問題となってしまう。
被害の例を簡単にご紹介
チートしている人と対戦すると…
4人で対戦中
俺様の攻撃は、100%命中するぜ!
物陰に隠れても無駄だ!!
他のプレイヤーの気分が害される
楽勝、楽勝!
よくわからない
けど、ボコボコ
にされた…。
アイツの動き
おかしくね?
チートじゃね?
もう辞めようか
な…このゲーム。
オンラインランキングがあっても萎えるだけ…
Score:9999999
Score:100320
Score:100110
ズルしてスコア
書き換えちゃえ!!
上の奴どうみても
チート…萎えるわ…
本来の一位って
俺じゃね…
ゲーム運営も困る…
今ならガチャに
良い娘いますよ!
チートすれば手に入
るから、ガチャなんて
引かないぜ!
ゲーム運営も困る…
売り上げが・・・・
このような感じで、他のプレイヤーや運営が
損害を受けるチート行為…。
じゃあ、一体どうやっているのか?
いくつか良くあるパターンを紹介します
一般的なチート手法
•通信データを偽装する
•メモリの中身を書き換える
•プログラムそのものを改ざん
通信データを偽装する
通信データを偽装する
• 通信対戦や、オンラインランキングでも、プレイヤーはサー
バーにデータを通信することで自身のステータスを送ってい
ます。
• 通信対戦では操作しているキャラクターの状態や他プレイヤーへの攻撃等
をメッセージとしてサーバーに送信しています
• オンラインランキングではスコアをサーバーに送信しています
• ソーシャル系ゲームなどでは、サーバーから受信してくるデータをクライアン
トに届く途中で書き換えて所持キャラクターを偽装します
※話を簡潔にするためにP2P通信モデルの話はおいておきます
つまり何が言いたいかというと…
• ゲームアプリケーション以外からサーバーに対してデータを
送る事も可能
• サーバーに嘘の情報を送るプログラムを作ってしまえばチートで
きる!
• サーバーから来たデータを書き換えてゲームアプリケーショ
ンに届けることも可能
• サーバーから来たデータを途中で書き換えてしまえばチートでき
る!!
通信対戦での例
通信対戦での例
各プレイヤーはサーバーを
介して通信対戦を実現して
いる想定です
プレイヤーA
プレイヤーB
プレイヤーC
プレイヤーD
※処理の流れはイメージです。
通信対戦での例
「プレイヤーBを狙撃して倒
しました」というデータを
サーバーに送ります
(本当は狙撃してないけど)
プレイヤーA
プレイヤーB
プレイヤーC
プレイヤーD
通信対戦での例
「プレイヤーAがプレイヤーB
を狙撃して倒しました」と言
うメッセージを各プレイヤー
に送ります。
プレイヤーA
プレイヤーB
プレイヤーC
プレイヤーD
通信対戦での例
プレイヤーA
プレイヤーB
プレイヤーC
プレイヤーD
プレイヤーAから送られてきた偽装
データにより、プレイヤーBが倒された
ことになります。
オンラインランキングの例
オンラインランキングの例
プレイヤーC
各プレイヤーはサーバーにスコア
データを送信し、サーバー内の
データを書き換えることによって、
オンラインランキングが実現して
います
プレイヤーD
■スコアデータ
プレイヤーC:211200
プレイヤーD:198800
オンラインランキングの例
プレイヤーA
プレイヤーAがスコアを 9999999
取ったというデータを送ります
■スコアランキング
プレイヤーC:211200
プレイヤーD:198800
オンラインランキングの例
プレイヤーA
プレイヤーAがスコアを 9999999
取ったというデータを受け取り、そ
れを元にランキングデータの書き
換えを行います
■スコアランキング
プレイヤーA:9999999
プレイヤーC:211200
プレイヤーD:198800
受信データ偽装の例
受信データ偽装の例
プレイヤーA
特にスマートフォンなどのソーシャルゲームでは、
プレイヤーのセーブデータはサーバー上にあり、
ログイン時などにプレイヤーデータを一括で取得す
る傾向にあります
■プレイヤーAの所持キャラ
雑魚1 Lv1
雑魚2 Lv1
雑魚3 Lv1
受信データ偽装の例
プレイヤーA
プレイヤーAがログインし、
サーバーに自身の持っている
所持キャラクターの情報を要
求します
(この段階では悪いことはして
いません)
■プレイヤーAの所持キャラ
雑魚1 Lv1
雑魚2 Lv1
雑魚3 Lv1
受信データ偽装の例
プレイヤーA
サーバーはプレイヤーAの
データを読み込み、それを送り
ます
■プレイヤーAの所持キャラ
雑魚1 Lv1
雑魚2 Lv1
雑魚3 Lv1■所持キャラ
雑魚1 Lv1
雑魚2 Lv1
雑魚3 Lv1
受信データ偽装の例
プレイヤーA
プレイヤーAの実行端末に
データが届く前にデータを書
き換えます
■プレイヤーAの所持キャラ
雑魚1 Lv1
雑魚2 Lv1
雑魚3 Lv1■所持キャラ
レア1 Lv99
レア2 Lv99
レア3 Lv99
受信データ偽装の例
プレイヤーA
プレイヤーAは所持していない
はずのキャラクターをゲットし
てしまいます
■プレイヤーAの所持キャラ
雑魚1 Lv1
雑魚2 Lv1
雑魚3 Lv1
■所持キャラ
レア1 Lv99
レア2 Lv99
レア3 Lv99
以上
通信データ偽装による例でした
何がよくなかったのか?
•そもそも、ゲームのアプリケーションプログラム
以外からサーバーに直接データを送信されてし
まうのが問題だった。
•ゲームのアプリケーションプログラムとサーバー
間での通信を書き換えられてしまったのが問題
だった
じゃあどうすれば良かったのか?
•ゲームアプリケーションから送信されたデータで
あることを保証する仕組み
•ゲームアプリケーションとサーバー間でデータ
が改竄されたことを検知する仕組み
これは、ハッシュの仕組みを使
えば出来ます!!
ハッシュ値チェックとは?
• ファイルの破損が起きていないか等で利用される仕組み
• データの塊から特定のアルゴリズムを利用し、ハッシュ値を生成
する
• データとハッシュ値をペアで配布し、データから再度ハッシュ値を
求めて、一致していたらデータの破損なく配れたと認識する仕組
み
ハッシュ値のイメージ
00 00 00 00 FF 0E 21 EE
FF 0E 21 EE D4 00 00 00
A0 00 00 00 00 00 00 00
FF 0E 21 EE FF 0E 21 EE
D4 00 00 00 A0 00 00 00
00 00 00 00 FF 0E 21 EE FF
0E 21 EE D4 00 00 00 A0
21 EF E1 D4 A0 28 B2 C1
データ
ハッシュ値
CRC/MD5/Sha1
などのアルゴリズムで生成
ハッシュ値チェックのイメージ
00 00 00 00 FF 0E 21 EE
FF 0E 21 EE D4 00 00 00
A0 00 00 00 00 00 00 00
FF 0E 21 EE FF 0E 21 EE
D4 00 00 00 A0 00 00 00
00 00 00 00 FF 0E 21 EE FF
0E 21 EE D4 00 00 00 A0
21 EF E1 D4 A0 28 B2 C1
データ
ハッシュ値
データとハッシュ値をペアで送信
受け取った側はデータからハッシュ値を再計
算して、整合性のチェックを行う
データ書き換えが発生した場合
00 00 00 00 FF 0E 21 EE
FF 0E 21 EE D4 00 00 00
A0 00 00 00 00 00 00 00
FF 0E 21 EE FF 0E 21 EE
D4 00 00 00 A0 00 00 00
00 00 00 00 FF 0E 21 EE FF
0E 21 EE D4 00 00 00 A0
21 EF E1 D4 A0 28 B2 C1
00 00 00 00 FF 0E 21 EE
FF 0E 21 EE D4 00 00 00
A0 AA 00 00 00 00 00 00
FF 0E 21 EE FF 0E 21 EE
D4 00 00 00 A0 00 00 00
00 00 00 00 FF 0E 21 EE FF
0E 21 EE D4 00 00 00 A0
DE AD C0 DE D0 18 21 B1
データ書き換え
発生
送信した
データ
受信した
データ
セットで送信したハッシュ値
21 EF E1 D4 A0 28 B2 C1
セットで送信されたハッシュ値
ハッシュ値計算
ハッシュ値が送られてきたも
のと違う!!
という事は書き換えが発生!
つまり、ハッシュ値チェックを使うと?
• ゲームアプリケーションとサーバー間のデータ間のデータ書
き換えが防げる
• ゲームアプリケーションの中にあるハッシュ値の生成法が
わからなければ、偽装データを作っても、一致するハッシュ
値を作れないのでうまくデータを作成できない。
※ハッシュ値生成には、HMAC-SHA1などのキーを利用した生成アル
ゴリズムを使うとよいでしょう
オンラインランキングの例
プレイヤーA
プレイヤーAがスコアを 9999999
取ったというデータを送ります
適当なハッシュ値
オンラインランキングの例
プレイヤーA
このデータはハッシュ値が正しくあ
りません。
チートですか?
どうなるかというと・・
チーター
ぐぬぬぬぬ・・・・。
どうしたらハッシュ値が出来る
かわからない…。
メモリの中身を書き換える
メモリの中身を書き換える
•プレイヤーキャラクターのHPなどの情報は、メモ
リ上にあるデータを読み書きすることで実現して
います
• もし、ゲームプログラマーの預かりしれぬ所でメモリの中
身を置き換えられてしまったら、キャラクターのステータス
はトンデモナイ事になってしまうかもしれません。
メモリ書き換えのイメージ
160/212
攻
撃
防
御
技
※RPGっぽいゲームだと思ってください
00 00 00 00
FF 0E 21 EE
FF 0E 21 EE
D4 00 00 00
A0 00 00 00
メモリイメージ
メモリ書き換えのイメージ
160/212
攻
撃
防
御
技
※RPGっぽいゲームだと思ってください
00 00 00 00
FF 0E 21 EE
FF 0E 21 EE
D4 00 00 00
A0 00 00 00
メモリイメージ
160
212
4byte (int)区切りで、
16進数→10進数変換
メモリ書き換えのイメージ
160/212
攻
撃
防
御
技
00 00 00 00
FF 0E 21 EE
FF 0E 21 EE
D4 00 00 00
A0 00 00 00
メモリイメージ
160
212
HPの数値はメモリ上に
存在している
メモリ書き換えのイメージ
160/212
攻
撃
防
御
技
00 00 00 00
FF 0E 21 EE
FF 0E 21 EE
D4 00 00 00
A0 00 00 00
メモリイメージ
HPっぽい場所発見~
メモリ書き換えのイメージ
160/212
攻
撃
防
御
技
00 00 00 00
FF 0E 21 EE
FF 0E 21 EE
E7 03 00 00
E7 03 00 00
メモリイメージ
メモリを書き換えて、
HPを増やしてしまえ!
メモリ書き換えのイメージ
999/999
攻
撃
防
御
技
00 00 00 00
FF 0E 21 EE
FF 0E 21 EE
0F 27 00 00
0F 27 00 00
メモリイメージ
999
999
HPが増えたぜ!!
何がよくなかったのか?
•メモリ上に生の数値をおいてしまっていたため、
どこを書き換えるとよいかバレてしまった
じゃあどうすれば良かったのか?
•メモリ上にintなどのデータを置くときは暗号化し
ておきましょう
•必要なタイミングで復元化・暗号化して書き戻しを
行う
•xor(排他的論理和)の性質をうまく使うと楽にコード
が書けます。
•A xor B => C , C xor B => A
こんなコードを用意します
class EncryptInt{
const int key = 0x2f4f7fe5;
int value;
public int setValue(int v){ value = v^key;}
public int getValue(){ return value ^ key; }
}
HPなどの情報を intから、このようなコードに置き換えることで可能
メモリを暗号化しておく
160/212
攻
撃
防
御
技
00 00 00 00
FF 0E 21 EE
FF 0E 21 EE
DE AD C0 DE
32 AD C0 DE
メモリイメージ
HPの数値は暗号化し
てメモリに置く
ぐぬぬぬ・・・。
HPが見つからない…。
以上
メモリ改竄による例でした
プログラムそのものを改ざん
プログラムそのものを改竄
•実行ファイルも結局は 0・1であらわされたデー
タでしかない
•ディスアセンブルすればアセンブリコードが出てく
る
•これを改造してしまえば、ゲームの挙動も変えられ
てしまう…
しかしアセンブリ書き換えまでやってくる
猛者は超絶少ない…
※凄く売れると話は違ってきますが…
その時はマネーパワー使って、専門の会社に相談を…
ただし、JavaやC#で書かれたゲーム
おめえは別だ!!
C#/Javaは別な理由
• C++やC言語はアセンブリにした時点で変数名や関数名など
の情報が欠落する
• なので、アセンブリからC言語に戻しても意味不明なソースが出来、
解読が非常に困難になる
• C#やJavaではVM用の中間コードが吐き出されるが、それに
は変数名や関数名などの情報が含まれている(Reflection
用)
• その中間コードをそのまま実行する形になっている
• そのため、C#やJavaの中間コードからは、C#やJavaのオリジナル
ソースがかなりの再現率で復元できてしまう…。
C#やJavaでの対策例①
•C#やJavaの中間コードを暗号化+改竄チェック
のためにHash化しておく
•実行中に暗号化された中間コードを読み込んで、プ
ログラムとして実行可能なように動的にリンクする
ですが、読み込むためのプログラムとかもJavaで書いてしまうと、そこを狙われがちに…。正直、マネーパワー使って専用の会社に・・・ry
C#やJavaでの対策例②
•C#やJavaの中間コードにある関数名/変数名を
グチャグチャに書き換える難読化をする
以上
プログラム改竄による例でした
他にも…
•セーブデータ改造
•ゲームデータ書き換え
等々…
いろいろありますが、基本的にハッシュによる署名、暗号化で大分
ガードできます
最後に…
• チートはいろいろなやり方があります。
• 対策の基本的な考え方は、ハッシュ値チェックによる改竄防止と暗
号化による解析防止を押さえておけば大分カバー出来る
• チートする側もあの手この手を使って破ってきます。
• ガードしてても破られるけど、ノーガード戦法なんてのはない!

More Related Content

What's hot

Observableで非同期処理
Observableで非同期処理Observableで非同期処理
Observableで非同期処理torisoup
 
ゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのことゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのことMASA_T_O
 
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnity Technologies Japan K.K.
 
MMOGで考えるゲームデザイン
MMOGで考えるゲームデザインMMOGで考えるゲームデザイン
MMOGで考えるゲームデザインKatsumi Mizushima
 
DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容sairoutine
 
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザインCEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザインKouji Ohno
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作るtorisoup
 
ゲームAI入門(前半)
ゲームAI入門(前半)ゲームAI入門(前半)
ゲームAI入門(前半)Youichiro Miyake
 
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~UnityTechnologiesJapan002
 
「3Dゲームをおもしろくする技術 」のいろいろな読み方
「3Dゲームをおもしろくする技術 」のいろいろな読み方「3Dゲームをおもしろくする技術 」のいろいろな読み方
「3Dゲームをおもしろくする技術 」のいろいろな読み方Kouji Ohno
 
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステムAndroid向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステムKLab Inc. / Tech
 
スマートフォンゲームのチート事情
スマートフォンゲームのチート事情スマートフォンゲームのチート事情
スマートフォンゲームのチート事情直生 亀山
 
【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜
【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜
【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜モノビット エンジン
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫Yuta Imai
 
ゲームAI・実装事例の紹介
ゲームAI・実装事例の紹介ゲームAI・実装事例の紹介
ゲームAI・実装事例の紹介Koji Morikawa
 
Cocos2d-xを用いた "LINE タワーライジング" の開発事例
Cocos2d-xを用いた "LINE タワーライジング" の開発事例Cocos2d-xを用いた "LINE タワーライジング" の開発事例
Cocos2d-xを用いた "LINE タワーライジング" の開発事例gree_tech
 

What's hot (20)

Observableで非同期処理
Observableで非同期処理Observableで非同期処理
Observableで非同期処理
 
トリコの動かし方
トリコの動かし方トリコの動かし方
トリコの動かし方
 
ゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのことゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのこと
 
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
 
MMOGで考えるゲームデザイン
MMOGで考えるゲームデザインMMOGで考えるゲームデザイン
MMOGで考えるゲームデザイン
 
DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容
 
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザインCEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
 
ゲームAI入門(前半)
ゲームAI入門(前半)ゲームAI入門(前半)
ゲームAI入門(前半)
 
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
 
Riderはいいぞ!
Riderはいいぞ!Riderはいいぞ!
Riderはいいぞ!
 
「3Dゲームをおもしろくする技術 」のいろいろな読み方
「3Dゲームをおもしろくする技術 」のいろいろな読み方「3Dゲームをおもしろくする技術 」のいろいろな読み方
「3Dゲームをおもしろくする技術 」のいろいろな読み方
 
聖剣伝説3でのUE4利用事例の紹介~Making of Mana | UNREAL FEST EXTREME 2020 WINTER
聖剣伝説3でのUE4利用事例の紹介~Making of Mana | UNREAL FEST EXTREME 2020 WINTER聖剣伝説3でのUE4利用事例の紹介~Making of Mana | UNREAL FEST EXTREME 2020 WINTER
聖剣伝説3でのUE4利用事例の紹介~Making of Mana | UNREAL FEST EXTREME 2020 WINTER
 
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステムAndroid向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
 
スマートフォンゲームのチート事情
スマートフォンゲームのチート事情スマートフォンゲームのチート事情
スマートフォンゲームのチート事情
 
【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜
【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜
【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
 
ゲームAI・実装事例の紹介
ゲームAI・実装事例の紹介ゲームAI・実装事例の紹介
ゲームAI・実装事例の紹介
 
Cocos2d-xを用いた "LINE タワーライジング" の開発事例
Cocos2d-xを用いた "LINE タワーライジング" の開発事例Cocos2d-xを用いた "LINE タワーライジング" の開発事例
Cocos2d-xを用いた "LINE タワーライジング" の開発事例
 
猫でも分かる UE4の新しいサンプル「Action RPG」について
猫でも分かる UE4の新しいサンプル「Action RPG」について猫でも分かる UE4の新しいサンプル「Action RPG」について
猫でも分かる UE4の新しいサンプル「Action RPG」について
 

Viewers also liked

とあるCocos2dxアプリのチート編
とあるCocos2dxアプリのチート編とあるCocos2dxアプリのチート編
とあるCocos2dxアプリのチート編kumin1030
 
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組みDeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組みToshiharu Sugiyama
 
Unityプロファイラについて
UnityプロファイラについてUnityプロファイラについて
UnityプロファイラについてMio Ku-tani
 
#IkaLog によるスプラトゥーンの画像解析と機械学習
#IkaLog によるスプラトゥーンの画像解析と機械学習#IkaLog によるスプラトゥーンの画像解析と機械学習
#IkaLog によるスプラトゥーンの画像解析と機械学習Takeshi HASEGAWA
 
Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~
Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~
Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~Piro Shiki
 
SafetyNetを使ってゲームを守る #denatechcon
SafetyNetを使ってゲームを守る #denatechconSafetyNetを使ってゲームを守る #denatechcon
SafetyNetを使ってゲームを守る #denatechconDeNA
 
月商10億円を超えるメガヒットアプリを目指すのに必要な戦略まとめ《データ✕TVCM✕アプリ》
月商10億円を超えるメガヒットアプリを目指すのに必要な戦略まとめ《データ✕TVCM✕アプリ》月商10億円を超えるメガヒットアプリを目指すのに必要な戦略まとめ《データ✕TVCM✕アプリ》
月商10億円を超えるメガヒットアプリを目指すのに必要な戦略まとめ《データ✕TVCM✕アプリ》株式会社メタップスホールディングス
 
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例Yoshifumi Kawai
 
Clash of Oni Online - VR Multiplay Sword Action
Clash of Oni Online - VR Multiplay Sword Action Clash of Oni Online - VR Multiplay Sword Action
Clash of Oni Online - VR Multiplay Sword Action Yoshifumi Kawai
 
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用Yoshifumi Kawai
 
RuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for UnityRuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for UnityYoshifumi Kawai
 
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#Yoshifumi Kawai
 
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-Unity Technologies Japan K.K.
 

Viewers also liked (14)

とあるCocos2dxアプリのチート編
とあるCocos2dxアプリのチート編とあるCocos2dxアプリのチート編
とあるCocos2dxアプリのチート編
 
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組みDeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
 
Unityプロファイラについて
UnityプロファイラについてUnityプロファイラについて
Unityプロファイラについて
 
#IkaLog によるスプラトゥーンの画像解析と機械学習
#IkaLog によるスプラトゥーンの画像解析と機械学習#IkaLog によるスプラトゥーンの画像解析と機械学習
#IkaLog によるスプラトゥーンの画像解析と機械学習
 
Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~
Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~
Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~
 
ゲーム産業講義2016年10月
ゲーム産業講義2016年10月ゲーム産業講義2016年10月
ゲーム産業講義2016年10月
 
SafetyNetを使ってゲームを守る #denatechcon
SafetyNetを使ってゲームを守る #denatechconSafetyNetを使ってゲームを守る #denatechcon
SafetyNetを使ってゲームを守る #denatechcon
 
月商10億円を超えるメガヒットアプリを目指すのに必要な戦略まとめ《データ✕TVCM✕アプリ》
月商10億円を超えるメガヒットアプリを目指すのに必要な戦略まとめ《データ✕TVCM✕アプリ》月商10億円を超えるメガヒットアプリを目指すのに必要な戦略まとめ《データ✕TVCM✕アプリ》
月商10億円を超えるメガヒットアプリを目指すのに必要な戦略まとめ《データ✕TVCM✕アプリ》
 
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
 
Clash of Oni Online - VR Multiplay Sword Action
Clash of Oni Online - VR Multiplay Sword Action Clash of Oni Online - VR Multiplay Sword Action
Clash of Oni Online - VR Multiplay Sword Action
 
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
 
RuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for UnityRuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for Unity
 
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#
 
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
 

More from 優介 黒河

Looking glasslt4 kurokawa
Looking glasslt4 kurokawaLooking glasslt4 kurokawa
Looking glasslt4 kurokawa優介 黒河
 
Looking glass + videoplayer
Looking glass + videoplayerLooking glass + videoplayer
Looking glass + videoplayer優介 黒河
 
Looking glassrenderinglt en
Looking glassrenderinglt enLooking glassrenderinglt en
Looking glassrenderinglt en優介 黒河
 
LookingGlass RenderingOptimizePlan(JP)
LookingGlass RenderingOptimizePlan(JP)LookingGlass RenderingOptimizePlan(JP)
LookingGlass RenderingOptimizePlan(JP)優介 黒河
 
PHPからJavaへ乗り換えた。そんな昔話をしよう
PHPからJavaへ乗り換えた。そんな昔話をしようPHPからJavaへ乗り換えた。そんな昔話をしよう
PHPからJavaへ乗り換えた。そんな昔話をしよう優介 黒河
 
Moverio+unityで始めるarグラスアプリ開発
Moverio+unityで始めるarグラスアプリ開発Moverio+unityで始めるarグラスアプリ開発
Moverio+unityで始めるarグラスアプリ開発優介 黒河
 
実行時ライトベイクをShaderでやってみた
実行時ライトベイクをShaderでやってみた実行時ライトベイクをShaderでやってみた
実行時ライトベイクをShaderでやってみた優介 黒河
 
Unityで炎上から身を守る方法
Unityで炎上から身を守る方法Unityで炎上から身を守る方法
Unityで炎上から身を守る方法優介 黒河
 
ウェアラブル勉強会 東京#2
ウェアラブル勉強会 東京#2ウェアラブル勉強会 東京#2
ウェアラブル勉強会 東京#2優介 黒河
 
未来ガジェットMoverioを手に入れたぞ
未来ガジェットMoverioを手に入れたぞ未来ガジェットMoverioを手に入れたぞ
未来ガジェットMoverioを手に入れたぞ優介 黒河
 

More from 優介 黒河 (10)

Looking glasslt4 kurokawa
Looking glasslt4 kurokawaLooking glasslt4 kurokawa
Looking glasslt4 kurokawa
 
Looking glass + videoplayer
Looking glass + videoplayerLooking glass + videoplayer
Looking glass + videoplayer
 
Looking glassrenderinglt en
Looking glassrenderinglt enLooking glassrenderinglt en
Looking glassrenderinglt en
 
LookingGlass RenderingOptimizePlan(JP)
LookingGlass RenderingOptimizePlan(JP)LookingGlass RenderingOptimizePlan(JP)
LookingGlass RenderingOptimizePlan(JP)
 
PHPからJavaへ乗り換えた。そんな昔話をしよう
PHPからJavaへ乗り換えた。そんな昔話をしようPHPからJavaへ乗り換えた。そんな昔話をしよう
PHPからJavaへ乗り換えた。そんな昔話をしよう
 
Moverio+unityで始めるarグラスアプリ開発
Moverio+unityで始めるarグラスアプリ開発Moverio+unityで始めるarグラスアプリ開発
Moverio+unityで始めるarグラスアプリ開発
 
実行時ライトベイクをShaderでやってみた
実行時ライトベイクをShaderでやってみた実行時ライトベイクをShaderでやってみた
実行時ライトベイクをShaderでやってみた
 
Unityで炎上から身を守る方法
Unityで炎上から身を守る方法Unityで炎上から身を守る方法
Unityで炎上から身を守る方法
 
ウェアラブル勉強会 東京#2
ウェアラブル勉強会 東京#2ウェアラブル勉強会 東京#2
ウェアラブル勉強会 東京#2
 
未来ガジェットMoverioを手に入れたぞ
未来ガジェットMoverioを手に入れたぞ未来ガジェットMoverioを手に入れたぞ
未来ガジェットMoverioを手に入れたぞ
 

Recently uploaded

情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイントonozaty
 
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayersToru Tamaki
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)keikoitakurag
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑Akihiro Kadohata
 
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose EstimationToru Tamaki
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )iwashiira2ctf
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計atsushi061452
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一瑛一 西口
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptxssuserbefd24
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdfAyachika Kitazaki
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員Sadaomi Nishi
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521Satoshi Makita
 

Recently uploaded (12)

情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイント
 
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
 
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
 

一般的なチートの手法と対策について