본문 바로가기

떠들기

안티 안티 애드블록 : 광고차단 탐지를 무효화시키자

1. 계기

애드블록을 해제 안 하면 내용을 안 보여주겠답니다. 그렇다고 잠깐 해제하고 치우기엔 너무나도 괘씸해서요. 코드를 들여다보기로 했습니다.


2. 해킹은 아닙니다.

웹사이트에서 어떻게 여러분의 컴퓨터에 광고차단기가 설치되어 있는지 알 수 있을까요? 만약 여러분이 방문하는 웹사이트가 우리 컴퓨터에 이런 저런 프로그램이 설치되어있는지 알 수 있다면 그건 보안 구멍입니다. 상식적으로 인터넷을 통해 방문했더니 내 컴퓨터를 들여다볼 수 있다는 건 말이 안 되죠.

그렇다면? 컴퓨터에 광고차단 프로그램이 설치되어있는지 알 수 없다면 어떻게 광고차단기가 돌아가는지 탐지하는 걸까요?

안티 애드블록은 광고차단기의 동작 원리를 역이용합니다. 광고차단 프로그램은 아예 광고를 다운받지 않게 차단해버리거든요. 안티 애드블록은 광고와 비슷한 낚시 광고를 준비해놓고, 광고 차단기가 이걸 숨기거나 다운받지 못하게 했는지 확인합니다. 낚시로 준비한 가짜 광고가 사라졌다? 너 애드블록 돌리는구나! 가 되는거죠.

그런데 이 안티 애드블록이란 결국 프로그램입니다. 다만 광고차단기와는 다르게 내 컴퓨터에 설치하는 건 아니고, 여러분이 방문하려는 웹사이트에 같이 들어있습니다. 웹사이트랑 같이 안티 애드블록을 다운받아 버리는 셈이죠... 이런 프로그램을 "자바스크립트" 라고 합니다. 보통 스크립트란 웹사이트의 기능을 보조하기 위해 사용되지만, 이번엔 악용이군요...

그래서 어떻게 적용할 수 있지 않을까 해봤는데, 웹페이지에 쌩으로 프로그램[각주:1]을 박아놨네요. 다른 파일을 다운로드해! 라고 해놨으면 그 파일만 차단하면 그만이었을텐데, 웹사이트의 코드 중 일부로 삽입해놨네요. 경사났네 경사났어... 이러면 다운로드를 막지는 못하죠. 보려는 웹페이지의 다운로드를 막으면 그 페이지 자체를 못 보게 되는걸요. (무슨말인지 알죠? 빈대 잡으려다 초가삼간 태운다는 말입니다.)

스크립트 이름 좀 보소; fuckadblock.js 라니;

그런데, 안티 애드블록은 결국 우리 가 다운받아서 내 컴퓨터에서 실행하게 됩니다. 그말은 뭐다? 우리 통제하에 있다 라는 겁니다.. 그럼 똑같이 우리도 프로그램 만들어서 실행하면 되죠. 어차피 자기 컴퓨터에 다운받아 실행하는 프로그램인 이상, 우리도 하지 말라는 법 없습니다.


3. fuckAdBlock.js

어쩌다보니 알게되었는데요. 우리가 해치워버리려는 광고차단 프로그램 차단기의 프로그램 소스가 공개되어 있네요.

https://github.com/sitexw/FuckAdBlock
https://github.com/sitexw/BlockAdBlock

위 웹사이트도 이걸 쓰고있습니다. (FuckAdBlock)


4. 해결방법

결국 해결하려면 우리도 저걸 무효화시키는 무언가를 실행해야 합니다.

방법은 여러가지입니다. 저야 다른 방법으로 해결했지만 몇 가지 방법이 있는데요.


4-1. 부가기능을 쓰세요.

일반 사용자에게 쉬운 방법입니다.

파이어폭스 부가기능 : 안티-애드블록 비활성화시키는 부가기능
↑ 이거 잘 안 되는 경우가 많네요; 4-2로 갑시다.

크롬 사용자는 직접 찾아보세요. 되는지 확인해볼 생각 없습니다. 크롬이 없거든요. 안 깔 거에요.

+ 2016년 추가 : FuckFuckAdblock이 파이어폭스 부가기능으로 나왔군요.

+ 2018년 추가 : https://jspenguin2017.github.io/uBlockProtector/ Nano Adblocker + Nano Defender 조합이면 된다고 합니다.


4-2. 유저스크립트를 쓰세요.

