js混淆代码还原-js反混淆:利用js进行赋值实现

Posted Bonker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js混淆代码还原-js反混淆:利用js进行赋值实现相关的知识,希望对你有一定的参考价值。

先贴一个混淆后的测试代码:

eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!‘‘.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);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;}(‘1("0-6");2 4(){1("0-5")}8 3=2(){1("0-7")};4();3()‘,9,9,‘忧郁的匹格|alert|function|b|a|反混淆测试2|反混淆测试1|反混淆测试3|var‘.split(‘|‘),0,{}))

反混淆方法

  1. 新建一个网页xxx.html
  2. 加入一个div容器id="divTest"
  3. 赋值执行:(在上面混淆的代码中,将eval()中的内容提取出来赋值(或直接打印)给document.getElementById(‘divTest‘).innerText )
document.getElementById(‘divTest‘).innerText=function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!‘‘.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);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;}(‘1("0-6");2 4(){1("0-5")}8 3=2(){1("0-7")};4();3()‘,9,9,‘忧郁的匹格|alert|function|b|a|反混淆测试2|反混淆测试1|反混淆测试3|var‘.split(‘|‘),0,{})

 

  1. 打开xxx.html 显示结果:(反混淆后的代码已经被压缩了,去掉了换行等字符)
alert("忧郁的匹格-反混淆测试1");function a(){alert("忧郁的匹格-反混淆测试2")}var b=function(){alert("忧郁的匹格-反混淆测试3")};a();b()

 

以上是关于js混淆代码还原-js反混淆:利用js进行赋值实现的主要内容,如果未能解决你的问题,请参考以下文章

使用VBA进行JS反混淆,还原JS代码。

这段JS代码用了混淆,有很多![]+,请帮忙还原。

JS代码混淆了,怎么反混淆回去?

一种基于编译器的的JS混淆及反混淆方案

js代码反混淆之ast的使用

python 的混淆后的代码可以还原么