정말 해괴한 자바스크립트

개요

광고는 때로는 우리를 짜증나게 할 때도 있다.

 

일부 불법 스트리밍 사이트에 있는 광고나, 혹은 다른 광고들이 달갑지 않을 때가 있다.

 

혹은 주소의 정체를 보이고 싶지않아서, 해석하기 어렵게 난독화를 하는 스크립트도 있다.

 

따라서 오늘 새벽내내 스크립트들을 여러가지 확인해 보았다.

 

 

오늘의 스크립트

1) Fuck Adblock

 

Fuck Adblock 은 광고차단 스크립트 혹은 부가프로그램인 Adblock 계열이 감지되면 차단하는 스크립트다.

 

 

 

위와 같은형식으로 스크립트를 불러오면 작동을 한다. 물론 스크립트 실행을 위한 값들에 대해서는 직접 추가해야 되지만.

 

하지만 되게 특이하였다.

 

 

 

 

 

js/ads.js 에서 canrunads 값이 true 로 기본값이며 값이 true 가 유지면 그대로 스크립트를 나가지만, 이 값이 adblock 계열등에 의해(즉, ads.js 라는 자바스크립트가 실제 광고가 아님에도 차단)차단이 되어 undefined가 되면 false 로 나가서 body 부분을 제거하는 초강수를 두었다.

 

차단 계열은 광고 블록하는 계열의 스크립트가 ads 라는 단어를 인식할 때 해당 내용을 아예 클라이언트 단에서 차단하는것을 역으로 이용한 것이다.

 

실제 광고성 내용의 스크립트가 포함된게 아니라, 일부러 광고 차단 프로그램에 의해 감지하라고 내용물을 집어넣은 것이기 때문에 해당 부분만 예외처리로 허용하면 쉽게 우회할 수 있다.

 

 

내가 알아본 사이트는 스크립트를 4개정도로 심어놓아 대부분의 Adblock 계열을 body 부분을 삭제하는것으로 보인다.

 

이것을 뚫기 위해서 부단히 노력을 했었다.

 

 

 

2) 단축URL 계열 307 redirect?

 

onclick 을 할 경우 return move 값에 대해서 변동을 주는것으로 보인다.

 

 

3) base64 encode 계열 video 소스 난독화?

 

비디오 URL 주소를 보이지 않게 하기 위해 base64 로 인코딩을 하고 source 값에 URL을 넣는것으로 보이고 있다.

 

 

4) googlevideo.com 주소 파싱?

 

위 스크립트는 약 2~30분 주기로 인코딩된 내용이 바뀐다. 즉, 구글드라이브 등으로 저장된 영상의 주소를 시간마다 파싱해와서 그걸 적용하는 방식인데, 어떻게 감지를 하는지에 대해서 검색을 해봐야 할 듯 하다.