読者です 読者をやめる 読者になる 読者になる

JavaScriptのゲームを改ざんしてみる

クライアントからのデータは基本信用してはいけない
今回はこのゲームで確認してみる、このゲームでは大幅な部分をJSで書いている

minmaxia.com

最初に選択したのはこの三人

* Fighter
Tank character. Powerful melee attack.


* Priest
A healer and a killer. Melee combat plus spells to help the party.

* Pyromancer
Spell-based ranged attack. Fire Magic.

戦士が敵を集めて魔法系でねちねちやるつもりの選択



さっそく始めよう
まずはグローバル変数を確認する。
開発者ツールを開きconsoleにthisを入力して[return/Enter]を押す

this

f:id:surume_Reflection:20161119115857p:plain

案外しられていないが、consoleの欄でjsを直接実行、確認できる。
一通りのグローバルオブジェクトが参照できる

  • スピードをいじってみたり
Ss.t = 10;
  • 基礎ステータスを変更してみたり
Qu;
Su;
Pu;
  • 部屋ごとの取得Gold量を増加させる
E.ys.t = "999999999999";

f:id:surume_Reflection:20161119115942p:plain

Basicでも同様に変更できてしまう

http://minmaxia.com/basic/

  • 獲得金を改ざん
Game.model.total.value = 99999999999999;

f:id:surume_Reflection:20161119120542p:plain

クライアント側ではいくらでも改ざんできるため
サーバー側で限界値を決めるなどなにかする必要があるな
クッキークリッカーも改ざん出来そうだが有名所はやめておこう