Submit Search
Upload
とあるCocos2dxアプリのチート編
•
26 likes
•
10,863 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
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
Unity Technologies Japan K.K.
一般的なチートの手法と対策について
一般的なチートの手法と対策について
優介 黒河
MRTK3を調べてみた
MRTK3を調べてみた
Takahiro Miyaura
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
DeNA
スマートフォンゲームのチート事情
スマートフォンゲームのチート事情
直生 亀山
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
Game Tools & Middleware Forum
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~
UnityTechnologiesJapan002
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
Unity Technologies Japan K.K.
Recommended
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
Unity Technologies Japan K.K.
一般的なチートの手法と対策について
一般的なチートの手法と対策について
優介 黒河
MRTK3を調べてみた
MRTK3を調べてみた
Takahiro Miyaura
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
DeNA
スマートフォンゲームのチート事情
スマートフォンゲームのチート事情
直生 亀山
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
Game Tools & Middleware Forum
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~
UnityTechnologiesJapan002
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
Unity Technologies Japan K.K.
ゲーム企画書の書き方? ~大久保磨編~ ver.1.4.0
ゲーム企画書の書き方? ~大久保磨編~ ver.1.4.0
Osamu Ohkubo
年の瀬リアルタイム通信サーバ勉強会
年の瀬リアルタイム通信サーバ勉強会
モノビット エンジン
MMOGで考えるゲームデザイン
MMOGで考えるゲームデザイン
Katsumi Mizushima
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】
GMO GlobalSign Holdings K.K.
ゲームシナリオ構成論 The Method for the game sinario writings for multi-ending adventur...
ゲームシナリオ構成論 The Method for the game sinario writings for multi-ending adventur...
小林 信行
バーチャルライブ配信アプリREALITYの3Dアバターシステムの全容について
バーチャルライブ配信アプリREALITYの3Dアバターシステムの全容について
gree_tech
「宴」実装時に得られたUnityプログラムノウハウ
「宴」実装時に得られたUnityプログラムノウハウ
Ryohei Tokimura
コールバックと戦う話
コールバックと戦う話
torisoup
UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事
Unity Technologies Japan K.K.
多機能ボイチャを簡単に導入する方法
多機能ボイチャを簡単に導入する方法
Unity Technologies Japan K.K.
【Unity道場】新しいPrefabワークフロー入門
【Unity道場】新しいPrefabワークフロー入門
Unity Technologies Japan K.K.
Unityプロファイラについて
Unityプロファイラについて
Mio Ku-tani
【Unity】より良い表現のためのライティング戦略
【Unity】より良い表現のためのライティング戦略
Takayasu Beharu
Unityアニメーションシステムの 今と未来の話
Unityアニメーションシステムの 今と未来の話
Unity Technologies Japan K.K.
고대특강 게임 프로그래머의 소양
고대특강 게임 프로그래머의 소양
Jubok Kim
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
モノビット エンジン
AI x WebAR: MediaPipeのハンドトラッキングを使ってみよう
AI x WebAR: MediaPipeのハンドトラッキングを使ってみよう
Takashi Yoshinaga
Azure Spatial Anchorについて少し調べた話
Azure Spatial Anchorについて少し調べた話
Takahiro Miyaura
NDC 2015 이은석 - pay-to-skip: 온라인 게임 속 로봇 경제와 내몰리는 인간
NDC 2015 이은석 - pay-to-skip: 온라인 게임 속 로봇 경제와 내몰리는 인간
Eunseok Yi
Online MultiPlay Game Design
Online MultiPlay Game Design
エピック・ゲームズ・ジャパン Epic Games Japan
Hokkaido.cap#3 ケーススタディ(基礎編)
Hokkaido.cap#3 ケーススタディ(基礎編)
Panda Yamaki
とあるCocos2dx入門編
とあるCocos2dx入門編
kumin1030
More Related Content
What's hot
ゲーム企画書の書き方? ~大久保磨編~ ver.1.4.0
ゲーム企画書の書き方? ~大久保磨編~ ver.1.4.0
Osamu Ohkubo
年の瀬リアルタイム通信サーバ勉強会
年の瀬リアルタイム通信サーバ勉強会
モノビット エンジン
MMOGで考えるゲームデザイン
MMOGで考えるゲームデザイン
Katsumi Mizushima
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】
GMO GlobalSign Holdings K.K.
ゲームシナリオ構成論 The Method for the game sinario writings for multi-ending adventur...
ゲームシナリオ構成論 The Method for the game sinario writings for multi-ending adventur...
小林 信行
バーチャルライブ配信アプリREALITYの3Dアバターシステムの全容について
バーチャルライブ配信アプリREALITYの3Dアバターシステムの全容について
gree_tech
「宴」実装時に得られたUnityプログラムノウハウ
「宴」実装時に得られたUnityプログラムノウハウ
Ryohei Tokimura
コールバックと戦う話
コールバックと戦う話
torisoup
UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事
Unity Technologies Japan K.K.
多機能ボイチャを簡単に導入する方法
多機能ボイチャを簡単に導入する方法
Unity Technologies Japan K.K.
【Unity道場】新しいPrefabワークフロー入門
【Unity道場】新しいPrefabワークフロー入門
Unity Technologies Japan K.K.
Unityプロファイラについて
Unityプロファイラについて
Mio Ku-tani
【Unity】より良い表現のためのライティング戦略
【Unity】より良い表現のためのライティング戦略
Takayasu Beharu
Unityアニメーションシステムの 今と未来の話
Unityアニメーションシステムの 今と未来の話
Unity Technologies Japan K.K.
고대특강 게임 프로그래머의 소양
고대특강 게임 프로그래머의 소양
Jubok Kim
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
モノビット エンジン
AI x WebAR: MediaPipeのハンドトラッキングを使ってみよう
AI x WebAR: MediaPipeのハンドトラッキングを使ってみよう
Takashi Yoshinaga
Azure Spatial Anchorについて少し調べた話
Azure Spatial Anchorについて少し調べた話
Takahiro Miyaura
NDC 2015 이은석 - pay-to-skip: 온라인 게임 속 로봇 경제와 내몰리는 인간
NDC 2015 이은석 - pay-to-skip: 온라인 게임 속 로봇 경제와 내몰리는 인간
Eunseok Yi
Online MultiPlay Game Design
Online MultiPlay Game Design
エピック・ゲームズ・ジャパン Epic Games Japan
What's hot
(20)
ゲーム企画書の書き方? ~大久保磨編~ ver.1.4.0
ゲーム企画書の書き方? ~大久保磨編~ ver.1.4.0
年の瀬リアルタイム通信サーバ勉強会
年の瀬リアルタイム通信サーバ勉強会
MMOGで考えるゲームデザイン
MMOGで考えるゲームデザイン
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】
ゲームシナリオ構成論 The Method for the game sinario writings for multi-ending adventur...
ゲームシナリオ構成論 The Method for the game sinario writings for multi-ending adventur...
バーチャルライブ配信アプリREALITYの3Dアバターシステムの全容について
バーチャルライブ配信アプリREALITYの3Dアバターシステムの全容について
「宴」実装時に得られたUnityプログラムノウハウ
「宴」実装時に得られたUnityプログラムノウハウ
コールバックと戦う話
コールバックと戦う話
UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事
多機能ボイチャを簡単に導入する方法
多機能ボイチャを簡単に導入する方法
【Unity道場】新しいPrefabワークフロー入門
【Unity道場】新しいPrefabワークフロー入門
Unityプロファイラについて
Unityプロファイラについて
【Unity】より良い表現のためのライティング戦略
【Unity】より良い表現のためのライティング戦略
Unityアニメーションシステムの 今と未来の話
Unityアニメーションシステムの 今と未来の話
고대특강 게임 프로그래머의 소양
고대특강 게임 프로그래머의 소양
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
AI x WebAR: MediaPipeのハンドトラッキングを使ってみよう
AI x WebAR: MediaPipeのハンドトラッキングを使ってみよう
Azure Spatial Anchorについて少し調べた話
Azure Spatial Anchorについて少し調べた話
NDC 2015 이은석 - pay-to-skip: 온라인 게임 속 로봇 경제와 내몰리는 인간
NDC 2015 이은석 - pay-to-skip: 온라인 게임 속 로봇 경제와 내몰리는 인간
Online MultiPlay Game Design
Online MultiPlay Game Design
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
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
Recently uploaded
(9)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
とある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