【问题标题】:Deobfuscation of minified JS with source maps [closed]使用源映射对缩小的 JS 进行反混淆[关闭]
【发布时间】:2015-04-05 23:11:04
【问题描述】:

源映射能否帮助对之前使用 Closure/Uglifyjs 缩小的代码进行去混淆处理?

源地图的工作方式是否存在真正的障碍,或者仅仅是因为没有人关心它?我不太确定它是否可以以类似于调试编译语言(广泛用于反编译二进制文件)中的符号的方式工作。

我对从开发人员的角度给出的答案感兴趣。很高兴知道未经授权的源映射访问是否可能导致不受阻碍的代码借用。

【问题讨论】:

  • 答案是“是”。

标签: javascript minify source-maps deobfuscation


【解决方案1】:

JavaScript 源映射与编译语言中的调试符号非常相似。事实上,Source Map Revision 3 Proposal 的三个既定目标中有两个是:

  • 支持源级调试,允许双向映射
  • 支持服务器端堆栈跟踪去混淆

因此,未经授权访问源地图肯定会导致去混淆。

有一个名为 maximize 的 Node 包,它可以使用源映射对缩小的 JavaScript 进行反混淆。

请注意,当前版本的最大化 (0.0.1) 不适用于 falafel 1.0.0+。您将需要克隆 maximize git repo 并进行以下更改:

--- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ }, “依赖”:{ "argparse": "*", - “沙拉三明治”: ”*”, +“沙拉三明治”:“0.3.1”, “js-beautify”:“*”, “序列”:“*”, “源地图”:“*”

这将允许您尝试最大化示例:
http://dev.fontdragr.com/scripts/scripts.js

另见:Can I re-construct the original JavaScript source file from a minified version and the corresponding source-map file?

【讨论】:

  • 这正是我所寻找的,我将用我的项目对其进行测试,谢谢。
猜你喜欢
  • 2012-02-08
  • 1970-01-01
  • 1970-01-01
  • 2012-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多