"유저스크립트" 라는 건 방문하려는 웹사이트에 포함된 "자바스크립트" 말고도 우리 맘대로 직접 만든 "자바스크립트"를 추가해서 실행할 수 있게 해주는 확장기능과, 우리가 맘대로 웹사이트에 쑤셔넣는 그 "자바스크립트" 두 가지를 총칭하는 말입니다.

"안티 애드블락"은 웹 페이지에 포함된 "자바스크립트" 입니다. 이걸 실행하기 전에 우리 "자바스크립트"를 먼저 실행해버리는 방법이 되겠습니다. 유저스크립트를 사용하면 이런 제어도 가능합니다.

다만 이 방법은 수동으로 이것저것 추가해야 하는지라 익숙하지 않다면 조금 어렵습니다. 설치만 하는 건 쉬우니 약간 아래에서 다루겠습니다.

재미있는건 깃헙에서 검색하니 바로 나오더군요....

> FuckFuckAdBlock (FuckAdBlock 만 대상으로 함)
> 안티 애드블록 킬러 << 얘가 더 나아보임 (안써봤어요)

잡담 : 더보기


5. 안티 애드블록 킬러를 설치해보자

4.2 절에서 언급했던 안티 애드블록 킬러 라는 유저스크립트를 설치해봅시다. 여기에 나와있는데, 영어가 힘드신 분들을 위해...


1. 스크립트 매니저를 설치합니다.

얘내들은 우리 맘대로 만든 "자바스크립트"를 특정 웹사이트에서 실행할 수 있게 해주고, 이 "자바스크립트" 들을 관리해주는 브라우저 확장기능입니다.

파이어폭스 >> 그리스몽키
크롬 >> 탬퍼몽키
오페라 >> 탬퍼몽키
크롬, 오페라 >> 닌자킷

파이어폭스 쓰시는 분들은 잊지 말고 파이어폭스를 껐다키세요. 그리스몽키는 설치할 때 재시작이 필요한 부가기능입니다.


2. 애드블록 차단 리스트에 차단 추가

http://reek.github.io/anti-adblock-killer/subscribe.html


아차, "안티-애드블록 킬러" 는 애드블록 자체의 기능도 활용합니다. 애드블록용 필터를 하나 구독해야 합니다.

subscribe 버튼을 눌러서 차단 목록에 추가하세요.


3. 스크립트 프로그램을 설치하세요.

https://raw.githubusercontent.com/reek/anti-adblock-killer/master/anti-adblock-killer.user.js

때가 되었습니다. 광고 차단 차단 차단기 "유저스크립트" 를 설치합시다.

파이어폭스라면, 링크를 클릭하시면 이렇게 뜰 겁니다. 저 버튼을 눌러서 설치하시면 돼요. 이러면 저 "자바스크립트" 를 썰워스트 웹사이트에 삽입해서 실행하게 됩니다. 이게 실행되면 광고 차단 차단기를 무력화시키는 거죠.

그리고 테스트로 썰워스트에 들어가봅시다.



오 예

(이쯤되면 저 사이트의 내용 따위는 관심이 전혀 없지만서도- 일단 테스트로 들어가본거죠.)


5. 안티 애드블록은 무의미하다

어차피 사용자의 컴퓨터를 해킹할 수 없는 이상, 광고 차단 프로그램이 여기 나 설치돼있어요! 하고 웹사이트에 알려줄 일은 없습니다. 그러니 결국 여러분의 컴퓨터에 다운받아서 실행할 수 밖에 없는데, 그렇게되면 안티 애드블록이 실행되는 것조차 실행하는 컴퓨터, 즉 우리의 통제하에 있게 됩니다. 애초에 막아봤자 막는게 실행 안 되게 하면 된다는거죠.

