Tampermonkeyで特定のJavaScriptの読み込みをブロックする方法。解析が簡単になる!

Google Chromeの拡張機能「Tampermonkey」を使用して特定のJavaScriptの読み込みをブロックする方法を紹介したいと思います。(FirefoxやEdgeでも使用できると思います)

私はJavaScriptの解析を行うときに、もとのスクリプトをブロックして改変したスクリプトを読み込ませるためにこの方法を使います。

拡張機能「Tampermonkey」をインストール済みという前提で書いていきます。

Chromeの右上のアイコンをクリックして、でてきたメニューの「新規スクリプトを追加」をクリック。

デフォルトのスクリプトがでてくるとおもいますが、これに変更を加えていきます。

この部分を対象のサイトのURLに書き換えます。

たとえば、スクリプトをブロックしたいサイトがhttp://example.com/なら、

こんなかんじ。*をつけるとそのURLのすべてのページでTampermonkeyのスクリプトが実行されるようになります。必要なければ「*」は消してください。

次にこの部分を削除して以下を書き加えます。

そうすると以下のようなかんじになると思います。

htmlを置換してJSをブロックする

そしたら次は12行目~16行目を削除し、

これをコピーして貼り付けます。これはページ(html)を読み込む前に、htmlに置換を適用するというスクリプトです。「ブロックするJSファイル」の部分にブロックしたいファイルのURL文字列を指定すれば、その部分がに置換、つまり削除されます。

説明が下手でうまく伝わらなそうなので、実際に例を挙げたいと思います。

対象サイトは「Agar.io(アガリオ)」というブラウザゲームのサイト。

サイトのURLは 「https://agar.io/」です。このサイトのソースをみると

agario.core.jsというJavaScriptが読み込まれるようになっています。

これを置換することによって読み込まないようにしたいときは、さきほどのスクリプトの「ブロックするJSファイル」の部分を

このように変更します。(正規表現を使用しています)

つまりこうなる。

Tampermonkeyでスクリプトを保存したあと、Agar.ioのサイトを読み込み、開発者ツールでソースを確認すると改変されたソースが読み込まれていることがわかると思います。

ブロックして改変したJSを読み込む

JSをブロックしたとき、置換を使って一部を削除しましたが、置換なので削除するだけじゃなくて違うURLに書き換えればかわりに別のスクリプトを読み込めます。

Chromeでは、開発者ツールのコンソールを使えばサイトを読み込んだ後でもJavaScriptを書き換えることができますが、サイズが大きいものや難読化されたものを書き換えるとき非常に重くなってしまい、まともに使えません。

しかし最初からオリジナルのかわりに改変したスクリプトを読み込めば、難読化されたスクリプトやサイズがとても大きいスクリプトの解析の効率も上がります。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする