我该怎么解密这个JS?

时间:2012-07-10 12:20:36

标签: javascript

如何解码这个JS?我知道它做了什么(用警告检查它)并想要解密和编辑它。我该怎么办?

这是什么类型的加密?我知道那里有很多解密器,但没有一个能够解密这个解密器。

BTW我是新手。

function xViewState() {
    var a = 0,
        m, v, t, z, x = new Array('9091968376', '8887918192818786347374918784939277359287883421333333338896', '877886888787', '949990793917947998942577939317'),
        l = x.length;
    while (++a <= l) {
        m = x[l - a];
        t = z = '';
        for (v = 0; v < m.length;) {
            t += m.charAt(v++);
            if (t.length == 2) {
                z += String.fromCharCode(parseInt(t) + 25 - l + a);
                t = '';
            }
        }
        x[l - a] = z;
    }
    document.write('<' + x[0] + ' ' + x[4] + '>.' + x[2] + '{' + x[1] + '}</' + x[0] + '>');
}
xViewState();

1 个答案:

答案 0 :(得分:0)

这不是加密,而是混淆。现在你知道它写出了什么,失去了混淆,然后写出你想要的东西......

document.write('<style undefined>.yourstylename{position:absolute;top:-9999px}</style>');

混淆的工作原理是简单地列出所涉及的所有内容的ASCII码,偏移约20(每个数组元素不同),表示为2位十进制数。这是非常基本的。

因此:

"style"
-> 115, 116, 121, 108, 101 (ASCII codes)
-> 90, 91, 96, 83, 76 (offset of 25 in this case)