開発者ツール検知を破壊してみる

2023年6月10日
blog.aepkill.com

これのreg-to-stringってやつ回避したいなあ…ってことでソースコードを見てみる

Detect if DevTools is open. Contribute to AEPKILL/devtools-detector development …
github.com

Firefox側のソースコードを探って…

Diff
diff --git a/devtools/server/actors/object/previewers.js b/devtools/server/actors/object/previewers.js
index de6453c089e5c..e9ddea6bbd9e3 100644
--- a/devtools/server/actors/object/previewers.js
+++ b/devtools/server/actors/object/previewers.js
@@ -168,11 +168,11 @@ const previewers = {
   ],
 
   RegExp: [
-    function({ obj, hooks }, grip) {
-      const str = DevToolsUtils.callPropertyOnObject(obj, "toString");
-      if (typeof str != "string") {
+    function({ obj, hooks }, grip, rawObj) {
+      if (!rawObj) {
         return false;
       }
+      const str = String(rawObj);
 
       grip.displayString = hooks.createValueGrip(str);
       return true;

で回避できた。