It appears to be seeding a random number generator with your mouse movements.(它似乎是用鼠标移动播种随机数生成器。)
The mouse move handler itself does something along the lines of the following:(鼠标移动处理程序本身可以执行以下操作:)
var b = ((event.X << 16) + event.Y) * (new Date().getTime() % 1000000);
c = c * b % d;
if (previousMouseMoveHandler) previousMouseMoveHandler.call(arguments);
d
is (screen.width * screen.width + screen.height) * 1000000
, and c
is a variable that starts out as 1.(d
是(screen.width * screen.width + screen.height) * 1000000
, c
是一个以1开头的变量。)
All of this is wrapped in the scope of an anonymous function, which itself is immediately evaluated to return a function that is assigned to a property named "random".(所有这些都包含在匿名函数的范围内,该函数本身立即被评估以返回分配给名为“random”的属性的函数。)
That returned function looks something like this:(返回的函数看起来像这样:)
var b = c;
b += parseInt(hash.substr(0,20), 16);
hash = MD5(hash);
return b / (d + Math.pow(16, 20));
hash
, BTW, is a variable that starts out as the MD5 hash of the page's cookies, location, the new Date().getTime()
, and Math.random()
.(hash
,BTW,是一个变量,以页面的cookie,位置, new Date().getTime()
和Math.random()
的MD5哈希开始。)
(Note, of course, that Google may change the script returned at any time and hence invalidate this analysis)((请注意,Google当然可以随时更改返回的脚本,从而使此分析无效))
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…