Web、サーバ、ソフトウェア、バグ・脆弱性 などの情報を何人かで集まって書いていく IT/Web情報系ブログ

NGMのFirefoxでのClick-to-Play設定について

投稿日:   投稿者:エレモ

2015/01/22現在、NEXON Game Manager 1.0.1.4(以下NGM)が、
NEXON以外のサイトで実行可能になっているという問題が有ります。
設定によっては、悪意ある第三者の作ったサイトから、PC名などを取得されてしまいます。
(問題の詳細については、以下の記事の方が書いてくれています。)
NEXON Game Manager(NGM)の持つ問題点と危険性
この記事ではFirefoxの設定を変更し、NEXON以外ではNGMを実行できない設定にする方法について解説します。

設定方法

これが一番簡単だと思う設定方法

Firefoxのメニューボタンから「アドオン」を開いてください。
次にブロックのようなアイコンの「プラグイン」タブを開きます。
そうしたら、下記画像のようにNexon Game Controllerを「実行時に確認する」に設定しましょう。
ngm-setting
これを行う事により、許可したサイト以外ではNGMを実行できなくなります。

次にnexon.co.jpのサイトのみで、NGMを実行できるように設定する方法を解説します。
以下のURLをクリックし、アドオンをインストールしてください。
https://vivibit.net/files/ngm-allow.xpi
これをインストールする事により、NEXONのサイトではNGMの実行が許可されます。
(許可処理を実行後、自動でアンインストールされます)
このファイルはzipファイルなので、ソースが気になる方は中身を御覧ください。

以上で設定は完了です。ここまでの項目が正しく設定されていれば、
Nexon Game Controllerを「実行時に確認する」に設定した状態でもゲームを実行できるはずです。
ここまでで特に問題無ければ、後の文章は蛇足になります。

スポンサーリンク

Click-to-Play ManagerからNGMを許可する方法

この項目は一つ前の項目とやっている事は同じです。(ngm-allow.xpiを使いたくない人向け)
Click-to-Play Managerはサイト毎に許可するプラグインを設定できるアドオンです。
下記URLからインストールしましょう。
https://addons.mozilla.org/ja/firefox/addon/click-to-play-manager/

下記のテキストファイルを右クリックから名前を付けて保存して、保存場所を覚えておきます。
ngm-allow.txt
(または下記の一行をコピーしてメモ帳などに貼りつけて、名前をつけて保存してください。)
http://nexon.co.jp,npnxgamejp

メニューからアドオンを開き、Click-to-Play Managerの設定を開きます。
addon-ctpm
メニューのFile(F)→Import(I)をクリックして開き、
先ほど保存したテキストファイルを開いてください。
addon-ctpm-setting

下記のように表示されれば追加完了です。
addon-ctpm-imported

私的手順等のメモ

これより先は検証した事や手順などの詳細を記しておく。

何故デフォルトの機能でNGMを「実行時に許可する」事ができないのか

