【问题标题】:Google Closure decompiler?谷歌关闭反编译器?
【发布时间】:2012-03-08 11:06:53
【问题描述】:

我正在寻找一种方法来反编译由 Google Closure 编译的 JavaScript。我确实找到了一个 Decompiler 类 (https://code.google.com/p/closure-compiler/source/browse/lib/rhino/src/org/mozilla/javascript/Decompiler.java?name=v20140407),但是我运气不佳。

有人试过这个或者知道其他方法吗?

【问题讨论】:

  • 我假设您正在尝试对已在高级模式下编译的代码进行逆向工程。这将证明非常困难,因为重写和优化可能非常广泛。混淆是使用高级模式的主要好处之一,所以你可能在这里不走运。通过使用高级模式,源代码的作者可以获得混淆的好处——这意味着防止您(读者)对其进行逆向工程。

标签: decompiling google-closure-compiler google-closure decompiler


【解决方案1】:

通常,我只是在 WHITESPACE 模式下通过 Closure Compiler 运行代码并启用漂亮的打印选项。

【讨论】:

  • 是的,这在编译源代码时可能会起作用,但如果它已经编译,那对我有什么帮助吗?
  • 我建议你试试看。除了漂亮的格式化输出之外,您还在寻找什么?
  • 我正在寻找一种反编译JS代码的方法。所以,想象一下我使用 Closure 最小化/压缩/编译了一个 JS 文件。现在我想拿走那个文件并撤消 CLosure 对它所做的事情。这就是我想要做的。
  • 该过程是有损的,因此您无法从结果中取回原始文件:cmets 被删除,死代码被删除,变量被重命名,常量被折叠。你能做的最好的事情就是让代码看起来更易读,从而得到漂亮的打印建议。如果您最初编译了代码,您可以保存源映射或重命名映射并生成更接近原始的内容,但随后可以很容易地保存原始文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多