如何对JavaScript进行反混淆

25

1
https://dev59.com/tHRA5IYBdhLWcg3wzhNY - NimChimpsky
http://www.strictly-software.com/unpacker - Marek Sebera
3个回答

33

http://jsbeautifier.org/ 像个魔术一样好用。

大多数以GPL许可证分发的软件也会提供非压缩代码。


它不会解密变量名称。 - Green
@Green 怎么做到呢?你需要给它一个原始变量名和其混淆对应的列表。 - clayRay
1
@clayRay 您是正确的。请查看源代码映射。https://www.html5rocks.com/en/tutorials/developertools/sourcemaps/ - Bob9630
@Bob9630 谢谢,非常有趣!自从2012年写这篇文章以来,这个想法被更广泛地采纳了吗?我已经在谷歌上搜索过了,似乎还是主要是Mozilla的事情。有人为DotNet创建了一个NuGet包,但这似乎仍处于原型阶段。 - clayRay
1
@clayRay 源映射至少被 Firefox、Safari、Chrome(和 Opera)、IE/Edge 支持。此外,浏览器之外还有很多可用的工具(许多在 npm 上);从我的经验来看,我也知道有一个 Python 实现,如果你最喜欢的语言中有实现,我也不会感到惊讶。 - Rob W

5
我使用JetBrains的WebStorm作为我的JavaScript集成开发环境,它具有自动格式化功能,似乎可以很好地完成任务。

1
同时在PhpStorm中也可以实现。菜单栏选择“代码”->“重新格式化代码”或使用快捷键Ctrl+Alt+L。 - newman

2

Chrome浏览器自带的对象检查器可以为您格式化JS代码,但它无法理解变量名称-什么都不会显示。

如果您需要在线解决方案,请使用JSBeautifier。它运行良好,并且对于理解在StackOverflow上看到的一些问题也非常有用。


“nothing will” 我的意思是一个人通过代码进行步进。也许拥有一个“填补人类已知值的工具”会很不错。 - Att Righ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接