Wednesday, January 14, 2009

Interview With an Adware Developer

Check out this great interview with an adware developer. (thanks for the link, Adam)

Lots of juicy technical details in this interview. It's been years since I worked with Windows code but some parts were familar:

IE has a mechanism called a Browser Helper Object (BHO) which is basically a gob of executable code that gets informed of web requests as they’re going. It runs in the actual browser process, which means it can do anything the browser can do– which means basically anything. We would have a Browser Helper Object that actually served the ads, and then we made it so that you had to kill all the instances of the browser to be able to delete the thing.

Back in my WebTaggers days we used the BHO api as well. When the BHO interface first came out, there were all these wonderful ideas that it generated, like "you could load a bunch of post-it notes created by you and your friends every time you visit a web page!" - but the BHO turned out to be more widely employed by the dark side. I have to wonder if MS really considered the potential to use the BHO as more of weapon than a tool when they were designing it.

And other stuff like this reinforces my position that Windows is a threat to public health:

...The Win32 API is fundamentally Ascii. There are strings that you can express in 16-bit counted Unicode that you can’t express in ASCII. Most notably, you can have things with a Null in the middle of it.

That meant that we could, for instance, write a Registry key that had a Null in the middle of it.
Because of that, we were able to make registry keys that were invisible or immutable to anyone using the Win32 API. Interestingly enough, this was not only all civilians and pretty much all of our competitors, but even most of the antivirus people.

Then he drops this awesomebomb:

Eventually, we got sick of writing a new C program every time we wanted to go kick somebody off of a machine. Everybody said, “What we need is something configurable.” I said, “Let’s install a Turing-complete language,” and for that I used tinyScheme, which is a BSD licensed, very small, very fast implementation of Scheme that can be compiled down into about a 20K executable if you know what you’re doing.

I wonder if he released his improvements to tinyScheme as open source.

Anyways I recommend reading the entire interview.


  1. Thanks a lot for writing about useful, good subject. It needs to know that outsourcing software development could help in your business by installing customized software solutions.

  2. Thank you for sharing with useful info. It is required to know that ipad application developer could help in your business by installing customized software solutions.

  3. There are many aspects about the job.

    seo reseller

  4. I bet the interview went well. I like the smoothness of the flow of the interview. Great job.
    seo packages

  5. Thank you a lot for providing individuals with a very spectacular possibility to read critical reviews from this site.
    java training in bangalore java training in bangalore

  6. Concepts are very clear. Thank you for sharing such a valuable content. we are very happy to receive such a nice one Thank you... Java Training in Chennai


  7. Thanks for sharing this informative article..!!
    Keep posting waiting for next post
    Java Training in Bangalore
    iOS Training in Bangalore

  8. Positive site, where did u come up with the information on this posting?I have read a few of the articles on your website now, and I really like your style. Thanks a million and please keep up the effective work. R Programming institutes in Chennai

  9. Awwsome informative blog ,Very good information thanks for sharing such wonderful blog with us ,after long time came across such knowlegeble blog. keep sharing such informative blog with us. Aviation Courses in Chennai | Best Aviation Academy in Chennai
    Aviation Academy in Chennai | Aviation Training in Chennai | Aviation Institute in Chennai


  10. Awwsome informative blog ,Very good information thanks for sharing such wonderful blog with us ,after long time came across such knowlegeble blog. keep sharing such informative blog with us.
    Airport Management Courses in Chennai | Airport Management Training in Chennai | Diploma in Airport Management Course in Chennai | Airlines Training Chennai | Airline Academy in Chennai

  11. Brilliant ideas that you have share with us.It is really help me lot and i hope it will help others also.update more different ideas with us.
    Cloud computing Training Bangalore
    Cloud Computing Training in Nolambur
    Cloud Computing Training in Saidapet
    Cloud Computing Training in Perungudi

  12. Thanks for your sharing such a useful information. this was really helpful to me.

    Guest posting sites

  13. This is an awesome post.Really very informative and creative contents. These concept is a good way to enhance the knowledge.I like it and help me to development very well.Thank you for this brief explanation and very nice information.Well, got a good knowledge.
    Hadoop Training in Chennai
    Big Data Training in Chennai
    Big Data Training
    CCNA Training in Chennai
    CCNA course in Chennai
    CCNA Training institute in Chennai

  14. Thanks for the information, Get the best RPA Training in Chennai from Hope Tutors.

  15. Your blog on RPA is so attractive that i am not able to stop myself to read this blog of yours on RPA.This blog contains all the important topics and points of RPA. Requesting you keep updating this post on RPAand help them who is eager to gain knowledge on RPA.
    Thanks and Regards,
    Uipath training in chennai
    blue prism training institute in chennai
    blue prism training with certification in chennai

  16. Your blog is so inspiring for the young generations.thanks for sharing your information with us and please update more new ideas.
    Selenium Certification Training in OMR
    Selenium Training in Perungudi
    Selenium Training in Guindy
    Selenium Training in Saidapet