我如何解码eval明智的Javascript

时间:2018-01-15 04:15:44

标签: javascript eval decode

我想在博客博客网站上使用模板。但模板有js编码的js(明智的)...... 我不知道如何解码...

Code Simple(不是原始代码):

eval(function(w,i,s,e){var lIll=0;var ll1I=0;var Il1l=0;var ll1l=[];var l1lI=[];while(true){if(lIll<5)l1lI.push(w.charAt(lIll));else if(lIll<w.length)ll1l.push(w.charAt(lIll));lIll++;if(ll1I<5)l1lI.push(i.charAt(ll1I));else if(ll1I<i.length)ll1l.push(i.charAt(ll1I));ll1I++;if(Il1l<5)l1lI.push(s.charAt(Il1l));else if(Il1l<s.length)ll1l.push(s.charAt(Il1l));Il1l++;if(w.length+i.length+s.length+e.length==ll1l.length+l1lI.length+e.length)break;}var lI1l=ll1l.join('');var I1lI=l1lI.join('');ll1I=0;var l1ll=[];for(lIll=0;lIll<ll1l.length;lIll+=2){var ll11=-1;if(I1lI.charCodeAt(ll1I)%2)ll11=1;l1ll.push(String.fromCharCode(parseInt(lI1l.substr(lIll,2),36)-ll11));ll1I++;if(ll1I>=l1lI.length)ll1I=0;}return l1ll.join('');}('','','','3cec1244c096c198fd3597fccab5ca32'));

我的问题是,如何解码这种类型的js?

2 个答案:

答案 0 :(得分:2)

您可以将该函数放入任何javascript解释器中,以查看传递给eval的内容。您只需将eval(...)替换为console.log(...)

即可

我在这里做了:https://repl.it/repls/LuminousChocolateMallard

生成eval-ed代码的代码似乎创建了一个无限循环。

答案 1 :(得分:-1)

基本上,eval()是全局对象的函数属性。

eval()函数的参数是一个字符串。如果字符串表示表达式,则eval()计算表达式。如果参数表示一个或多个JavaScript语句,则eval()会对语句进行求值。不要调用eval()来计算算术表达式; JavaScript会自动评估算术表达式。

在您的代码中,您只需删除eval并使用

取消功能

parent is a row or a column

它会使你的功能无法通知。当我这样做时,我得到了这个。

function(w, i, s, e) {
var lIll = 0;
var ll1I = 0;
var Il1l = 0;
var ll1l = [];
var l1lI = [];
while (true) {
    if (lIll < 5) l1lI.push(w.charAt(lIll));
    else if (lIll < w.length) ll1l.push(w.charAt(lIll));
    lIll++;
    if (ll1I < 5) l1lI.push(i.charAt(ll1I));
    else if (ll1I < i.length) ll1l.push(i.charAt(ll1I));
    ll1I++;
    if (Il1l < 5) l1lI.push(s.charAt(Il1l));
    else if (Il1l < s.length) ll1l.push(s.charAt(Il1l));
    Il1l++;
    if (w.length + i.length + s.length + e.length == ll1l.length + l1lI.length + e.length) break;
}
var lI1l = ll1l.join('');
var I1lI = l1lI.join('');
ll1I = 0;
var l1ll = [];
for (lIll = 0; lIll < ll1l.length; lIll += 2) {
    var ll11 = -1;
    if (I1lI.charCodeAt(ll1I) % 2) ll11 = 1;
    l1ll.push(String.fromCharCode(parseInt(lI1l.substr(lIll, 2), 36) - ll11));
    ll1I++;
    if (ll1I >= l1lI.length) ll1I = 0;
}
return l1ll.join('');
}('', '', '', '3cec1244c096c198fd3597fccab5ca32');

以获取更多参考:http://unminify.com/