Stop AdBlock Plus!

Before it kills your revenue...

What is AdBlock Plus?

From their website:
Annoyed by adverts? Troubled by tracking? Bothered by banners? Install Adblock Plus now to regain control of the internet and change the way that you view the web. You can also choose from over forty filter subscriptions to automatically configure the add-on for purposes ranging from removing online advertising to blocking all known malware domains.

Can we stop them?

You as the content owner would also like to assert your copyright over the material. Web site AD is critical to protect these revenues so content creators have incentives to produce interesting content. Obviously litigation will lead you nowhere!

Some ideas

I have written a tool in Python to scan HTML, the AD material and the URLs serving them are identified and partially encrypted. When the client makes a request for the main document, the partially encrypted version of the document is sent that will later be decrypted (via Javascript). The non encrypted parts will contain links (or other information) to the advertisement, all non-advertisement, non-script information inside the HTML body is encrypted. When the browser renders the document, the content appears scrambled and unintelligible. A typical browser (that is not using adblock) will then attempt to download the ads as these are the only links in the document. When a request to download the ad is made, a decryption key is sent as a cookie (or other means). Eventually all ads will be downloaded and a page load event is generated. A special javascript function will be called when this event is triggered. This function will have access to the secret key that was sent, using which the document is decrypted. After this, the entire document tree is traversed and verified - that all the objects have been loaded (one such mechanism is using checksums), otherwise the decrypted page will not be rendered and instead an error message will be displayed.

Some Issues

  • What about the search engines indexing? - Can probably be solved by detecting the search engine. Moreover, the page is partially encrypted.
  • What about performance? - I am using RC4, 128bit keys the base64 encoding it and it pretty snappy.
  • Can I use this with dynamic content? - This is easy, send me an email if you are interested in doing this.
  • Can I control which parts are encrypted? - Yes, if you hand code the <div> sections. The demo tool will not do this for you.

Demos

For the demo to work correctly, we need server side support (PHP), since I cannot get this from Rutgers, here is a static demo page.

Please contact me if you are interested with the tool