備忘録

備忘録

ChromeやFireFoxの開発者ツールを無効にする

Ⅰ. はじめに

開発者ツール(デベロッパーツール)を使えなくする方法です。

開発者ツールが使える状況ではデバッガ等の強力な機能が利用可能になります。
JavaScriptの難読化を行っていてもデバッガが利用可能なので何らかの解析が可能になります。
そういった弱点を潰すことができます。

Ⅱ. 動作確認

ブラウザ 結果
Chrome 60 OK
Firefox 54 OK
IE 11 NG

※NGのものは修正次第記事を更新します。

Ⅱ. やり方

1. 以下のHTMLをindex.htmlとして保存する
<html>
<body>
<p>please open developer tools</p>
<script src="https://sindresorhus.com/devtools-detect/index.js"></script>

<script>
window.addEventListener('devtoolschange', function () {
  while(true) {
    debugger
  }
})
</script>
</body>
</html>
2. WEBブラウザでindex.htmlを開く
3. 開発者ツールを開く
4. 無限にブレークポイントで止まります。

Firefoxの場合、Firefoxのプロセスがフリーズします。(Firefox 54で確認)
f:id:kagasu:20170728002834p:plain

Ⅲ. Deactive breakpoints について

Chromeの開発者ツールには Deactive breakpoints というボタンがあります。
このボタンでブレークポイントを無効にしても無限ループがある為結果的に開発者ツールが使えない状況になります。
f:id:kagasu:20170728003645p:plain