BlockAdBlockのリバースエンジニアリング
(xy2.dev)AdBlockerをブロックする Anti AdBlock ツール BlockAdBlock のコード分析
BABはローカルでおとり広告を作成し、それがブロックされるかを確認
さらに、BAB自体を削除できないように名前をランダムに変更
uBlock Originはevalに対するProxyを作成してBABを検知し、無力化
Braveブラウザはネットワーク層で広告スクリプトに対して0バイトの偽スクリプトを返し、BABが広告がブロックされたかどうかを検知できないようにする
BABはスクリプトブロックを回避するために、広告サイトの favicon を読む方式も試行
→ Brave はこれに対しても偽の1x1アイコンを返すことで対応
→ BABはfaviconのwidthをチェックすることで回避を試みる
1件のコメント
まるで矛と盾の戦いのようですね。広告のブロックについてはさまざまな意見がありますが……
技術面では、ブロックする方式とそれを見破る方式の発展の両方がどちらも興味深いです。
こちらは詳しく見たことがなかったので、
evalに対する proxy を作るのが面白いと思いました。