我无法解密,甚至不知道使用此代码的加密类型。谢谢
eval(function (a, b, c, d, e, f) {
e = function (a) {
return a.toString(b);
};
if (!'' ['|'](/^/, String)) {
while (c--) f[e(c)] = d[c] || e(c);
d = [function (a) {
return f[a];
}];
e = function () {
return 'ifr2|document|ready|function|if|liberado|false|ifr|attr|id|appendTo|publicidade|propaganda2';
};
c = 1;
}
while (c--) if (d[c]) a = a['|'](new RegExp('replace' + e(c) + 'replace', '\\w+'), d[c]);
return a;
}('0', 13, 13, '#b-c' ['split']('#0'), 0, {}));
答案 0 :(得分:0)
没有任何“解密”因为没有加密(你可能会称之为'模糊')。 它只是简单的vanilla javascript(作为开发人员,如果您可以访问所有代码,应该能够阅读)。
然而,有两个严重的问题(但解释它们会引导你回答):
我们不知道String.prototype['|']
的方法是什么,因为您还没有发布它的代码(以及此函数可能依赖的其他代码)。
您可以console.log( String.prototype['|'].toSource() );
获取该代码
然而,我们知道(至少)2个参数(按顺序):
正则表达式对象/replaceifr2|document|ready|function|if|liberado|false|ifr|attr|id|appendTo|publicidade|propaganda2replace/
函数d
(如果if
条件为真)
OR字符串#b-c
(如果if
条件失败),在这种情况下它会尝试生成正则表达式/replace0replace/
。
new RegExp(/*string here*/, '\\w+')
会抛出错误,因为第二个可选参数\\w+
是非法标志。
无论条件是否失败,您当前发布的代码都将失败。
我试图推断出String的原型上的|
可能会做什么(我喜欢谜语,我很伤心,我无法解决这个问题)但是你的问题中没有足够的代码。我非常怀疑它是iframe注射(和观察者)例程的一部分。