그러니, 차라리 비침입형 광고를 하세요. 글 보는데 방해될 정도로 광고가 있으면 누가 그 광고를 볼까요.


  1. 자바스크립트 코드 [본문으로]
  • 창과 방패의 싸움에서는 창이 이길 수 밖에 없습니다.

    뚫리면 그걸 막고
    또 뚫어내면 그걸 또 막고 반복할뿐이죠.

    • 이 경우는 방패를 창이 뚫었는데 또 다른 방패로 막은 경우겠군요. 그렇다면 창이 날아왔는데 하필이면 집 앞에 떨어져있어서 그저 주워서 쓰레기통에 버렸다... 정도로 생각하면 되겠군요.

  • 외국 사이트들, 특히 광고로 수익얻는 사이트에서는 저런 안티에드블록같은 스크립트가 흔하더군요
    재밌는건 윈도우태블릿 등의 저사양 컴에서는 컴퓨터 리소스를 덜 차지하기 위해 애드블록같은 걸 쓰는데
    오히려 그걸 쓰면 플러그인 구동하느라 더 느려지더군요
    그래서 저사양 윈탭에서는 그냥 생 ie11 씁니다. 크롬 파폭보다 훨빨라요. 이유를 모르겠네요

  • 헤에.. 저런 곳도 있나요. XX끼들이네요.(자라나는 어린 양들을 위해 자체처리)
    근데 저경우엔 자바스크립트만 끄면 되는 것 아닌가요?

    Tab Mix Plus에서 자바 스크립트 끌 수 있는데 적용하면 되려나...

    여튼 저런 곳은 처음보네요.. 아 그러고보니 다른데서 '님 제발 저 돈 좀 벌게 광고 차단 좀 꺼주세요 엉엉'하면서 빌던 곳은 기억나네요.

    근데 죄없는 많은 사람들이 알아서 돈을 들이밀어 줄텐데, 그 속셈 다 아는 나까지 그럴 이유가 없다는 생각에 가차없이 차단했던 기억이 나네요.

    • 수익자 입장에서는 당연한 거겠죠. 땅 파서 영업하는게 아니니까요. 다만 이용자를 불편하게까지 하면서 그런 건 이용자로부터 반감을 살 테니 좀 아닌가 싶습니다.

  • 우우우 2016.04.24 21:25 신고 댓글주소 수정/삭제 댓글쓰기

    감사합니다 사업 번창하세요:)

  • 츠네 2016.04.25 22:47 신고 댓글주소 수정/삭제 댓글쓰기

    옙 수정하고왔습니다.

  • 좋은정보 주셔서 감사합니다. 항상 광고가 짜증나게나오는곳은 다 막아놓던데 덕분에 좀 편하게 하겠네요

  • ㄴㅁㅇㅁㄴㅇ 2016.04.27 10:47 신고 댓글주소 수정/삭제 댓글쓰기

    마루마루란곳 에드블록안되서 여기 참고했어요

    • 저도 잘 알고있습니다만 망가우마루 얘기는 꺼내지 않아주셨으면 좋겠어요. 다른 분들도 마찬가지구요. 이유야 뭐,,, 설명하지 않아도 다들 아실겁니다.

      덧붙이자면 저는 그 사이트를 이용하지 않습니다. (제가) 완전히 깨끗하지는 않지만, 가능하면 더욱 편리한 정식 루트를 사용하는 편이구요.

  • 비밀댓글입니다

  • 광고꺼져 2016.09.05 09:40 신고 댓글주소 수정/삭제 댓글쓰기

    TV광고까지 완벽하게 차단하는 기술이 개발되면 좋겠습니다.
    각종 찌라시 광고들 정말 짜증납니다. 지긋지긋해요 차단하면 좋겠습니다.

  • 굿굿 2016.11.06 07:49 신고 댓글주소 수정/삭제 댓글쓰기

    정말 훌륭한 포스팅 입니다. 고맙습니다!

  • 많이 좋아졌네요. 2016.11.06 20:18 신고 댓글주소 수정/삭제 댓글쓰기

    그냥 들어가서 Subscribe 누르니 자신이 쓰고있는 애드블럭에 자동으로 추가되네요.

  • 지나가다 2017.08.19 16:16 신고 댓글주소 수정/삭제 댓글쓰기

    요즘은 안되는 곳도 많더군요. 그래서 애드x드 구매해서 사용중입니다.

  • ADP가 비침입형 광고는 허용하는줄 처음알았네요. 실제 구동이 되는지는 의문이지만요..

  • ㅇㅇ 2018.01.24 16:06 신고 댓글주소 수정/삭제 댓글쓰기

    새로운 방법같은데.. www.detectadblock.com/ads.js 을 통해 광고를 차단하더라고요. 위 방법들로 막히지 않음 ㅠ

  • ㅇㅇ 2018.01.24 16:41 신고 댓글주소 수정/삭제 댓글쓰기

    헉.. 한참동안 헤메고있었는데 감사합니다! 댓 달아주실지도, 해결해주실지도 몰랐습니다. 다시한번 감사말씀드립니다

    • 과도하게 광고차단기를 돌리는 사이트는 아예 가질 않으니까 몰랐는데 덕분에 본문 갱신할 수 있었습니다. 감사합니다.

      검색하니까 금방 나와서 다행이더라구요!

  • ㅇㅇ 2018.06.15 02:47 신고 댓글주소 수정/삭제 댓글쓰기

    방패가 튼튼해서 헤매고 있었는데 죽창을 찾았네요 감사합니다