JavaScript 混淆及反混淆代码工具( 四 )

  • 1.
然而 , 此类混淆器通常会使代码执行/编译速度非常慢 , 因此不建议使用它 , 除非有明显的原因 , 例如绕过网络过滤器或限制 。
反混淆工具现在我们了解了代码混淆的工作原理 , 让我们开始学习反混淆 。正如有自动混淆代码的工具一样 , 也有自动美化和反混淆代码的工具 。
#x01 JSNice
JavaScript 混淆及反混淆代码工具

文章插图
1690200533_64be69d5a8602b1847f67.png!small?1690200534421
我们可以找到许多优秀的在线工具来反混淆 JavaScript 代码并将其转换为我们可以理解的东西 。JSNice是一个很好的工具 。让我们尝试复制上面的混淆代码并通过单击Nicify JavaScript按钮在 JSNice 中运行它 。
示例
如之前代码:
eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||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}('0.1('2 3 4');',5,5,'console|log|Hello|JavaScript|Deobfuscation'.split('|'),0,{}))
  • 1.
使用JSNice进行反混淆得到结果:
JavaScript 混淆及反混淆代码工具

文章插图
1690200718_64be6a8e096777e56e4ee.png!small?1690200718639
混淆注意事项尽管到目前为止 , 这些工具在将代码清理成我们可以理解的内容方面做得很好 , 但一旦代码变得更加模糊和编码 , 自动化工具清理它就会变得更加困难 。如果使用自定义混淆工具对代码进行混淆 , 则尤其如此 。
我们需要手动对代码进行逆向工程 , 以了解它是如何被混淆的以及它在这种情况下的功能 。
本文作者:1cli ,  转载请注明来自FreeBuf.COM




推荐阅读