例えば、Talesweaver(http://talesweaver.nexon.co.jp/)のページだと、
ゲームスタートを押した直後、エラーだとindex.aspxの111行目あたりで、
確認する間も無く速攻NGMのダウンロードページに飛んでしまうため。

    NGM.ErrorHandler = function () {
        window.location.href = "/ngm/index.aspx";
    }

これでhttp://talesweaver.nexon.co.jp/ngm/index.aspxに飛ばされてしまう。

Click-to-Play ManagerでNexon Game Controllerを許可しても作用しなかった問題

Click-to-Play Managerの設定の”Add(A)”からNexon Game Controllerを許可すると、
許可情報のtypeが”plugin:npnxgameJP”(JPが大文字)になる。
これだと何故か許可されてない状態になっていた。
Firebugでプラグインが実行されるところで止めて許可してから、
permissions.sqliteに追加された情報を見て見比べたところ、
正しく許可されるものは”plugin:npnxgamejp”(jpが大文字)になっていた。
C:\ProgramData\NexonJP\NGM\npnxgameJP.dll のファイル名から引っ張ってきてるっぽいけど、
どうも許可情報は小文字で登録しないといけない(?)っぽかった。
(これがFirefoxとかアドオンのバージョンに起因するモノなのか、バグなのか仕様なのかとかは知らない)

NGMを常に有効化にしている人が多いと思われるところ

  • マビノギ英雄伝
  • マビノギ
  • TalesWeaver
  • サドンアタック

これらのプレイヤーでFirefoxを使ってる人は常に有効化設定にしている人が多いと思われる。
参考:“常に有効化する” nexon – Google 検索

本筋にあまり関係ないメモ

nexonのページ関係

  • http://platform.nexon.co.jp/Auth/NGM/JS/npf_ngm.js
    267行目:this.GxLaunchGame
  • ngmのembed要素pluginspage=”pop_ngm_guide.html”は韓国版ページのURLっぽい
  • bs.nakanohito.jp?
  • http://p.ca-mpr.jp/s/153/?~はサイバーエージェント?
  • https://fbstatic-a.akamaihd.net/rsrc.php/~はfacebook?

Firefoxの設定関係

  • about:configのplugins.click_to_playがfalseだと、プラグインは「常に有効化する」しか選べなくなった
  • permissions.sqliteのidの設定のされ方
  • permissions.sqliteのplugin-vulnerable
  • permissions.sqliteのfalsestart-rsa

Firefoxのpermissions.sqliteに追加される許可情報

テーブル名: moz_hosts

  • id: 84 (他と被らない数値だとは思うけど、法則は知らない)
  • host: nexon.co.jp
  • type: plugin:npnxgamejp
  • permission: 1
  • expireType: 2
  • expireTime: 1429292803699 (どう見てもミリ秒)
  • modificationTime: 1421516803700 (同上)
  • appId: 0
  • isInBrowserElement: 0

※Click-to-Play ManagerのメニューのAdd(A)で追加したものは、
expireTypeとexpireTimeが0になる。これは永久設定という事で問題無いだろう。
また、別idでtypeが”plugin-vulnerable:npnxgameJP”のほぼ同項目も追加されるけど、これはよくわかんない。

使ったもののバージョン

  • Firefox 35.0
  • Nexon Game Controller 1.0.1.4
  • Click-to-Play Manager 1.3.1
  • Firebug 2.0.7

その他のNGM許可設定方法

hosts書き換えて自前で用意したhtml読ませるとか、
よく考えたらjavascriptのブックマークレット使うとかでもいける気もする。

アドオンのFirebugを使って無理やり追加したやり方

  1. ログインしておく。
  2. Firebug開いて、スクリプトタブから、npf_ngm.jsを開く。
    (http://platform.nexon.co.jp/Auth/NGM/JS/npf_ngm.js)
  3. 249行目の以下の行にブレークポイントを仕掛ける。
    var ret		= this.objNxGame.Launch( String( game ), String( passport ), String( arg ) );
  4. ゲームスタートを押す。上記の行でJavaScriptの実行が止まる。
  5. Nexon Game Controllerを許可するかどうか訊かれるので許可する。
  6. F8かFirebugのボタンからブレークポイントを抜ける。ゲームのランチャーが立ち上がる。終わり。

DLLの方をリネームして追加してみたやり方

このやり方はちょっと微妙かも。

  1. C:\ProgramData\NexonJP\NGM を開く。
  2. npnxgameJP.dllをnpnxgamejp.dllにリネーム。
  3. Click-to-Play Managerの設定のAdd(A)から追加する。

Click-to-Playでエクスポートしてインポートしたやり方

補足の所で書いたやつのテキストファイル生成のとこを追加しただけど、

  1. 普通にClick-to-Play Managerからnexon.co.jp/Nexon Game Controllerを追加する。
  2. ↑で設定した項目を選択して、File(F)→Export selectedでテキストファイルにエクスポートする。
  3. ↑でエクスポートしたテキストファイルにnpnxgameJPという文字列があるので、npnxgamejpに変えて保存。
  4. ↑で保存したものをインポートする。

または、File(F)→Generate Installer(G)でアドオンが生成できるので、そちらでもOK。

- NGM , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事