Upload
Download free for 30 days
Login
Submit search
とあるCocos2dxアプリのチート編
26 likes
10,940 views
K
kumin1030
Cheat Info for Apps
Technology
Read more
1 of 34
Download now
Downloaded 41 times
1
2
3
4
Most read
5
6
Most read
7
Most read
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
More Related Content
PDF
スマートフォンゲームのチート事情
直生 亀山
PDF
[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법
강 민우
PDF
[델리만주] 대학원 캐슬 - 석사에서 게임 프로그래머까지
Chris Ohk
PDF
08_良いユーザー体験のためのデザイン
Emi Takayama
PDF
プロダクトオーナーがエンタープライズアジャイルで抱える苦悩と対処 #eaug
満徳 関
PDF
NDC 2014, 피할 수 없는 문자열의 세계
tcaesvk
PDF
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
devCAT Studio, NEXON
PDF
진선웅 유저수만큼다양한섬을만들자 공개용
Sunwung Jin
スマートフォンゲームのチート事情
直生 亀山
[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법
강 민우
[델리만주] 대학원 캐슬 - 석사에서 게임 프로그래머까지
Chris Ohk
08_良いユーザー体験のためのデザイン
Emi Takayama
プロダクトオーナーがエンタープライズアジャイルで抱える苦悩と対処 #eaug
満徳 関
NDC 2014, 피할 수 없는 문자열의 세계
tcaesvk
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
devCAT Studio, NEXON
진선웅 유저수만큼다양한섬을만들자 공개용
Sunwung Jin
What's hot
(20)
PDF
조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012
devCAT Studio, NEXON
PDF
[ NDC 14 ] 가죽 장화를 먹게 해주세요 - [ 야생의 땅 : 듀랑고 ] 의 자유도 높은 아이템 시스템 디자인
Jungsoo Lee
PDF
超連射68K 開発日記 -弾幕世代以前の90年代 STG のこと-
IGDA Japan
PDF
이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019
devCAT Studio, NEXON
PDF
あなたのお勧めマップ作ってみよう! OpenStreetMap活用編 uMap
Noriko Takiguchi
PDF
好みや多数決で決めない、デザインとの正しい付き合い方
Yasuhisa Hasegawa
PPTX
[KGC2014] 두 마리 토끼를 잡기 위한 C++ - C# 혼합 멀티플랫폼 게임 아키텍처 설계
Sungkyun Kim
PPTX
ゲームエフェクトの発注・受注で幸せになるためには 170610
s-shimosawa
PDF
NoOps?よろしいならば戦争だ
Toru Makabe
PDF
20141213 俺のインセプションデッキ #agilesamurai
Takao Oyobe
PDF
게임 시스템 디자인 시작하기
ByungChun2
PDF
AtCoder Regular Contest 036 解説
AtCoder Inc.
PDF
이희영, 온라인 게임에서 모바일 게임으로 이어지는 메타플레이 트렌드, NDC2017
devCAT Studio, NEXON
PPTX
Part3. 아이디어를 게임기획으로 발전시키기
태성 이
PDF
ネイティブアプリにおける、UI/インタラクションのトレンド
yosuke sato
PDF
一般的なチートの手法と対策について
優介 黒河
PPTX
部課長ゲームオンライン
Jun Chiba
PDF
신입 개발자 생활백서 [개정판]
Yurim Jin
PPTX
게임 BM 이야기
SeungYeon Jeong
PDF
Unity開発で使える設計の話+Zenjectの紹介
torisoup
조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012
devCAT Studio, NEXON
[ NDC 14 ] 가죽 장화를 먹게 해주세요 - [ 야생의 땅 : 듀랑고 ] 의 자유도 높은 아이템 시스템 디자인
Jungsoo Lee
超連射68K 開発日記 -弾幕世代以前の90年代 STG のこと-
IGDA Japan
이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019
devCAT Studio, NEXON
あなたのお勧めマップ作ってみよう! OpenStreetMap活用編 uMap
Noriko Takiguchi
好みや多数決で決めない、デザインとの正しい付き合い方
Yasuhisa Hasegawa
[KGC2014] 두 마리 토끼를 잡기 위한 C++ - C# 혼합 멀티플랫폼 게임 아키텍처 설계
Sungkyun Kim
ゲームエフェクトの発注・受注で幸せになるためには 170610
s-shimosawa
NoOps?よろしいならば戦争だ
Toru Makabe
20141213 俺のインセプションデッキ #agilesamurai
Takao Oyobe
게임 시스템 디자인 시작하기
ByungChun2
AtCoder Regular Contest 036 解説
AtCoder Inc.
이희영, 온라인 게임에서 모바일 게임으로 이어지는 메타플레이 트렌드, NDC2017
devCAT Studio, NEXON
Part3. 아이디어를 게임기획으로 발전시키기
태성 이
ネイティブアプリにおける、UI/インタラクションのトレンド
yosuke sato
一般的なチートの手法と対策について
優介 黒河
部課長ゲームオンライン
Jun Chiba
신입 개발자 생활백서 [개정판]
Yurim Jin
게임 BM 이야기
SeungYeon Jeong
Unity開発で使える設計の話+Zenjectの紹介
torisoup
Ad
Similar to とあるCocos2dxアプリのチート編
(20)
PDF
Hokkaido.cap#3 ケーススタディ(基礎編)
Panda Yamaki
PDF
とあるCocos2dx入門編
kumin1030
PDF
リアルタイムゲームサーバーの ベンチマークをとる方法
モノビット エンジン
PDF
Eメールはまだまだ面白い
Kei Onimaru
PDF
45分で理解する ドッコムマスタートリプルスター受験対策 2012
Yukio Saito
PDF
情報セキュリティの啓蒙と仮想ネットワーク構築 Dos
k009c1271
PDF
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
gree_tech
PPTX
【開発者向けMCP徹底解説】PythonによるMCPサーバー実装からVRChat連携まで:AI (Gemini) との対話で直面する"嘘"や落とし穴、その...
Kuretan VR
PPTX
2012年03月 経済産業省セミナー「クラウドは敵か?味方か?」
Serverworks Co.,Ltd.
PPTX
DeNAのサーバー"コード"レスアーキテクチャ
Haruto Otake
PPTX
非エンジニアでもわかる
ssuser33820e
PDF
Mobile Web
Makoto Kato
PDF
IIJmio meeting #3 スピードテストについて考える
techlog (Internet Initiative Japan Inc.)
PPTX
Lチカで終わらせないArduino シリアル通信 Part2(移行済)
tomitomi3 tomitomi3
PDF
Amazon Athena 初心者向けハンズオン
Amazon Web Services Japan
PDF
Build easy web system on softlayer
Kimihiko Kitase
PDF
Itで中小企業の生産性向上6
小島 規彰
PDF
OSC Fukuoka SoftLayer
softlayerjp
PPTX
VIOPS09これ欲しい!と言われるネットワーク仮想化とは
Toru Kaneko
PPTX
ソーシャルゲームにレコメンドエンジンを導入した話
Tokoroten Nakayama
Hokkaido.cap#3 ケーススタディ(基礎編)
Panda Yamaki
とあるCocos2dx入門編
kumin1030
リアルタイムゲームサーバーの ベンチマークをとる方法
モノビット エンジン
Eメールはまだまだ面白い
Kei Onimaru
45分で理解する ドッコムマスタートリプルスター受験対策 2012
Yukio Saito
情報セキュリティの啓蒙と仮想ネットワーク構築 Dos
k009c1271
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
gree_tech
【開発者向けMCP徹底解説】PythonによるMCPサーバー実装からVRChat連携まで:AI (Gemini) との対話で直面する"嘘"や落とし穴、その...
Kuretan VR
2012年03月 経済産業省セミナー「クラウドは敵か?味方か?」
Serverworks Co.,Ltd.
DeNAのサーバー"コード"レスアーキテクチャ
Haruto Otake
非エンジニアでもわかる
ssuser33820e
Mobile Web
Makoto Kato
IIJmio meeting #3 スピードテストについて考える
techlog (Internet Initiative Japan Inc.)
Lチカで終わらせないArduino シリアル通信 Part2(移行済)
tomitomi3 tomitomi3
Amazon Athena 初心者向けハンズオン
Amazon Web Services Japan
Build easy web system on softlayer
Kimihiko Kitase
Itで中小企業の生産性向上6
小島 規彰
OSC Fukuoka SoftLayer
softlayerjp
VIOPS09これ欲しい!と言われるネットワーク仮想化とは
Toru Kaneko
ソーシャルゲームにレコメンドエンジンを導入した話
Tokoroten Nakayama
Ad
Recently uploaded
(8)
PDF
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
Masaki Yamakawa
PDF
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
Kannabi1
PDF
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
Takuya Minagawa
PDF
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
hatedwunao
PPTX
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
Ko Jikawa
PDF
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
池田 直哉
PPTX
Vibe Codingを触って感じた現実について.pptx .
iPride Co., Ltd.
PDF
20250823_IoTLT_vol126_kitazaki_v1___.pdf
Ayachika Kitazaki
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
Masaki Yamakawa
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
Kannabi1
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
Takuya Minagawa
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
hatedwunao
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
Ko Jikawa
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
池田 直哉
Vibe Codingを触って感じた現実について.pptx .
iPride Co., Ltd.
20250823_IoTLT_vol126_kitazaki_v1___.pdf
Ayachika Kitazaki
とある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