Ⅰ. はじめに
タイトルの通り「ChromeやFireFoxの開発者ツールのブレークポイントを制限する方法」です。
JavaScriptの難読化を行っていてもデバッガの強力な機能を利用して何らかの解析が可能になります。
そういった弱点を潰すことができます。
Ⅱ. やり方1(シンプルな実装)
1. 以下のHTMLをindex.htmlとして保存する
<html> <body> <p>Please open developer tools</p> <script> setInterval(() => { debugger }, 100) </script> </body> </html>
2. WEBブラウザでindex.htmlを開く
3. 開発者ツールを開く
Ⅲ. やり方2(devtools-detectを利用する方法)
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', () => { while(true) { debugger } }) </script> </body> </html>
(以下省略)
留意点
- devtools-detectを利用して開発者ツールを別ウィンドウとして表示させた場合 devtoolschange イベントは発火しません