BlockAdBlock 리버스 엔지니어링 하기
(xy2.dev)AdBlocker들을 차단하는 Anti AdBlock도구 BlockAdBlock 의 코드 분석
BAB는 로컬에서 미끼광고를 만들어서 차단되는지를 확인
또한 BAB자체를 삭제하지 못하도록 이름을 랜덤하게 변경
uBlock Origin은 eval에 대한 Proxy를 만들어서 BAB를 감지하고 무력화
Brave 브라우저는 네트웍단에서 광고스크립트에 대해선 0바이트 가짜 스크립트를 올려서 BAB가 광고가 차단되었는지를 감지 못하게 함
BAB가 스크립트 차단을 회피하기 위해 광고사이트의 favicon 을 읽는 방식도 시도
→ Brave는 이 마저도 가짜 1x1 아이콘을 올리는 것으로 대응
→ BAB가 favicon의 width를 체크하는 것으로 회피 시도
창과 방패의 싸움같군요. 광고의 차단에 대해서는 여러가지 의견들이 있지만..
기술면에 있어선, 차단하는 방식과 그걸 알아내는 방식의 발전 모두가 모두 흥미롭습니다.
이쪽은 자세히 본적이 없어서, 전 eval 에 대한 proxy를 만드는게 신기했네요.