Submit Search
Upload
とあるCocos2dxアプリのチート編
•
26 likes
•
10,860 views
K
kumin1030
Follow
Cheat Info for Apps
Read less
Read more
Technology
Report
Share
Report
Share
1 of 34
Download now
Download to read offline
Recommended
一般的なチートの手法と対策について
一般的なチートの手法と対策について
優介 黒河
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
Yuusuke Takeuchi
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
DeNA
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
スマートフォンゲームのチート事情
スマートフォンゲームのチート事情
直生 亀山
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】
GMO GlobalSign Holdings K.K.
5分でわかる Unity点群
5分でわかる Unity点群
UnityTechnologiesJapan002
Cinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作る
Unity Technologies Japan K.K.
Recommended
一般的なチートの手法と対策について
一般的なチートの手法と対策について
優介 黒河
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
Yuusuke Takeuchi
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
DeNA
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
スマートフォンゲームのチート事情
スマートフォンゲームのチート事情
直生 亀山
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】
GMO GlobalSign Holdings K.K.
5分でわかる Unity点群
5分でわかる Unity点群
UnityTechnologiesJapan002
Cinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作る
Unity Technologies Japan K.K.
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
Unity Technologies Japan K.K.
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
Genya Murakami
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
Unity Technologies Japan K.K.
カスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについて
alwei
[CEDEC2017] LINEゲームのセキュリティ診断手法
[CEDEC2017] LINEゲームのセキュリティ診断手法
LINE Corporation
難易度ボラタリティグラフという分析手法
難易度ボラタリティグラフという分析手法
Tokoroten Nakayama
Azure PlayFab トレーニング資料
Azure PlayFab トレーニング資料
Daisuke Masubuchi
Steam ゲーム内購入 サーバーサイド実装について
Steam ゲーム内購入 サーバーサイド実装について
KLab Inc. / Tech
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
UnityTechnologiesJapan002
ターン制コマンドバトルにおける強化学習効率化
ターン制コマンドバトルにおける強化学習効率化
gree_tech
UnityでUI開発を高速化した件
UnityでUI開発を高速化した件
Grenge, Inc.
UniTask入門
UniTask入門
torisoup
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
京大 マイコンクラブ
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
Yugo Shimizu
ゼロから始めるサブスク生活
ゼロから始めるサブスク生活
KLab Inc. / Tech
コールバックと戦う話
コールバックと戦う話
torisoup
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
torisoup
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
Daisuke Masubuchi
MagicOnion入門
MagicOnion入門
torisoup
【Unite Tokyo 2019】SPARKCREATIVE始動で見えてきた最新VFX動向とSPARKGEARの最新機能について
【Unite Tokyo 2019】SPARKCREATIVE始動で見えてきた最新VFX動向とSPARKGEARの最新機能について
UnityTechnologiesJapan002
Hokkaido.cap#3 ケーススタディ(基礎編)
Hokkaido.cap#3 ケーススタディ(基礎編)
Panda Yamaki
とあるCocos2dx入門編
とあるCocos2dx入門編
kumin1030
More Related Content
What's hot
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
Unity Technologies Japan K.K.
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
Genya Murakami
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
Unity Technologies Japan K.K.
カスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについて
alwei
[CEDEC2017] LINEゲームのセキュリティ診断手法
[CEDEC2017] LINEゲームのセキュリティ診断手法
LINE Corporation
難易度ボラタリティグラフという分析手法
難易度ボラタリティグラフという分析手法
Tokoroten Nakayama
Azure PlayFab トレーニング資料
Azure PlayFab トレーニング資料
Daisuke Masubuchi
Steam ゲーム内購入 サーバーサイド実装について
Steam ゲーム内購入 サーバーサイド実装について
KLab Inc. / Tech
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
UnityTechnologiesJapan002
ターン制コマンドバトルにおける強化学習効率化
ターン制コマンドバトルにおける強化学習効率化
gree_tech
UnityでUI開発を高速化した件
UnityでUI開発を高速化した件
Grenge, Inc.
UniTask入門
UniTask入門
torisoup
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
京大 マイコンクラブ
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
Yugo Shimizu
ゼロから始めるサブスク生活
ゼロから始めるサブスク生活
KLab Inc. / Tech
コールバックと戦う話
コールバックと戦う話
torisoup
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
torisoup
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
Daisuke Masubuchi
MagicOnion入門
MagicOnion入門
torisoup
【Unite Tokyo 2019】SPARKCREATIVE始動で見えてきた最新VFX動向とSPARKGEARの最新機能について
【Unite Tokyo 2019】SPARKCREATIVE始動で見えてきた最新VFX動向とSPARKGEARの最新機能について
UnityTechnologiesJapan002
What's hot
(20)
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
カスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについて
[CEDEC2017] LINEゲームのセキュリティ診断手法
[CEDEC2017] LINEゲームのセキュリティ診断手法
難易度ボラタリティグラフという分析手法
難易度ボラタリティグラフという分析手法
Azure PlayFab トレーニング資料
Azure PlayFab トレーニング資料
Steam ゲーム内購入 サーバーサイド実装について
Steam ゲーム内購入 サーバーサイド実装について
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
ターン制コマンドバトルにおける強化学習効率化
ターン制コマンドバトルにおける強化学習効率化
UnityでUI開発を高速化した件
UnityでUI開発を高速化した件
UniTask入門
UniTask入門
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
ゼロから始めるサブスク生活
ゼロから始めるサブスク生活
コールバックと戦う話
コールバックと戦う話
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
MagicOnion入門
MagicOnion入門
【Unite Tokyo 2019】SPARKCREATIVE始動で見えてきた最新VFX動向とSPARKGEARの最新機能について
【Unite Tokyo 2019】SPARKCREATIVE始動で見えてきた最新VFX動向とSPARKGEARの最新機能について
Similar to とあるCocos2dxアプリのチート編
Hokkaido.cap#3 ケーススタディ(基礎編)
Hokkaido.cap#3 ケーススタディ(基礎編)
Panda Yamaki
とあるCocos2dx入門編
とあるCocos2dx入門編
kumin1030
リアルタイムゲームサーバーの ベンチマークをとる方法
リアルタイムゲームサーバーの ベンチマークをとる方法
モノビット エンジン
Eメールはまだまだ面白い
Eメールはまだまだ面白い
Kei Onimaru
45分で理解する ドッコムマスタートリプルスター受験対策 2012
45分で理解する ドッコムマスタートリプルスター受験対策 2012
Yukio Saito
情報セキュリティの啓蒙と仮想ネットワーク構築 Dos
情報セキュリティの啓蒙と仮想ネットワーク構築 Dos
k009c1271
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
gree_tech
2012年03月 経済産業省セミナー「クラウドは敵か?味方か?」
2012年03月 経済産業省セミナー「クラウドは敵か?味方か?」
Serverworks Co.,Ltd.
DeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャ
Haruto Otake
非エンジニアでもわかる
非エンジニアでもわかる
ssuser33820e
Mobile Web
Mobile Web
Makoto Kato
IIJmio meeting #3 スピードテストについて考える
IIJmio meeting #3 スピードテストについて考える
techlog (Internet Initiative Japan Inc.)
Lチカで終わらせないArduino シリアル通信 Part2(移行済)
Lチカで終わらせないArduino シリアル通信 Part2(移行済)
tomitomi3 tomitomi3
Amazon Athena 初心者向けハンズオン
Amazon Athena 初心者向けハンズオン
Amazon Web Services Japan
Build easy web system on softlayer
Build easy web system on softlayer
Kimihiko Kitase
Itで中小企業の生産性向上6
Itで中小企業の生産性向上6
小島 規彰
OSC Fukuoka SoftLayer
OSC Fukuoka SoftLayer
softlayerjp
VIOPS09これ欲しい!と言われるネットワーク仮想化とは
VIOPS09これ欲しい!と言われるネットワーク仮想化とは
Toru Kaneko
ソーシャルゲームにレコメンドエンジンを導入した話
ソーシャルゲームにレコメンドエンジンを導入した話
Tokoroten Nakayama
リモート・スマホ・シェアリング
リモート・スマホ・シェアリング
NTT Resonant Technology Inc.
Similar to とあるCocos2dxアプリのチート編
(20)
Hokkaido.cap#3 ケーススタディ(基礎編)
Hokkaido.cap#3 ケーススタディ(基礎編)
とあるCocos2dx入門編
とあるCocos2dx入門編
リアルタイムゲームサーバーの ベンチマークをとる方法
リアルタイムゲームサーバーの ベンチマークをとる方法
Eメールはまだまだ面白い
Eメールはまだまだ面白い
45分で理解する ドッコムマスタートリプルスター受験対策 2012
45分で理解する ドッコムマスタートリプルスター受験対策 2012
情報セキュリティの啓蒙と仮想ネットワーク構築 Dos
情報セキュリティの啓蒙と仮想ネットワーク構築 Dos
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
2012年03月 経済産業省セミナー「クラウドは敵か?味方か?」
2012年03月 経済産業省セミナー「クラウドは敵か?味方か?」
DeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャ
非エンジニアでもわかる
非エンジニアでもわかる
Mobile Web
Mobile Web
IIJmio meeting #3 スピードテストについて考える
IIJmio meeting #3 スピードテストについて考える
Lチカで終わらせないArduino シリアル通信 Part2(移行済)
Lチカで終わらせないArduino シリアル通信 Part2(移行済)
Amazon Athena 初心者向けハンズオン
Amazon Athena 初心者向けハンズオン
Build easy web system on softlayer
Build easy web system on softlayer
Itで中小企業の生産性向上6
Itで中小企業の生産性向上6
OSC Fukuoka SoftLayer
OSC Fukuoka SoftLayer
VIOPS09これ欲しい!と言われるネットワーク仮想化とは
VIOPS09これ欲しい!と言われるネットワーク仮想化とは
ソーシャルゲームにレコメンドエンジンを導入した話
ソーシャルゲームにレコメンドエンジンを導入した話
リモート・スマホ・シェアリング
リモート・スマホ・シェアリング
Recently uploaded
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
Recently uploaded
(10)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
とあるCocos2dxアプリのチート編
1.
cocos-2dxアプリの サーバーサイド事始め ~チート編~
2.
初めに •ソーシャルアプリで悩みの種になるチートにつ いて、その手口や対策などを紹介していきたい
と思います
3.
本講演の対象者 •アプリ開発していてチート問題について聞かさ れてガクブルしている方
•チートについて興味のある方 •チートに悩まされてきた方
4.
チート問題についてザックリと… •クライアントのメモリ改ざん事件 •不正にヒットポイントが増えるなど
•通信データ書き換え事件 •通信で取得するカードパラメータ等を不正に強くしてゲー ムなど •データ再送信による二重付与問題 •クライアント側で二回データを送信されても大丈夫なよう に… •不正課金事件 •不正レシートによる課金
5.
チート問題 •クライアントのメモリ改ざん事件 •不正にヒットポイントが増えるなど
•通信データ書き換え事件 •通信で取得するカードパラメータ等を不正に強くしてゲー ムなど •データ再送信による二重付与問題 •クライアント側で二回データを送信されても大丈夫なよう に… •不正課金事件 •不正レシートによる課金
6.
クライアントのメモリ改ざん事件 •脱獄したiPhone /
root化したAndroidで動作する GamePlayerというツールを使用することで、アプリ内の メモリを書き換えられてしまう •書き換えたい数値を検索して、その数値のデータを書き換 えることが可能 •HPが2000だったとした場合、2000という数値を検索し、メモ リ上に2000となっているのをユーザーが好きに書き換えら れてしまう ⇒HP 999999 のキャラとかを作成されてしまう ※とあるタイトルでの実例: http://www.xn--gameplayer--w94j5c19a.com/124.html
7.
クライアントメモリ改ざんに対する対抗策 •大事なデータは暗号化してデータを置きましょう。 •生の値でなければ、データを検索されても見つか
りにくい •暗号化は排他的論理和(XOR)を使うと、とても楽 に実装できます •A xorB => C の場合、C xorB => A となるので、暗 号・復元がとても楽です。
8.
クライアントメモリ改ざん対策の実装例 Class MyCharacter{
private: static constintKEY= 0xfedcba98; intmHp; //<=直接セットせずに、setHp,getHpを介してアクセス public: inline intgetHp()const{ return mHp^KEY;} inline void setHp( inthp){ mHp= hp^KEY;} };
9.
チート問題 •クライアントのメモリ改ざん事件 •不正にヒットポイントが増えるなど
•通信データ書き換え事件 •通信で取得するカードパラメータ等を不正に強くしてゲー ムなど •データ再送信による二重付与問題 •クライアント側で二回データを送信されても大丈夫なよう に… •不正課金事件 •不正レシートによる課金
10.
通信データ書き換え事件 •サーバーへ送るデータ/サーバーから受け取るデータを通信経路上 でデータ書き換えを行うことで不正に強いデータの作成・ゲーム結果
の詐称などが行えます。 •ゴーストルーターという製品が実際にあります データ 処理結果 ココでデータを書き換 えられてしまう!!
11.
通信データ書き換えを詳しく図解 ルーター Wifi
サーバー ここでデータを書き換えられてしまっ たら?
12.
通信データ書き換えを詳しく図解 Wifi サーバー
ルーターの役割をPCが行う。 ソフトウェアでヤリタイ放題! チーターのPC
13.
通信データ書き換えの例 Wifi サーバー
チーターのPC キャラ 一覧要求
14.
通信データ書き換えの例 Wifi サーバー
データをそのままゲームサーバーへ 転送 チーターのPC キャラ 一覧要求
15.
通信データ書き換えの例 Wifi サーバー
要求があったプレイヤーは、LV1の キャラを5体所持しているので、その データを返却 チーターのPC 所持キャラ LV1×5体 キャラ 一覧要求
16.
通信データ書き換えの例 Wifi サーバー
本当はもっていないキャラも、持って ることにしたり、既存キャラのLVを99 に書き換えて、クライントに返す チーターのPC 所持キャラ LV1×5体
17.
通信データ書き換えの例 Wifi サーバー
結果として、本来ユーザーが持って いないキャラやLVでゲームプレイが 行える! チーターのPC キャラ 一覧要求 所持キャラ LV99×10体
18.
通信データ書き換えの例 Wifi サーバー
ここで、サーバーからのデータを書き 換えることでチートされた!! チーターのPC 所持キャラ LV1×5体 キャラ 一覧要求 所持キャラ LV99×10体
19.
通信データ書き換えの対策 •書き換えられてしまうのを防ぐことは原理的に不可能 •端末外かつサーバー外で行われている
⇒ならば、書き換えられているかを検知出来ればよい。 ※データが途中で書き換えられているようなら不正扱いして受け付け なければいい(サーバー・クライアント両方とも)
20.
通信データ書き換えの対策 •ハッシュ値によるデータチェックを行いましょう •サーバー/クライアントから送るデータの末尾にハッシュ
値を入れてチェック ※ファイルが破損していないかチェックしたりするためのMD5 チェックやCRCチェックなどと同じ原理です。
21.
ハッシュ値の原理 ※データのダイジェストを作成しておきます。 データの不正書き換えが発生した場合には、ダイジェストが
変わってしまうので、エラーを検知できる仕組みです データ 646da9ae5d90e6b51b06ede01b9fed67 MD5/Sha-1等のアルゴリズムを用い ることで、データに対応した16Byteの ダイジェストが得られる
22.
チート問題 •クライアントのメモリ改ざん事件 •不正にヒットポイントが増えるなど
•通信データ書き換え事件 •通信で取得するカードパラメータ等を不正に強くしてゲー ムなど •データ再送信による二重付与問題 •クライアント側で二回データを送信されても大丈夫なよう に… •不正課金事件 •不正レシートによる課金
23.
データ再送信による二重付与問題 •クライアント側から、ゲーム結果送信等のデータが二 回送られてしまうことで、二重にキャラの付与処理等
が行われてしまう •実はデータ通信の途中で失敗するなどのケースで、わざ とではなく偶然発生してしまう事もあるので、注意が必要
24.
クライアント サーバー 1.サーバーに、IDとパス
ワード、遊んだダンジョン、 取得したスコアを送信 {”id”:” a7c4eab”,”passwd”:”te32BG”,” dungeon”:2,”score”:100} ユーザー行動のデータ再送信のケース
25.
クライアント サーバー 2.受け取ったデータを元に
ユーザー認証を行い、正し ければサーバー内のユー ザーデータを書き換える ユーザー行動のデータ再送信のケース {”id”:” a7c4eab”,”passwd”:”te32BG”,” dungeon”:2,”score”:100}
26.
クライアント サーバー 3.サーバー内で書き換え
たデータ等を返そうとしたと 失敗します {”money”:20,”getCard”:[1,2,3]} ユーザー行動のデータ再送信のケース
27.
クライアント サーバー 4.通信に失敗したみたい
なので、もう一回データを 送ります {”id”:” a7c4eab”,”passwd”:”te32BG”,” dungeon”:2,”score”:100} ユーザー行動のデータ再送信のケース
28.
クライアント サーバー 5.既に処理済みのデータが
来たので、データの更新は 行わずに結果だけ返さない といけない。 ユーザー行動のデータ再送信のケース {”id”:” a7c4eab”,”passwd”:”te32BG”,” dungeon”:2,”score”:100}
29.
データ再送信の対策について •通信ごとにユニークなIDを割り当てて、サーバー側で 最後に行われた通信をキチンと把握しておきましょう
•サーバー側でプレイヤーのゲームプレイのステータ ス管理をしましょう •ゲームプレイ開始してないのに、結果が送られてきたら オカシイなどなどの判定が出来ます
30.
チート問題 •クライアントのメモリ改ざん事件 •不正にヒットポイントが増えるなど
•通信データ書き換え事件 •通信で取得するカードパラメータ等を不正に強くしてゲー ムなど •データ再送信による二重付与問題 •クライアント側で二回データを送信されても大丈夫なよう に… •不正課金事件 •不正レシートによる課金
31.
不正課金事件について •不正なレシート(購入証明書)を送り付ける事で、課 金していないのに課金アイテムを得ようとするケース
があります •別のアプリのレシートを送って、購入したことにしようとし てみる •かなり昔に処理をしたレシートを送って、購入したことにし ようとしてみる
32.
不正課金事件の対策 •Android /
iphone共に送られてきたデータが自分のアプリ内課金商 品が購入されているか確認しましょう •AndroidではorderID、iPhoneではtransactionIDと呼ばれる決済ごと にユニークなIDがあるので、過去に決済されたデータは全て残して おきましょう。
33.
チート対策回りでのまとめ •クライアント側は、重要なデータは暗号化・ハッシュ チェック等を行うようにしましょう
•サーバー側は、クライアントから来たデータは信じな いスタンスで行きましょう。 •通信は、暗号化・ハッシュチェック等を行い改ざんさ れないようにしましょう •通信は同じものが何回か行われてしまうことを想定し ましょう
34.
Appendix Hashによるチェックや通信経路の詐称などの細かい話は 「新版暗号技術入門秘密の国のアリス」という書籍が詳しく説明されてい
ます。 セキュリティなどに関する基本的なところが学べるのでお勧めです。 http://www.amazon.co.jp/%E6%96%B0%E7%89%88%E6%9A%97%E5%8F%B7%E6%8A%80%E8%A1%93%E5%85%A5%E9%96%80- %E7%A7%98%E5%AF%86%E3%81%AE%E5%9B%BD%E3%81%AE%E3%82%A2%E3% 83%AA%E3%82%B9-%E7%B5%90%E5%9F%8E-%E6%B5%A9/dp/4797350997
Download now