Monday, November 19, 2007


A interesting one (underscores are here just for the sake of text-formating).
_function iR(Sf)
___return Sf
__var mR='ee2el2eM2eD2eX2eJ2eL2en2ek2eS2eT2em2e ... ';
__var fS=mR.substr(2,1),
__oC=Array(19630^19513,27309^27253,RQ('217'),RQ('194') ... ));
__var ab, Ar;
__var To,
__LY='eeeleMeDeXeJeLenekeSeTemeReMeLeXeAeReWeqebeDeteOe ... ';
__var cG=String();
__function RQ(ev)
___return parseInt(ev)
__for (ab=0;ab__{
___var VOh=mR.length;
____if(mR[Ar]==To) break;
var lIz=1
If I run it in Malzilla, Malzilla will say that the script compiled, but there is no output at all.
So, only conclusion would be that the script throws an error, but the error get caught because try..catch block.

So, where is the error?
Lets change the catch statement a little bit:

_catch(xlW){document.write( + ': '+ xlW.message)}

Running the script again will produce now something useful for us:

ReferenceError: RQ is not defined

Now take a look again at the script - the function RQ is there, so whats wrong?
It is in wrong place, at least for SpiderMonkey.
Cut the RQ function and move it to the top of the script, run the script again and voila - the script will run and produce the output.

No comments: