I need to get all I can out of my impression program and I wonder if there is a 'anti-popup-killer script' out there that will kill the popup killer script, or if one can be written.
*Kimmykim*
02-02-2002, 11:47 AM
If someone can write it, someone else can anti-write it ;)
I bet it would make a heck of an affiliate program ;)
keyman
02-04-2002, 09:47 PM
Zet, the answer to you question is yes. But, before I get into that I'm going to ramble on a
bit about popup and banner killers, what types there are and how they work. Just ignore the
technical jargon if you don't understand it.
First thing worth mentioning is that web filters rely heavily on webmaster
predictability. There are two main types of filter software around today, proxy/bypass
filters and browser control filters. Most of the ones I've seen are simply proxies.
Here are a few of the popular ones:
-AdSubtract (Proxy)
-WebWasher (Proxy)
-Junkbuster (Proxy)
-Norton Internet Security (NDIS/TDI Level Proxy)
Most of the standalone pop-up* killers are actually browser hookers, they use the automation
interface in IE (OLE) to control new loading windows.
Most webmasters can avoid banner filters by changing the way they name thier directories/folders.
A proxy might be looking through some html and might see an image tag, something like this:
<IMG SRC="http://www.myserver.com/banners/banner1.gif">
Automatically it will assume its a banner and delete the code from the HTML file. This is called
pattern matching. The most common things it will look for are, /banner*,/ads*,banner*.gif/jpg,
advertising,ad*.myserver.com,/sponsor*. Some are actually smart enough to look for images that
link to a another site with a '?' query string (similar to what your sponsors give you as link code).
Another common filter technique is to look at the size and shape of the image. Banners today have
taken on formal sizes, so its no hard task for banner filters to look at them and tell its a banner.
The solution to this is to get away from formal banner sizes and even stop using WIDTH and HEIGHT
properties in the image tag, even 1 pixel less either side can prevent banners being filtered.
Again, filters rely on the webmasters doing things predictably (and they do). A banner is just an image
on your page like any other.
Pop-up blocking is done much the same way, except its really a no brainer. You have 1 mechanism for
creating popups, that is the window.open() method. You have 1 mechanism for launching scripts when
the browser loads or unloads the page, that is the OnLoad and OnUnload keywords in your <BODY> tag.
The filter simply looks for the words on the page and deletes them if they're inside a scriptable area.
Now that you understand all that, I'll explain how I found a way to get around entry/exit popup and
banner filters. As I've explained, these filters simply look for certain words.. if it doesn't find the
the word it won't change anything. They aren't that smart really :).
<SCRIPT LANGUAGE="javascript">
var bd=new String();
bd="=CPEZ!CHDPMPS>$111111!UFYU>$GGGGGG!PoVompbe>ibwf`b `qpqvq)*?";
td="=TDSJQU!MBOHVBHF>kbwbtdsjqu?gvodujpo!ibwf`b`qpqvq) *|xjoepx/pqfo)(iuuq;00xxx/zbipp/dpn(-((-(uppmcbs>zft-nfovcbs>zft-mpdbujpo>op-ifjhiu>561-xjeui>311-mfgu>54 1(*<~=0TDSJQU?";
function d(x)
{
var s=x.length,t=0,y=new String();
while(t!=s){y+=String.fromCharCode((x.charCodeAt(t )-1));t++;}
return y;
}
document.write(d(bd));
document.write(d(td));
</SCRIPT>
<NOSCRIPT>
<BODY BGCOLOR="#000000">
</NOSCRIPT>
The above script contains a body tag and some exit popup code that opens up a window to yahoo.com (lucky them).
The code has been encoded or you could call it a simple method of encryption. For simplicity I've just added
1 to every character. When the code is run, the function (d) will decode it. The filters still aren't smart
enough to be able to recognise this, I've tested it with WebWasher and JunkBuster, they where both unable to
filter this. There are two exceptions.. if the user has javascript disabled all together it will not work, if
they're using one of the browser hooker type filters I spoke about, it may not work.
The above code not encoded would look like this:
<BODY BGCOLOR=#000000 TEXT=#FFFFFF OnUnload=have_a_popup()>
<SCRIPT LANGUAGE=javascript>function have_a_popup(){window.open('http://www.yahoo.com','','toolbar=yes,menubar=yes,locatio n=no,height=450,width=200,left=430');}</SCRIPT>
We can use this technique to hide almost anything we want from filters. We can create a banner that us very difficult to filter out, something like:
<SCRIPT LANGUAGE=javascript>
document.write(d("=B!ISFG>#iuuq;00jnbhft/cboofs3/dpn0cboofs3#?=JNH!TSD>#iuuq;00jnbhft/cboofs3/dpn0cboofs#!CPSEFS>1!BMU>#3#?=CS?3=0B?"));
</SCRIPT>
<NOSCRIPT>
<A HREF="http://images.banner2.com/banner2"><IMG SRC="http://images.banner2.com/banner" BORDER=0 ALT="2"><BR>2</A>
</NOSCRIPT>
I've added this functionality to my random banner rotator.
Note, This is intended for programmers only.. it doesn't come with any instructions on how to compile or use it.
SSI/CGI banner rotator C source (*nix/Win32)
http://fubar.6-media.com/banner.c
It doesn't use standard text files for the banner data.
Win32 gui to create rotator data files (VB6, source only)
http://fubar.6-media.com/bm09.zip
vBulletin® v3.7.3, Copyright ©2000-2012, Jelsoft Enterprises Ltd.